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

public class Main{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		
		while (true){
			//文字列のリスト
			ArrayList<Character> list = new ArrayList<Character>();
		
			//データ入力
			String input = sc.next();
			
			//終了条件の判定
			if (input.equals("-") == true){
				break;
			}
		
			//データをリストに格納
			for (int i = 0; i < input.length(); i++){
				list.add(input.charAt(i));
			}
			
			//データのシャッフル
			int m = sc.nextInt();//シャッフルの回数
			for (int i = 0; i < m; i++){
				//次のシャッフル位置
				int h = sc.nextInt();
				
				//シャッフル
				ArrayList<Character> subList = new ArrayList<Character>();
				for (int j = 0; j < h; j++){
					char temp = list.get(0);
					list.add(temp);
					list.remove(0);
				}
			}
			
			//結果を出力
			for (char c : list){
				System.out.print(c);
			}
			System.out.print("\n");
			
		}
		
	}
} import java.util.Scanner; Scanner java.util import java.util.ArrayList; ArrayList java.util import java.util.List; List java.util public class Main{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		
		while (true){
			//文字列のリスト
			ArrayList<Character> list = new ArrayList<Character>();
		
			//データ入力
			String input = sc.next();
			
			//終了条件の判定
			if (input.equals("-") == true){
				break;
			}
		
			//データをリストに格納
			for (int i = 0; i < input.length(); i++){
				list.add(input.charAt(i));
			}
			
			//データのシャッフル
			int m = sc.nextInt();//シャッフルの回数
			for (int i = 0; i < m; i++){
				//次のシャッフル位置
				int h = sc.nextInt();
				
				//シャッフル
				ArrayList<Character> subList = new ArrayList<Character>();
				for (int j = 0; j < h; j++){
					char temp = list.get(0);
					list.add(temp);
					list.remove(0);
				}
			}
			
			//結果を出力
			for (char c : list){
				System.out.print(c);
			}
			System.out.print("\n");
			
		}
		
	}
} Main public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		
		while (true){
			//文字列のリスト
			ArrayList<Character> list = new ArrayList<Character>();
		
			//データ入力
			String input = sc.next();
			
			//終了条件の判定
			if (input.equals("-") == true){
				break;
			}
		
			//データをリストに格納
			for (int i = 0; i < input.length(); i++){
				list.add(input.charAt(i));
			}
			
			//データのシャッフル
			int m = sc.nextInt();//シャッフルの回数
			for (int i = 0; i < m; i++){
				//次のシャッフル位置
				int h = sc.nextInt();
				
				//シャッフル
				ArrayList<Character> subList = new ArrayList<Character>();
				for (int j = 0; j < h; j++){
					char temp = list.get(0);
					list.add(temp);
					list.remove(0);
				}
			}
			
			//結果を出力
			for (char c : list){
				System.out.print(c);
			}
			System.out.print("\n");
			
		}
		
	} main {
		Scanner sc = new Scanner(System.in);
		
		while (true){
			//文字列のリスト
			ArrayList<Character> list = new ArrayList<Character>();
		
			//データ入力
			String input = sc.next();
			
			//終了条件の判定
			if (input.equals("-") == true){
				break;
			}
		
			//データをリストに格納
			for (int i = 0; i < input.length(); i++){
				list.add(input.charAt(i));
			}
			
			//データのシャッフル
			int m = sc.nextInt();//シャッフルの回数
			for (int i = 0; i < m; i++){
				//次のシャッフル位置
				int h = sc.nextInt();
				
				//シャッフル
				ArrayList<Character> subList = new ArrayList<Character>();
				for (int j = 0; j < h; j++){
					char temp = list.get(0);
					list.add(temp);
					list.remove(0);
				}
			}
			
			//結果を出力
			for (char c : list){
				System.out.print(c);
			}
			System.out.print("\n");
			
		}
		
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) while (true){
			//文字列のリスト
			ArrayList<Character> list = new ArrayList<Character>();
		
			//データ入力
			String input = sc.next();
			
			//終了条件の判定
			if (input.equals("-") == true){
				break;
			}
		
			//データをリストに格納
			for (int i = 0; i < input.length(); i++){
				list.add(input.charAt(i));
			}
			
			//データのシャッフル
			int m = sc.nextInt();//シャッフルの回数
			for (int i = 0; i < m; i++){
				//次のシャッフル位置
				int h = sc.nextInt();
				
				//シャッフル
				ArrayList<Character> subList = new ArrayList<Character>();
				for (int j = 0; j < h; j++){
					char temp = list.get(0);
					list.add(temp);
					list.remove(0);
				}
			}
			
			//結果を出力
			for (char c : list){
				System.out.print(c);
			}
			System.out.print("\n");
			
		} true {
			//文字列のリスト
			ArrayList<Character> list = new ArrayList<Character>();
		
			//データ入力
			String input = sc.next();
			
			//終了条件の判定
			if (input.equals("-") == true){
				break;
			}
		
			//データをリストに格納
			for (int i = 0; i < input.length(); i++){
				list.add(input.charAt(i));
			}
			
			//データのシャッフル
			int m = sc.nextInt();//シャッフルの回数
			for (int i = 0; i < m; i++){
				//次のシャッフル位置
				int h = sc.nextInt();
				
				//シャッフル
				ArrayList<Character> subList = new ArrayList<Character>();
				for (int j = 0; j < h; j++){
					char temp = list.get(0);
					list.add(temp);
					list.remove(0);
				}
			}
			
			//結果を出力
			for (char c : list){
				System.out.print(c);
			}
			System.out.print("\n");
			
		} ArrayList<Character> list = new ArrayList<Character>(); list new ArrayList<Character>() String input = sc.next(); input sc.next() sc.next sc if (input.equals("-") == true){
				break;
			} input.equals("-") == true input.equals("-") input.equals input "-" true {
				break;
			} break; for (int i = 0; i < input.length(); i++){
				list.add(input.charAt(i));
			} int i = 0; int i = 0; i 0 i < input.length() i input.length() input.length input i++ i++ i {
				list.add(input.charAt(i));
			} {
				list.add(input.charAt(i));
			} list.add(input.charAt(i)) list.add list input.charAt(i) input.charAt input i int m = sc.nextInt(); m sc.nextInt() sc.nextInt sc for (int i = 0; i < m; i++){
				//次のシャッフル位置
				int h = sc.nextInt();
				
				//シャッフル
				ArrayList<Character> subList = new ArrayList<Character>();
				for (int j = 0; j < h; j++){
					char temp = list.get(0);
					list.add(temp);
					list.remove(0);
				}
			} int i = 0; int i = 0; i 0 i < m i m i++ i++ i {
				//次のシャッフル位置
				int h = sc.nextInt();
				
				//シャッフル
				ArrayList<Character> subList = new ArrayList<Character>();
				for (int j = 0; j < h; j++){
					char temp = list.get(0);
					list.add(temp);
					list.remove(0);
				}
			} {
				//次のシャッフル位置
				int h = sc.nextInt();
				
				//シャッフル
				ArrayList<Character> subList = new ArrayList<Character>();
				for (int j = 0; j < h; j++){
					char temp = list.get(0);
					list.add(temp);
					list.remove(0);
				}
			} int h = sc.nextInt(); h sc.nextInt() sc.nextInt sc ArrayList<Character> subList = new ArrayList<Character>(); subList new ArrayList<Character>() for (int j = 0; j < h; j++){
					char temp = list.get(0);
					list.add(temp);
					list.remove(0);
				} int j = 0; int j = 0; j 0 j < h j h j++ j++ j {
					char temp = list.get(0);
					list.add(temp);
					list.remove(0);
				} {
					char temp = list.get(0);
					list.add(temp);
					list.remove(0);
				} char temp = list.get(0); temp list.get(0) list.get list 0 list.add(temp) list.add list temp list.remove(0) list.remove list 0 for (char c : list){
				System.out.print(c);
			} char c list {
				System.out.print(c);
			} {
				System.out.print(c);
			} System.out.print(c) System.out.print System.out System System.out c System.out.print("\n") System.out.print System.out System System.out "\n" String[] args args public class Main{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		
		while (true){
			//文字列のリスト
			ArrayList<Character> list = new ArrayList<Character>();
		
			//データ入力
			String input = sc.next();
			
			//終了条件の判定
			if (input.equals("-") == true){
				break;
			}
		
			//データをリストに格納
			for (int i = 0; i < input.length(); i++){
				list.add(input.charAt(i));
			}
			
			//データのシャッフル
			int m = sc.nextInt();//シャッフルの回数
			for (int i = 0; i < m; i++){
				//次のシャッフル位置
				int h = sc.nextInt();
				
				//シャッフル
				ArrayList<Character> subList = new ArrayList<Character>();
				for (int j = 0; j < h; j++){
					char temp = list.get(0);
					list.add(temp);
					list.remove(0);
				}
			}
			
			//結果を出力
			for (char c : list){
				System.out.print(c);
			}
			System.out.print("\n");
			
		}
		
	}
} public class Main{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		
		while (true){
			//文字列のリスト
			ArrayList<Character> list = new ArrayList<Character>();
		
			//データ入力
			String input = sc.next();
			
			//終了条件の判定
			if (input.equals("-") == true){
				break;
			}
		
			//データをリストに格納
			for (int i = 0; i < input.length(); i++){
				list.add(input.charAt(i));
			}
			
			//データのシャッフル
			int m = sc.nextInt();//シャッフルの回数
			for (int i = 0; i < m; i++){
				//次のシャッフル位置
				int h = sc.nextInt();
				
				//シャッフル
				ArrayList<Character> subList = new ArrayList<Character>();
				for (int j = 0; j < h; j++){
					char temp = list.get(0);
					list.add(temp);
					list.remove(0);
				}
			}
			
			//結果を出力
			for (char c : list){
				System.out.print(c);
			}
			System.out.print("\n");
			
		}
		
	}
} Main
import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;

public class Main{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		
		while (true){
			//文字列のリスト
			ArrayList<Character> list = new ArrayList<Character>();
		
			//データ入力
			String input = sc.next();
			
			//終了条件の判定
			if (input.equals("-") == true){
				break;
			}
		
			//データをリストに格納
			for (int i = 0; i < input.length(); i++){
				list.add(input.charAt(i));
			}
			
			//データのシャッフル
			int m = sc.nextInt();//シャッフルの回数
			for (int i = 0; i < m; i++){
				//次のシャッフル位置
				int h = sc.nextInt();
				
				//シャッフル
				ArrayList<Character> subList = new ArrayList<Character>();
				for (int j = 0; j < h; j++){
					char temp = list.get(0);
					list.add(temp);
					list.remove(0);
				}
			}
			
			//結果を出力
			for (char c : list){
				System.out.print(c);
			}
			System.out.print("\n");
			
		}
		
	}
}
