Быстрый исполнитель

아직 제출이 없습니다시간 제한3초메모리 제한1024 MB

문제

Студент первого курса ИТМО Миша изучает новый примитивный язык программирования. В этом языке все операции производятся над массивами целых неотрицательных чисел длины nn.

Миша успел создать массив aa и равный ему массив bb. Также он успел реализовать четыре функции:

  1. shift --- делает циклический сдвиг массива aa влево на dd, то есть при a=\[a_0,a_1,,a_n1]a = \[a\_0, a\_1, \ldots, a\_{n-1}] выполняет присваивание a\[a_d,,a_n1,a_0,,a_d1];a \gets \[a\_d, \ldots, a\_{n-1}, a\_0, \ldots, a\_{d-1}] \text{;}
  2. xor --- присваивает в массив bb его поэлементный xor (побитовое исключающее <<или>>) с массивом aa, то есть b\[a_0b_0,a_1b_1,,a_n1b_n1];b \gets \[a\_0 \oplus b\_0, a\_1 \oplus b\_1, \ldots, a\_{n-1} \oplus b\_{n-1}] \text{;}
  3. and --- присваивает в массив bb его поэлементный and (побитовое <<и>>) с массивом aa;
  4. or --- присваивает в массив bb его поэлементный or (побитовое <<или>>) с массивом aa.

Используя эти функции, Миша написал программу, задаваемую последовательностью операций xor, and и or длины mm. Программа в цикле pp раз выполняет следующие действия: для каждой операции из последовательности сначала вызывается shift, а затем соответствующая этой операции функция. Так, для последовательности операций \[or,xor,and]\[\mathtt{or}, \mathtt{xor}, \mathtt{and}] и p=5p = 5 программа будет выглядеть как

b = a = [...]
repeat 5 times {
    shift
    or
    shift
    xor
    shift
    and
}

К сожалению, язык еще новый, и его интерпретатор не справляется с выполнением такой программы. Помогите Мише определить, чему будет равно конечное состояние массива bb после выполнения заданной программы.

입력

В первой строке ввода перечислены четыре целых числа nn, mm, dd и pp --- длина массива, количество операций в последовательности, величина сдвига и количество повторений (0d<n21050 \le d < n \le 2 \cdot 10^5; 1m101 \le m \le 10; 1p1091 \le p \le 10^9).

Во второй строке перечислены nn целых чисел a_ia\_i --- элементы массива aa, они же --- изначальные значения элементов массива bb (0a_i1090 \le a\_i \le 10^9).

В третьей строке через пробел перечисены mm слов, каждое из которых равно <<xor>>, <<and>> или <<or>> --- последовательность применяемых на каждой итерации цикла операций.

출력

Выведите nn целых чисел --- элементы массива bb после выполнения описанной программы.