10973. Колайдер


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

Фізики проводять експеримент для дослідження частинок трьох типів: \(x\), \(y\), і \(z\). Вони запускають в колайдер пронумерований ряд з \(n\) частинок. Під час експерименту відбувається вплив на одну конкретну частинку, після чого частинка зникає з \(i\)-го місця ряду і моментально з'являється на місці \(j\). Після її зникнення номери частинок, що стоять правіше, зменшуються на 1, а після появи, номери частинок, що стоять правіше, збільшуються на 1. Після певної кількості впливів фізики цікавляться яка частинка стоїть на місці \(𝑘\) .

Напишіть програму, яка допоможе фізикам.

Формат вхідних даних

У першому рядку дано два цілих числа: \(𝑛\) – кількість частинок і \(m\) – загальна кількість впливів та питань (\(1 ≤ 𝑛 ≤ 1000000\), \(1 ≤ 𝑚 ≤ 15000\)).

У другому рядку — послідовність із символів \(x, y,\) і \(z\) довжиною \(n\).

На кожному з наступних рядків (\(1 ≤ 𝑚 ≤ 15000\)) описано вплив або питання. Рядок, в якому описано вплив, починається символом \(𝑎\) і після пробілу дається два цілих числа з інтервалу \([1; 𝑛 ]\). Перше показує початкове, а друге кінцеве місце розташування частинки під час впливу. Рядок, в якому описано питання, починається символом \(𝑞\) і після пропуску дається одне ціле число з інтервалу \([1; 𝑛 ]\). Воно вказує позицію, яка цікавить фізиків.

Формат вихідних даних

Виведіть стільки рядків, скільки питань у вхідному файлі. У рядку номер \(𝑖\) треба записати відповідь на питання \(𝑖\) - назва відповідної частинки \(𝑥, 𝑦\) або \(𝑧\).

Пояснення

Послідовність після першого впливу – xxyyzxxzxzyyzyx, послідовність після другого впливу – xxyxyzxxzxzyyzy, послідовність після третього впливу – xyxyxyzxxzxzyzy,

Приклад вхідних даних

15 6
xzxyyzxxzxyyzyx
a 2 10
a 15 4
q 3
a 12 2
q 14
q 2

Приклад вихідних даних

y
z
y

Коментарі

Ще немає коментарів.