

import java.util.Scanner;

public class Main{

	public static void main(String args[]) {

		//
		String sentence = "";
		int shuffle_times = 0;
		int shuffle_number = 0;
		StringBuffer input_sentence = null;
		String out = "";
		StringBuffer out_all = new StringBuffer(out);

		//
		Scanner sc = new Scanner(System.in);

		while (sc.hasNext()) {

			// 入力文字列
			sentence = sc.next();
			//入力文字列が_の場合は
			if(sentence.equals("-"))
			break;
			
			//
			input_sentence = new StringBuffer(sentence);
			// シャッフルする回数
			shuffle_times = sc.nextInt();

			while (sc.hasNext()) {
				// シャッフル枚数
				for (int i = 0; i < shuffle_times; i++) {

					//
					shuffle_number = sc.nextInt();
					// シャッフルしてカードの上に移動するものを、取ってくる
					StringBuffer add_sentence = new StringBuffer(
							input_sentence.substring(0, (shuffle_number)));
					// 上に移動するカードを元のカード列から削除
					input_sentence = input_sentence.delete(0,(shuffle_number));
					//シャッフルしたあとカード列
					input_sentence = add_sentence.insert(0, input_sentence);

				}
				out_all = out_all.append(input_sentence+"\n");
				break;
			}

		}
		System.out.print(out_all);
	}

} import java.util.Scanner; Scanner java.util public class Main{

	public static void main(String args[]) {

		//
		String sentence = "";
		int shuffle_times = 0;
		int shuffle_number = 0;
		StringBuffer input_sentence = null;
		String out = "";
		StringBuffer out_all = new StringBuffer(out);

		//
		Scanner sc = new Scanner(System.in);

		while (sc.hasNext()) {

			// 入力文字列
			sentence = sc.next();
			//入力文字列が_の場合は
			if(sentence.equals("-"))
			break;
			
			//
			input_sentence = new StringBuffer(sentence);
			// シャッフルする回数
			shuffle_times = sc.nextInt();

			while (sc.hasNext()) {
				// シャッフル枚数
				for (int i = 0; i < shuffle_times; i++) {

					//
					shuffle_number = sc.nextInt();
					// シャッフルしてカードの上に移動するものを、取ってくる
					StringBuffer add_sentence = new StringBuffer(
							input_sentence.substring(0, (shuffle_number)));
					// 上に移動するカードを元のカード列から削除
					input_sentence = input_sentence.delete(0,(shuffle_number));
					//シャッフルしたあとカード列
					input_sentence = add_sentence.insert(0, input_sentence);

				}
				out_all = out_all.append(input_sentence+"\n");
				break;
			}

		}
		System.out.print(out_all);
	}

} Main public static void main(String args[]) {

		//
		String sentence = "";
		int shuffle_times = 0;
		int shuffle_number = 0;
		StringBuffer input_sentence = null;
		String out = "";
		StringBuffer out_all = new StringBuffer(out);

		//
		Scanner sc = new Scanner(System.in);

		while (sc.hasNext()) {

			// 入力文字列
			sentence = sc.next();
			//入力文字列が_の場合は
			if(sentence.equals("-"))
			break;
			
			//
			input_sentence = new StringBuffer(sentence);
			// シャッフルする回数
			shuffle_times = sc.nextInt();

			while (sc.hasNext()) {
				// シャッフル枚数
				for (int i = 0; i < shuffle_times; i++) {

					//
					shuffle_number = sc.nextInt();
					// シャッフルしてカードの上に移動するものを、取ってくる
					StringBuffer add_sentence = new StringBuffer(
							input_sentence.substring(0, (shuffle_number)));
					// 上に移動するカードを元のカード列から削除
					input_sentence = input_sentence.delete(0,(shuffle_number));
					//シャッフルしたあとカード列
					input_sentence = add_sentence.insert(0, input_sentence);

				}
				out_all = out_all.append(input_sentence+"\n");
				break;
			}

		}
		System.out.print(out_all);
	} main {

		//
		String sentence = "";
		int shuffle_times = 0;
		int shuffle_number = 0;
		StringBuffer input_sentence = null;
		String out = "";
		StringBuffer out_all = new StringBuffer(out);

		//
		Scanner sc = new Scanner(System.in);

		while (sc.hasNext()) {

			// 入力文字列
			sentence = sc.next();
			//入力文字列が_の場合は
			if(sentence.equals("-"))
			break;
			
			//
			input_sentence = new StringBuffer(sentence);
			// シャッフルする回数
			shuffle_times = sc.nextInt();

			while (sc.hasNext()) {
				// シャッフル枚数
				for (int i = 0; i < shuffle_times; i++) {

					//
					shuffle_number = sc.nextInt();
					// シャッフルしてカードの上に移動するものを、取ってくる
					StringBuffer add_sentence = new StringBuffer(
							input_sentence.substring(0, (shuffle_number)));
					// 上に移動するカードを元のカード列から削除
					input_sentence = input_sentence.delete(0,(shuffle_number));
					//シャッフルしたあとカード列
					input_sentence = add_sentence.insert(0, input_sentence);

				}
				out_all = out_all.append(input_sentence+"\n");
				break;
			}

		}
		System.out.print(out_all);
	} String sentence = ""; sentence "" int shuffle_times = 0; shuffle_times 0 int shuffle_number = 0; shuffle_number 0 StringBuffer input_sentence = null; input_sentence null String out = ""; out "" StringBuffer out_all = new StringBuffer(out); out_all new StringBuffer(out) Scanner sc = new Scanner(System.in); sc new Scanner(System.in) while (sc.hasNext()) {

			// 入力文字列
			sentence = sc.next();
			//入力文字列が_の場合は
			if(sentence.equals("-"))
			break;
			
			//
			input_sentence = new StringBuffer(sentence);
			// シャッフルする回数
			shuffle_times = sc.nextInt();

			while (sc.hasNext()) {
				// シャッフル枚数
				for (int i = 0; i < shuffle_times; i++) {

					//
					shuffle_number = sc.nextInt();
					// シャッフルしてカードの上に移動するものを、取ってくる
					StringBuffer add_sentence = new StringBuffer(
							input_sentence.substring(0, (shuffle_number)));
					// 上に移動するカードを元のカード列から削除
					input_sentence = input_sentence.delete(0,(shuffle_number));
					//シャッフルしたあとカード列
					input_sentence = add_sentence.insert(0, input_sentence);

				}
				out_all = out_all.append(input_sentence+"\n");
				break;
			}

		} sc.hasNext() sc.hasNext sc {

			// 入力文字列
			sentence = sc.next();
			//入力文字列が_の場合は
			if(sentence.equals("-"))
			break;
			
			//
			input_sentence = new StringBuffer(sentence);
			// シャッフルする回数
			shuffle_times = sc.nextInt();

			while (sc.hasNext()) {
				// シャッフル枚数
				for (int i = 0; i < shuffle_times; i++) {

					//
					shuffle_number = sc.nextInt();
					// シャッフルしてカードの上に移動するものを、取ってくる
					StringBuffer add_sentence = new StringBuffer(
							input_sentence.substring(0, (shuffle_number)));
					// 上に移動するカードを元のカード列から削除
					input_sentence = input_sentence.delete(0,(shuffle_number));
					//シャッフルしたあとカード列
					input_sentence = add_sentence.insert(0, input_sentence);

				}
				out_all = out_all.append(input_sentence+"\n");
				break;
			}

		} sentence = sc.next() sentence sc.next() sc.next sc if(sentence.equals("-"))
			break; sentence.equals("-") sentence.equals sentence "-" break; input_sentence = new StringBuffer(sentence) input_sentence new StringBuffer(sentence) shuffle_times = sc.nextInt() shuffle_times sc.nextInt() sc.nextInt sc while (sc.hasNext()) {
				// シャッフル枚数
				for (int i = 0; i < shuffle_times; i++) {

					//
					shuffle_number = sc.nextInt();
					// シャッフルしてカードの上に移動するものを、取ってくる
					StringBuffer add_sentence = new StringBuffer(
							input_sentence.substring(0, (shuffle_number)));
					// 上に移動するカードを元のカード列から削除
					input_sentence = input_sentence.delete(0,(shuffle_number));
					//シャッフルしたあとカード列
					input_sentence = add_sentence.insert(0, input_sentence);

				}
				out_all = out_all.append(input_sentence+"\n");
				break;
			} sc.hasNext() sc.hasNext sc {
				// シャッフル枚数
				for (int i = 0; i < shuffle_times; i++) {

					//
					shuffle_number = sc.nextInt();
					// シャッフルしてカードの上に移動するものを、取ってくる
					StringBuffer add_sentence = new StringBuffer(
							input_sentence.substring(0, (shuffle_number)));
					// 上に移動するカードを元のカード列から削除
					input_sentence = input_sentence.delete(0,(shuffle_number));
					//シャッフルしたあとカード列
					input_sentence = add_sentence.insert(0, input_sentence);

				}
				out_all = out_all.append(input_sentence+"\n");
				break;
			} for (int i = 0; i < shuffle_times; i++) {

					//
					shuffle_number = sc.nextInt();
					// シャッフルしてカードの上に移動するものを、取ってくる
					StringBuffer add_sentence = new StringBuffer(
							input_sentence.substring(0, (shuffle_number)));
					// 上に移動するカードを元のカード列から削除
					input_sentence = input_sentence.delete(0,(shuffle_number));
					//シャッフルしたあとカード列
					input_sentence = add_sentence.insert(0, input_sentence);

				} int i = 0; int i = 0; i 0 i < shuffle_times i shuffle_times i++ i++ i {

					//
					shuffle_number = sc.nextInt();
					// シャッフルしてカードの上に移動するものを、取ってくる
					StringBuffer add_sentence = new StringBuffer(
							input_sentence.substring(0, (shuffle_number)));
					// 上に移動するカードを元のカード列から削除
					input_sentence = input_sentence.delete(0,(shuffle_number));
					//シャッフルしたあとカード列
					input_sentence = add_sentence.insert(0, input_sentence);

				} {

					//
					shuffle_number = sc.nextInt();
					// シャッフルしてカードの上に移動するものを、取ってくる
					StringBuffer add_sentence = new StringBuffer(
							input_sentence.substring(0, (shuffle_number)));
					// 上に移動するカードを元のカード列から削除
					input_sentence = input_sentence.delete(0,(shuffle_number));
					//シャッフルしたあとカード列
					input_sentence = add_sentence.insert(0, input_sentence);

				} shuffle_number = sc.nextInt() shuffle_number sc.nextInt() sc.nextInt sc StringBuffer add_sentence = new StringBuffer(
							input_sentence.substring(0, (shuffle_number))); add_sentence new StringBuffer(
							input_sentence.substring(0, (shuffle_number))) input_sentence = input_sentence.delete(0,(shuffle_number)) input_sentence input_sentence.delete(0,(shuffle_number)) input_sentence.delete input_sentence 0 (shuffle_number) input_sentence = add_sentence.insert(0, input_sentence) input_sentence add_sentence.insert(0, input_sentence) add_sentence.insert add_sentence 0 input_sentence out_all = out_all.append(input_sentence+"\n") out_all out_all.append(input_sentence+"\n") out_all.append out_all input_sentence+"\n" input_sentence "\n" break; System.out.print(out_all) System.out.print System.out System System.out out_all String args[] args public class Main{

	public static void main(String args[]) {

		//
		String sentence = "";
		int shuffle_times = 0;
		int shuffle_number = 0;
		StringBuffer input_sentence = null;
		String out = "";
		StringBuffer out_all = new StringBuffer(out);

		//
		Scanner sc = new Scanner(System.in);

		while (sc.hasNext()) {

			// 入力文字列
			sentence = sc.next();
			//入力文字列が_の場合は
			if(sentence.equals("-"))
			break;
			
			//
			input_sentence = new StringBuffer(sentence);
			// シャッフルする回数
			shuffle_times = sc.nextInt();

			while (sc.hasNext()) {
				// シャッフル枚数
				for (int i = 0; i < shuffle_times; i++) {

					//
					shuffle_number = sc.nextInt();
					// シャッフルしてカードの上に移動するものを、取ってくる
					StringBuffer add_sentence = new StringBuffer(
							input_sentence.substring(0, (shuffle_number)));
					// 上に移動するカードを元のカード列から削除
					input_sentence = input_sentence.delete(0,(shuffle_number));
					//シャッフルしたあとカード列
					input_sentence = add_sentence.insert(0, input_sentence);

				}
				out_all = out_all.append(input_sentence+"\n");
				break;
			}

		}
		System.out.print(out_all);
	}

} public class Main{

	public static void main(String args[]) {

		//
		String sentence = "";
		int shuffle_times = 0;
		int shuffle_number = 0;
		StringBuffer input_sentence = null;
		String out = "";
		StringBuffer out_all = new StringBuffer(out);

		//
		Scanner sc = new Scanner(System.in);

		while (sc.hasNext()) {

			// 入力文字列
			sentence = sc.next();
			//入力文字列が_の場合は
			if(sentence.equals("-"))
			break;
			
			//
			input_sentence = new StringBuffer(sentence);
			// シャッフルする回数
			shuffle_times = sc.nextInt();

			while (sc.hasNext()) {
				// シャッフル枚数
				for (int i = 0; i < shuffle_times; i++) {

					//
					shuffle_number = sc.nextInt();
					// シャッフルしてカードの上に移動するものを、取ってくる
					StringBuffer add_sentence = new StringBuffer(
							input_sentence.substring(0, (shuffle_number)));
					// 上に移動するカードを元のカード列から削除
					input_sentence = input_sentence.delete(0,(shuffle_number));
					//シャッフルしたあとカード列
					input_sentence = add_sentence.insert(0, input_sentence);

				}
				out_all = out_all.append(input_sentence+"\n");
				break;
			}

		}
		System.out.print(out_all);
	}

} Main


import java.util.Scanner;

public class Main{

	public static void main(String args[]) {

		//
		String sentence = "";
		int shuffle_times = 0;
		int shuffle_number = 0;
		StringBuffer input_sentence = null;
		String out = "";
		StringBuffer out_all = new StringBuffer(out);

		//
		Scanner sc = new Scanner(System.in);

		while (sc.hasNext()) {

			// 入力文字列
			sentence = sc.next();
			//入力文字列が_の場合は
			if(sentence.equals("-"))
			break;
			
			//
			input_sentence = new StringBuffer(sentence);
			// シャッフルする回数
			shuffle_times = sc.nextInt();

			while (sc.hasNext()) {
				// シャッフル枚数
				for (int i = 0; i < shuffle_times; i++) {

					//
					shuffle_number = sc.nextInt();
					// シャッフルしてカードの上に移動するものを、取ってくる
					StringBuffer add_sentence = new StringBuffer(
							input_sentence.substring(0, (shuffle_number)));
					// 上に移動するカードを元のカード列から削除
					input_sentence = input_sentence.delete(0,(shuffle_number));
					//シャッフルしたあとカード列
					input_sentence = add_sentence.insert(0, input_sentence);

				}
				out_all = out_all.append(input_sentence+"\n");
				break;
			}

		}
		System.out.print(out_all);
	}

}