
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
	//	System.out.println("?????£??????????????????????????????????????????-?????\???");

		List<String> list = new ArrayList<String>();

		while(sc.hasNext()) {


			String strCards = sc.nextLine();
			String[] arrayCards = new String[strCards.length()];

			if(strCards.equals("-")) {
		//		System.out.println("???????????????");
				break;
			}else {

				//??????????????\??????????????´??????????§£??????????´??????????
				for(int i = 0; i < strCards.length(); i++) {
					arrayCards[i] = strCards.substring(i, i+1);
				}

		//		for(String s : arrayCards) {
		//			System.out.println("?????£???????????? : "+s);
		//		}

				//???????????£???????????????????±???????
		//		System.out.println("???????????£?????????????????????");

				String strH = sc.nextLine();
				int intH = Integer.parseInt(strH);

				//int intH = sc.nextInt();
				for(int i = 0; i < intH; i++) {
		//			System.out.println("?????£?????????"+ (i+1) +"??????");
		//			System.out.println("?????????h??????????????????????????£?????????????????????");


					String strInputNum = sc.nextLine();
					int inputNum = Integer.parseInt(strInputNum);

					//int inputNum = sc.nextInt();
					arrayCards = shuffle(inputNum, strCards, arrayCards);
				}

		//		System.out.println("?????£???????????????");


			//	for(String s : arrayCards) {
			//		System.out.println("?????£???????????? : "+s);
			//	}

				StringBuffer buf = new StringBuffer();

				for(int i = 0; i < arrayCards.length; i++) {
					buf.append(arrayCards[i]);
				}
				//?????£??????????????????????????????????????????
				String strBuf = buf.toString();

				list.add(strBuf);

		//		System.out.println("??°?????????????????§?????£??????????????????????????????????????????-?????\???");

			}
		}

		for(String s : list) {
			System.out.println(s);
		}

	}

	public static String[] shuffle(int intH, String strCards, String[] arrayCards) {

		String[] arrayOkibaBack = new String[intH];

		int aOFYousosu =  strCards.length() - intH;
		String[] arrayOkibaFront = new String[aOFYousosu];

		//????????????????????????????????????
		for(int i = 0; i < intH; i++) {
			arrayOkibaBack[i] = arrayCards[i];
		}

		//????????????????????????????????????
		int Count = 0;
		for(int i = intH; i < strCards.length();i++) {
			arrayOkibaFront[Count] = arrayCards[i];
			Count++;
		}
		//?????£???????????????????????????????????\????????????
		for(int i = 0; i < strCards.length(); i++) {
			if(i < arrayOkibaFront.length) {
				arrayCards[i] = arrayOkibaFront[i];
			}
			else {
				arrayCards[i] = arrayOkibaBack[i - (arrayOkibaFront.length)];
			}
		}

		return arrayCards;

	}
} import java.util.ArrayList; ArrayList java.util import java.util.List; List java.util import java.util.Scanner; Scanner java.util public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
	//	System.out.println("?????£??????????????????????????????????????????-?????\???");

		List<String> list = new ArrayList<String>();

		while(sc.hasNext()) {


			String strCards = sc.nextLine();
			String[] arrayCards = new String[strCards.length()];

			if(strCards.equals("-")) {
		//		System.out.println("???????????????");
				break;
			}else {

				//??????????????\??????????????´??????????§£??????????´??????????
				for(int i = 0; i < strCards.length(); i++) {
					arrayCards[i] = strCards.substring(i, i+1);
				}

		//		for(String s : arrayCards) {
		//			System.out.println("?????£???????????? : "+s);
		//		}

				//???????????£???????????????????±???????
		//		System.out.println("???????????£?????????????????????");

				String strH = sc.nextLine();
				int intH = Integer.parseInt(strH);

				//int intH = sc.nextInt();
				for(int i = 0; i < intH; i++) {
		//			System.out.println("?????£?????????"+ (i+1) +"??????");
		//			System.out.println("?????????h??????????????????????????£?????????????????????");


					String strInputNum = sc.nextLine();
					int inputNum = Integer.parseInt(strInputNum);

					//int inputNum = sc.nextInt();
					arrayCards = shuffle(inputNum, strCards, arrayCards);
				}

		//		System.out.println("?????£???????????????");


			//	for(String s : arrayCards) {
			//		System.out.println("?????£???????????? : "+s);
			//	}

				StringBuffer buf = new StringBuffer();

				for(int i = 0; i < arrayCards.length; i++) {
					buf.append(arrayCards[i]);
				}
				//?????£??????????????????????????????????????????
				String strBuf = buf.toString();

				list.add(strBuf);

		//		System.out.println("??°?????????????????§?????£??????????????????????????????????????????-?????\???");

			}
		}

		for(String s : list) {
			System.out.println(s);
		}

	}

	public static String[] shuffle(int intH, String strCards, String[] arrayCards) {

		String[] arrayOkibaBack = new String[intH];

		int aOFYousosu =  strCards.length() - intH;
		String[] arrayOkibaFront = new String[aOFYousosu];

		//????????????????????????????????????
		for(int i = 0; i < intH; i++) {
			arrayOkibaBack[i] = arrayCards[i];
		}

		//????????????????????????????????????
		int Count = 0;
		for(int i = intH; i < strCards.length();i++) {
			arrayOkibaFront[Count] = arrayCards[i];
			Count++;
		}
		//?????£???????????????????????????????????\????????????
		for(int i = 0; i < strCards.length(); i++) {
			if(i < arrayOkibaFront.length) {
				arrayCards[i] = arrayOkibaFront[i];
			}
			else {
				arrayCards[i] = arrayOkibaBack[i - (arrayOkibaFront.length)];
			}
		}

		return arrayCards;

	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
	//	System.out.println("?????£??????????????????????????????????????????-?????\???");

		List<String> list = new ArrayList<String>();

		while(sc.hasNext()) {


			String strCards = sc.nextLine();
			String[] arrayCards = new String[strCards.length()];

			if(strCards.equals("-")) {
		//		System.out.println("???????????????");
				break;
			}else {

				//??????????????\??????????????´??????????§£??????????´??????????
				for(int i = 0; i < strCards.length(); i++) {
					arrayCards[i] = strCards.substring(i, i+1);
				}

		//		for(String s : arrayCards) {
		//			System.out.println("?????£???????????? : "+s);
		//		}

				//???????????£???????????????????±???????
		//		System.out.println("???????????£?????????????????????");

				String strH = sc.nextLine();
				int intH = Integer.parseInt(strH);

				//int intH = sc.nextInt();
				for(int i = 0; i < intH; i++) {
		//			System.out.println("?????£?????????"+ (i+1) +"??????");
		//			System.out.println("?????????h??????????????????????????£?????????????????????");


					String strInputNum = sc.nextLine();
					int inputNum = Integer.parseInt(strInputNum);

					//int inputNum = sc.nextInt();
					arrayCards = shuffle(inputNum, strCards, arrayCards);
				}

		//		System.out.println("?????£???????????????");


			//	for(String s : arrayCards) {
			//		System.out.println("?????£???????????? : "+s);
			//	}

				StringBuffer buf = new StringBuffer();

				for(int i = 0; i < arrayCards.length; i++) {
					buf.append(arrayCards[i]);
				}
				//?????£??????????????????????????????????????????
				String strBuf = buf.toString();

				list.add(strBuf);

		//		System.out.println("??°?????????????????§?????£??????????????????????????????????????????-?????\???");

			}
		}

		for(String s : list) {
			System.out.println(s);
		}

	} main {
		Scanner sc = new Scanner(System.in);
	//	System.out.println("?????£??????????????????????????????????????????-?????\???");

		List<String> list = new ArrayList<String>();

		while(sc.hasNext()) {


			String strCards = sc.nextLine();
			String[] arrayCards = new String[strCards.length()];

			if(strCards.equals("-")) {
		//		System.out.println("???????????????");
				break;
			}else {

				//??????????????\??????????????´??????????§£??????????´??????????
				for(int i = 0; i < strCards.length(); i++) {
					arrayCards[i] = strCards.substring(i, i+1);
				}

		//		for(String s : arrayCards) {
		//			System.out.println("?????£???????????? : "+s);
		//		}

				//???????????£???????????????????±???????
		//		System.out.println("???????????£?????????????????????");

				String strH = sc.nextLine();
				int intH = Integer.parseInt(strH);

				//int intH = sc.nextInt();
				for(int i = 0; i < intH; i++) {
		//			System.out.println("?????£?????????"+ (i+1) +"??????");
		//			System.out.println("?????????h??????????????????????????£?????????????????????");


					String strInputNum = sc.nextLine();
					int inputNum = Integer.parseInt(strInputNum);

					//int inputNum = sc.nextInt();
					arrayCards = shuffle(inputNum, strCards, arrayCards);
				}

		//		System.out.println("?????£???????????????");


			//	for(String s : arrayCards) {
			//		System.out.println("?????£???????????? : "+s);
			//	}

				StringBuffer buf = new StringBuffer();

				for(int i = 0; i < arrayCards.length; i++) {
					buf.append(arrayCards[i]);
				}
				//?????£??????????????????????????????????????????
				String strBuf = buf.toString();

				list.add(strBuf);

		//		System.out.println("??°?????????????????§?????£??????????????????????????????????????????-?????\???");

			}
		}

		for(String s : list) {
			System.out.println(s);
		}

	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) List<String> list = new ArrayList<String>(); list new ArrayList<String>() while(sc.hasNext()) {


			String strCards = sc.nextLine();
			String[] arrayCards = new String[strCards.length()];

			if(strCards.equals("-")) {
		//		System.out.println("???????????????");
				break;
			}else {

				//??????????????\??????????????´??????????§£??????????´??????????
				for(int i = 0; i < strCards.length(); i++) {
					arrayCards[i] = strCards.substring(i, i+1);
				}

		//		for(String s : arrayCards) {
		//			System.out.println("?????£???????????? : "+s);
		//		}

				//???????????£???????????????????±???????
		//		System.out.println("???????????£?????????????????????");

				String strH = sc.nextLine();
				int intH = Integer.parseInt(strH);

				//int intH = sc.nextInt();
				for(int i = 0; i < intH; i++) {
		//			System.out.println("?????£?????????"+ (i+1) +"??????");
		//			System.out.println("?????????h??????????????????????????£?????????????????????");


					String strInputNum = sc.nextLine();
					int inputNum = Integer.parseInt(strInputNum);

					//int inputNum = sc.nextInt();
					arrayCards = shuffle(inputNum, strCards, arrayCards);
				}

		//		System.out.println("?????£???????????????");


			//	for(String s : arrayCards) {
			//		System.out.println("?????£???????????? : "+s);
			//	}

				StringBuffer buf = new StringBuffer();

				for(int i = 0; i < arrayCards.length; i++) {
					buf.append(arrayCards[i]);
				}
				//?????£??????????????????????????????????????????
				String strBuf = buf.toString();

				list.add(strBuf);

		//		System.out.println("??°?????????????????§?????£??????????????????????????????????????????-?????\???");

			}
		} sc.hasNext() sc.hasNext sc {


			String strCards = sc.nextLine();
			String[] arrayCards = new String[strCards.length()];

			if(strCards.equals("-")) {
		//		System.out.println("???????????????");
				break;
			}else {

				//??????????????\??????????????´??????????§£??????????´??????????
				for(int i = 0; i < strCards.length(); i++) {
					arrayCards[i] = strCards.substring(i, i+1);
				}

		//		for(String s : arrayCards) {
		//			System.out.println("?????£???????????? : "+s);
		//		}

				//???????????£???????????????????±???????
		//		System.out.println("???????????£?????????????????????");

				String strH = sc.nextLine();
				int intH = Integer.parseInt(strH);

				//int intH = sc.nextInt();
				for(int i = 0; i < intH; i++) {
		//			System.out.println("?????£?????????"+ (i+1) +"??????");
		//			System.out.println("?????????h??????????????????????????£?????????????????????");


					String strInputNum = sc.nextLine();
					int inputNum = Integer.parseInt(strInputNum);

					//int inputNum = sc.nextInt();
					arrayCards = shuffle(inputNum, strCards, arrayCards);
				}

		//		System.out.println("?????£???????????????");


			//	for(String s : arrayCards) {
			//		System.out.println("?????£???????????? : "+s);
			//	}

				StringBuffer buf = new StringBuffer();

				for(int i = 0; i < arrayCards.length; i++) {
					buf.append(arrayCards[i]);
				}
				//?????£??????????????????????????????????????????
				String strBuf = buf.toString();

				list.add(strBuf);

		//		System.out.println("??°?????????????????§?????£??????????????????????????????????????????-?????\???");

			}
		} String strCards = sc.nextLine(); strCards sc.nextLine() sc.nextLine sc String[] arrayCards = new String[strCards.length()]; arrayCards new String[strCards.length()] strCards.length() strCards.length strCards if(strCards.equals("-")) {
		//		System.out.println("???????????????");
				break;
			}else {

				//??????????????\??????????????´??????????§£??????????´??????????
				for(int i = 0; i < strCards.length(); i++) {
					arrayCards[i] = strCards.substring(i, i+1);
				}

		//		for(String s : arrayCards) {
		//			System.out.println("?????£???????????? : "+s);
		//		}

				//???????????£???????????????????±???????
		//		System.out.println("???????????£?????????????????????");

				String strH = sc.nextLine();
				int intH = Integer.parseInt(strH);

				//int intH = sc.nextInt();
				for(int i = 0; i < intH; i++) {
		//			System.out.println("?????£?????????"+ (i+1) +"??????");
		//			System.out.println("?????????h??????????????????????????£?????????????????????");


					String strInputNum = sc.nextLine();
					int inputNum = Integer.parseInt(strInputNum);

					//int inputNum = sc.nextInt();
					arrayCards = shuffle(inputNum, strCards, arrayCards);
				}

		//		System.out.println("?????£???????????????");


			//	for(String s : arrayCards) {
			//		System.out.println("?????£???????????? : "+s);
			//	}

				StringBuffer buf = new StringBuffer();

				for(int i = 0; i < arrayCards.length; i++) {
					buf.append(arrayCards[i]);
				}
				//?????£??????????????????????????????????????????
				String strBuf = buf.toString();

				list.add(strBuf);

		//		System.out.println("??°?????????????????§?????£??????????????????????????????????????????-?????\???");

			} strCards.equals("-") strCards.equals strCards "-" {
		//		System.out.println("???????????????");
				break;
			} break; {

				//??????????????\??????????????´??????????§£??????????´??????????
				for(int i = 0; i < strCards.length(); i++) {
					arrayCards[i] = strCards.substring(i, i+1);
				}

		//		for(String s : arrayCards) {
		//			System.out.println("?????£???????????? : "+s);
		//		}

				//???????????£???????????????????±???????
		//		System.out.println("???????????£?????????????????????");

				String strH = sc.nextLine();
				int intH = Integer.parseInt(strH);

				//int intH = sc.nextInt();
				for(int i = 0; i < intH; i++) {
		//			System.out.println("?????£?????????"+ (i+1) +"??????");
		//			System.out.println("?????????h??????????????????????????£?????????????????????");


					String strInputNum = sc.nextLine();
					int inputNum = Integer.parseInt(strInputNum);

					//int inputNum = sc.nextInt();
					arrayCards = shuffle(inputNum, strCards, arrayCards);
				}

		//		System.out.println("?????£???????????????");


			//	for(String s : arrayCards) {
			//		System.out.println("?????£???????????? : "+s);
			//	}

				StringBuffer buf = new StringBuffer();

				for(int i = 0; i < arrayCards.length; i++) {
					buf.append(arrayCards[i]);
				}
				//?????£??????????????????????????????????????????
				String strBuf = buf.toString();

				list.add(strBuf);

		//		System.out.println("??°?????????????????§?????£??????????????????????????????????????????-?????\???");

			} for(int i = 0; i < strCards.length(); i++) {
					arrayCards[i] = strCards.substring(i, i+1);
				} int i = 0; int i = 0; i 0 i < strCards.length() i strCards.length() strCards.length strCards i++ i++ i {
					arrayCards[i] = strCards.substring(i, i+1);
				} {
					arrayCards[i] = strCards.substring(i, i+1);
				} arrayCards[i] = strCards.substring(i, i+1) arrayCards[i] arrayCards i strCards.substring(i, i+1) strCards.substring strCards i i+1 i 1 String strH = sc.nextLine(); strH sc.nextLine() sc.nextLine sc int intH = Integer.parseInt(strH); intH Integer.parseInt(strH) Integer.parseInt Integer strH for(int i = 0; i < intH; i++) {
		//			System.out.println("?????£?????????"+ (i+1) +"??????");
		//			System.out.println("?????????h??????????????????????????£?????????????????????");


					String strInputNum = sc.nextLine();
					int inputNum = Integer.parseInt(strInputNum);

					//int inputNum = sc.nextInt();
					arrayCards = shuffle(inputNum, strCards, arrayCards);
				} int i = 0; int i = 0; i 0 i < intH i intH i++ i++ i {
		//			System.out.println("?????£?????????"+ (i+1) +"??????");
		//			System.out.println("?????????h??????????????????????????£?????????????????????");


					String strInputNum = sc.nextLine();
					int inputNum = Integer.parseInt(strInputNum);

					//int inputNum = sc.nextInt();
					arrayCards = shuffle(inputNum, strCards, arrayCards);
				} {
		//			System.out.println("?????£?????????"+ (i+1) +"??????");
		//			System.out.println("?????????h??????????????????????????£?????????????????????");


					String strInputNum = sc.nextLine();
					int inputNum = Integer.parseInt(strInputNum);

					//int inputNum = sc.nextInt();
					arrayCards = shuffle(inputNum, strCards, arrayCards);
				} String strInputNum = sc.nextLine(); strInputNum sc.nextLine() sc.nextLine sc int inputNum = Integer.parseInt(strInputNum); inputNum Integer.parseInt(strInputNum) Integer.parseInt Integer strInputNum arrayCards = shuffle(inputNum, strCards, arrayCards) arrayCards shuffle(inputNum, strCards, arrayCards) shuffle inputNum strCards arrayCards StringBuffer buf = new StringBuffer(); buf new StringBuffer() for(int i = 0; i < arrayCards.length; i++) {
					buf.append(arrayCards[i]);
				} int i = 0; int i = 0; i 0 i < arrayCards.length i arrayCards.length arrayCards arrayCards.length i++ i++ i {
					buf.append(arrayCards[i]);
				} {
					buf.append(arrayCards[i]);
				} buf.append(arrayCards[i]) buf.append buf arrayCards[i] arrayCards i String strBuf = buf.toString(); strBuf buf.toString() buf.toString buf list.add(strBuf) list.add list strBuf for(String s : list) {
			System.out.println(s);
		} String s list {
			System.out.println(s);
		} {
			System.out.println(s);
		} System.out.println(s) System.out.println System.out System System.out s String[] args args public static String[] shuffle(int intH, String strCards, String[] arrayCards) {

		String[] arrayOkibaBack = new String[intH];

		int aOFYousosu =  strCards.length() - intH;
		String[] arrayOkibaFront = new String[aOFYousosu];

		//????????????????????????????????????
		for(int i = 0; i < intH; i++) {
			arrayOkibaBack[i] = arrayCards[i];
		}

		//????????????????????????????????????
		int Count = 0;
		for(int i = intH; i < strCards.length();i++) {
			arrayOkibaFront[Count] = arrayCards[i];
			Count++;
		}
		//?????£???????????????????????????????????\????????????
		for(int i = 0; i < strCards.length(); i++) {
			if(i < arrayOkibaFront.length) {
				arrayCards[i] = arrayOkibaFront[i];
			}
			else {
				arrayCards[i] = arrayOkibaBack[i - (arrayOkibaFront.length)];
			}
		}

		return arrayCards;

	} shuffle {

		String[] arrayOkibaBack = new String[intH];

		int aOFYousosu =  strCards.length() - intH;
		String[] arrayOkibaFront = new String[aOFYousosu];

		//????????????????????????????????????
		for(int i = 0; i < intH; i++) {
			arrayOkibaBack[i] = arrayCards[i];
		}

		//????????????????????????????????????
		int Count = 0;
		for(int i = intH; i < strCards.length();i++) {
			arrayOkibaFront[Count] = arrayCards[i];
			Count++;
		}
		//?????£???????????????????????????????????\????????????
		for(int i = 0; i < strCards.length(); i++) {
			if(i < arrayOkibaFront.length) {
				arrayCards[i] = arrayOkibaFront[i];
			}
			else {
				arrayCards[i] = arrayOkibaBack[i - (arrayOkibaFront.length)];
			}
		}

		return arrayCards;

	} String[] arrayOkibaBack = new String[intH]; arrayOkibaBack new String[intH] intH int aOFYousosu =  strCards.length() - intH; aOFYousosu strCards.length() - intH strCards.length() strCards.length strCards intH String[] arrayOkibaFront = new String[aOFYousosu]; arrayOkibaFront new String[aOFYousosu] aOFYousosu for(int i = 0; i < intH; i++) {
			arrayOkibaBack[i] = arrayCards[i];
		} int i = 0; int i = 0; i 0 i < intH i intH i++ i++ i {
			arrayOkibaBack[i] = arrayCards[i];
		} {
			arrayOkibaBack[i] = arrayCards[i];
		} arrayOkibaBack[i] = arrayCards[i] arrayOkibaBack[i] arrayOkibaBack i arrayCards[i] arrayCards i int Count = 0; Count 0 for(int i = intH; i < strCards.length();i++) {
			arrayOkibaFront[Count] = arrayCards[i];
			Count++;
		} int i = intH; int i = intH; i intH i < strCards.length() i strCards.length() strCards.length strCards i++ i++ i {
			arrayOkibaFront[Count] = arrayCards[i];
			Count++;
		} {
			arrayOkibaFront[Count] = arrayCards[i];
			Count++;
		} arrayOkibaFront[Count] = arrayCards[i] arrayOkibaFront[Count] arrayOkibaFront Count arrayCards[i] arrayCards i Count++ Count for(int i = 0; i < strCards.length(); i++) {
			if(i < arrayOkibaFront.length) {
				arrayCards[i] = arrayOkibaFront[i];
			}
			else {
				arrayCards[i] = arrayOkibaBack[i - (arrayOkibaFront.length)];
			}
		} int i = 0; int i = 0; i 0 i < strCards.length() i strCards.length() strCards.length strCards i++ i++ i {
			if(i < arrayOkibaFront.length) {
				arrayCards[i] = arrayOkibaFront[i];
			}
			else {
				arrayCards[i] = arrayOkibaBack[i - (arrayOkibaFront.length)];
			}
		} {
			if(i < arrayOkibaFront.length) {
				arrayCards[i] = arrayOkibaFront[i];
			}
			else {
				arrayCards[i] = arrayOkibaBack[i - (arrayOkibaFront.length)];
			}
		} if(i < arrayOkibaFront.length) {
				arrayCards[i] = arrayOkibaFront[i];
			}
			else {
				arrayCards[i] = arrayOkibaBack[i - (arrayOkibaFront.length)];
			} i < arrayOkibaFront.length i arrayOkibaFront.length arrayOkibaFront arrayOkibaFront.length {
				arrayCards[i] = arrayOkibaFront[i];
			} arrayCards[i] = arrayOkibaFront[i] arrayCards[i] arrayCards i arrayOkibaFront[i] arrayOkibaFront i {
				arrayCards[i] = arrayOkibaBack[i - (arrayOkibaFront.length)];
			} arrayCards[i] = arrayOkibaBack[i - (arrayOkibaFront.length)] arrayCards[i] arrayCards i arrayOkibaBack[i - (arrayOkibaFront.length)] arrayOkibaBack i - (arrayOkibaFront.length) i (arrayOkibaFront.length) arrayOkibaFront arrayOkibaFront.length return arrayCards; arrayCards int intH intH String strCards strCards String[] arrayCards arrayCards public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
	//	System.out.println("?????£??????????????????????????????????????????-?????\???");

		List<String> list = new ArrayList<String>();

		while(sc.hasNext()) {


			String strCards = sc.nextLine();
			String[] arrayCards = new String[strCards.length()];

			if(strCards.equals("-")) {
		//		System.out.println("???????????????");
				break;
			}else {

				//??????????????\??????????????´??????????§£??????????´??????????
				for(int i = 0; i < strCards.length(); i++) {
					arrayCards[i] = strCards.substring(i, i+1);
				}

		//		for(String s : arrayCards) {
		//			System.out.println("?????£???????????? : "+s);
		//		}

				//???????????£???????????????????±???????
		//		System.out.println("???????????£?????????????????????");

				String strH = sc.nextLine();
				int intH = Integer.parseInt(strH);

				//int intH = sc.nextInt();
				for(int i = 0; i < intH; i++) {
		//			System.out.println("?????£?????????"+ (i+1) +"??????");
		//			System.out.println("?????????h??????????????????????????£?????????????????????");


					String strInputNum = sc.nextLine();
					int inputNum = Integer.parseInt(strInputNum);

					//int inputNum = sc.nextInt();
					arrayCards = shuffle(inputNum, strCards, arrayCards);
				}

		//		System.out.println("?????£???????????????");


			//	for(String s : arrayCards) {
			//		System.out.println("?????£???????????? : "+s);
			//	}

				StringBuffer buf = new StringBuffer();

				for(int i = 0; i < arrayCards.length; i++) {
					buf.append(arrayCards[i]);
				}
				//?????£??????????????????????????????????????????
				String strBuf = buf.toString();

				list.add(strBuf);

		//		System.out.println("??°?????????????????§?????£??????????????????????????????????????????-?????\???");

			}
		}

		for(String s : list) {
			System.out.println(s);
		}

	}

	public static String[] shuffle(int intH, String strCards, String[] arrayCards) {

		String[] arrayOkibaBack = new String[intH];

		int aOFYousosu =  strCards.length() - intH;
		String[] arrayOkibaFront = new String[aOFYousosu];

		//????????????????????????????????????
		for(int i = 0; i < intH; i++) {
			arrayOkibaBack[i] = arrayCards[i];
		}

		//????????????????????????????????????
		int Count = 0;
		for(int i = intH; i < strCards.length();i++) {
			arrayOkibaFront[Count] = arrayCards[i];
			Count++;
		}
		//?????£???????????????????????????????????\????????????
		for(int i = 0; i < strCards.length(); i++) {
			if(i < arrayOkibaFront.length) {
				arrayCards[i] = arrayOkibaFront[i];
			}
			else {
				arrayCards[i] = arrayOkibaBack[i - (arrayOkibaFront.length)];
			}
		}

		return arrayCards;

	}
} public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
	//	System.out.println("?????£??????????????????????????????????????????-?????\???");

		List<String> list = new ArrayList<String>();

		while(sc.hasNext()) {


			String strCards = sc.nextLine();
			String[] arrayCards = new String[strCards.length()];

			if(strCards.equals("-")) {
		//		System.out.println("???????????????");
				break;
			}else {

				//??????????????\??????????????´??????????§£??????????´??????????
				for(int i = 0; i < strCards.length(); i++) {
					arrayCards[i] = strCards.substring(i, i+1);
				}

		//		for(String s : arrayCards) {
		//			System.out.println("?????£???????????? : "+s);
		//		}

				//???????????£???????????????????±???????
		//		System.out.println("???????????£?????????????????????");

				String strH = sc.nextLine();
				int intH = Integer.parseInt(strH);

				//int intH = sc.nextInt();
				for(int i = 0; i < intH; i++) {
		//			System.out.println("?????£?????????"+ (i+1) +"??????");
		//			System.out.println("?????????h??????????????????????????£?????????????????????");


					String strInputNum = sc.nextLine();
					int inputNum = Integer.parseInt(strInputNum);

					//int inputNum = sc.nextInt();
					arrayCards = shuffle(inputNum, strCards, arrayCards);
				}

		//		System.out.println("?????£???????????????");


			//	for(String s : arrayCards) {
			//		System.out.println("?????£???????????? : "+s);
			//	}

				StringBuffer buf = new StringBuffer();

				for(int i = 0; i < arrayCards.length; i++) {
					buf.append(arrayCards[i]);
				}
				//?????£??????????????????????????????????????????
				String strBuf = buf.toString();

				list.add(strBuf);

		//		System.out.println("??°?????????????????§?????£??????????????????????????????????????????-?????\???");

			}
		}

		for(String s : list) {
			System.out.println(s);
		}

	}

	public static String[] shuffle(int intH, String strCards, String[] arrayCards) {

		String[] arrayOkibaBack = new String[intH];

		int aOFYousosu =  strCards.length() - intH;
		String[] arrayOkibaFront = new String[aOFYousosu];

		//????????????????????????????????????
		for(int i = 0; i < intH; i++) {
			arrayOkibaBack[i] = arrayCards[i];
		}

		//????????????????????????????????????
		int Count = 0;
		for(int i = intH; i < strCards.length();i++) {
			arrayOkibaFront[Count] = arrayCards[i];
			Count++;
		}
		//?????£???????????????????????????????????\????????????
		for(int i = 0; i < strCards.length(); i++) {
			if(i < arrayOkibaFront.length) {
				arrayCards[i] = arrayOkibaFront[i];
			}
			else {
				arrayCards[i] = arrayOkibaBack[i - (arrayOkibaFront.length)];
			}
		}

		return arrayCards;

	}
} Main

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
	//	System.out.println("?????£??????????????????????????????????????????-?????\???");

		List<String> list = new ArrayList<String>();

		while(sc.hasNext()) {


			String strCards = sc.nextLine();
			String[] arrayCards = new String[strCards.length()];

			if(strCards.equals("-")) {
		//		System.out.println("???????????????");
				break;
			}else {

				//??????????????\??????????????´??????????§£??????????´??????????
				for(int i = 0; i < strCards.length(); i++) {
					arrayCards[i] = strCards.substring(i, i+1);
				}

		//		for(String s : arrayCards) {
		//			System.out.println("?????£???????????? : "+s);
		//		}

				//???????????£???????????????????±???????
		//		System.out.println("???????????£?????????????????????");

				String strH = sc.nextLine();
				int intH = Integer.parseInt(strH);

				//int intH = sc.nextInt();
				for(int i = 0; i < intH; i++) {
		//			System.out.println("?????£?????????"+ (i+1) +"??????");
		//			System.out.println("?????????h??????????????????????????£?????????????????????");


					String strInputNum = sc.nextLine();
					int inputNum = Integer.parseInt(strInputNum);

					//int inputNum = sc.nextInt();
					arrayCards = shuffle(inputNum, strCards, arrayCards);
				}

		//		System.out.println("?????£???????????????");


			//	for(String s : arrayCards) {
			//		System.out.println("?????£???????????? : "+s);
			//	}

				StringBuffer buf = new StringBuffer();

				for(int i = 0; i < arrayCards.length; i++) {
					buf.append(arrayCards[i]);
				}
				//?????£??????????????????????????????????????????
				String strBuf = buf.toString();

				list.add(strBuf);

		//		System.out.println("??°?????????????????§?????£??????????????????????????????????????????-?????\???");

			}
		}

		for(String s : list) {
			System.out.println(s);
		}

	}

	public static String[] shuffle(int intH, String strCards, String[] arrayCards) {

		String[] arrayOkibaBack = new String[intH];

		int aOFYousosu =  strCards.length() - intH;
		String[] arrayOkibaFront = new String[aOFYousosu];

		//????????????????????????????????????
		for(int i = 0; i < intH; i++) {
			arrayOkibaBack[i] = arrayCards[i];
		}

		//????????????????????????????????????
		int Count = 0;
		for(int i = intH; i < strCards.length();i++) {
			arrayOkibaFront[Count] = arrayCards[i];
			Count++;
		}
		//?????£???????????????????????????????????\????????????
		for(int i = 0; i < strCards.length(); i++) {
			if(i < arrayOkibaFront.length) {
				arrayCards[i] = arrayOkibaFront[i];
			}
			else {
				arrayCards[i] = arrayOkibaBack[i - (arrayOkibaFront.length)];
			}
		}

		return arrayCards;

	}
}