using System.Collections.Generic;
static List<int> AddValuesAtPosition(List<int> nums, int pos, int elem)
static List<int> AddManyValues(List<int> nums, int pos, List<int> elem)
nums.InsertRange(pos, elem);
static List<int> ShiftFromPosition(List<int> nums, int pos)
for (int i = 0; i<pos; i++)
static void ContainsNumber(List<int> nums, int elem)
Console.WriteLine(nums.IndexOf(elem));
static List<int> RemoveValueAtPosition(List<int> nums, int pos)
static List<int> SumPairs(List<int> nums)
List<int> sums = new List<int>();
for(int i=1; i < nums.Count; i+=2)
sums.Add(nums[i-1] + nums[i]);
sums.Add(nums[nums.Count-1]);
public static void Main()
List<int> numbers = Console.ReadLine().Split(' ').Select(int.Parse).ToList();
string command = Console.ReadLine().ToLower();
List<int> result = new List<int>();
while(command != "print")
string[] actions = command.Split(' ');
int index = int.Parse(actions[1]);
int element = int.Parse(actions[2]);
result = AddValuesAtPosition(numbers, index, element);
else if(actions[0] == "addmany")
int index = int.Parse(actions[1]);
List<int> values = new List<int>();
for(int i = 2; i < actions.Length; i++)
values.Add(int.Parse(actions[i]));
result = AddManyValues(numbers, index, values);
else if(actions[0] == "contains")
int element = int.Parse(actions[1]);
ContainsNumber(numbers, element);
else if(actions[0] == "remove")
int index = int.Parse(actions[1]);
result = RemoveValueAtPosition(numbers, index);
else if(actions[0] == "shift")
int positions = int.Parse(actions[1]);
result = ShiftFromPosition(numbers, positions);
else if(actions[0] == "sumpairs")
result = SumPairs(numbers);
command = Console.ReadLine().ToLower();
Console.WriteLine("[{0}]",string.Join(", ", result));