C. Танцевальный кружок
ограничение по времени на тест
2 seconds
ограничение по памяти на тест
256 megabytes
ввод
стандартный ввод
вывод
стандартный вывод

Танцевальный кружок посещает n человек. Каждый человек характеризуется своим умением танцевать ai. В начале занятия они выстраиваются в линию слева направо. Пока в линии присутствует хоть одна пара мальчик и девочка, повторяется следующий процесс: стоящие рядом мальчик и девочка, имеющие минимальную разницу умений, отправляются танцевать. Если таких пар несколько, танцевать отправляется самая левая пара. После того как ушла очередная пара, линия снова замыкается, т. е. получается, что линия всегда непрерывна. Под разницей умений имеется в виду модуль разности величин a двух танцоров. Ваша задача — узнать, какие пары и в каком порядке отправятся танцевать.

Входные данные

В первой строке записано целое число n (1 ≤ n ≤ 2·105) — количество людей. Во второй строке без пробелов записано n символов B или G. B соответствует мальчику, G соответствует девочке. В третьей строке через пробел записано n целых чисел ai (1 ≤ ai ≤ 107) — умения танцевать. Люди перечислены слева направо в том порядке, в котором они выстроились в линию.

Выходные данные

Выведите количество получившихся пар k. Далее выведите k строк по два числа в каждой — номера людей, входящих в очередную пару. Люди нумеруются целыми числами от 1 до n слева направо. Когда уходит очередная пара, перенумеровывать людей не нужно. Номера в одной паре упорядочивайте по возрастанию. Пары выводите в том порядке, в котором они отправляются танцевать.

Примеры
Входные данные
4
BGBG
4 2 4 3
Выходные данные
2
3 4
1 2
Входные данные
4
BBGG
4 6 1 5
Выходные данные
2
2 3
1 4
Входные данные
4
BGBB
1 1 2 3
Выходные данные
1
1 2