Близится день рождения Совуньи, и Нюша решила подарить ей гирлянду из флажков. Гирлянды из флажков были популярны в молодости Совуньи, поэтому остался всего лишь один магазин, где они продаются, куда и пошла Нюша.
Гирлянды в том магазине нужно собирать из продающихся $$$n$$$ флажков. Все флажки имеют разный дизайн, но на каждом флажке написана маленькая буква английского алфавита. Флажки выложены в ряд, на $$$i$$$-м флажке написана буква $$$s_i$$$, и стоит он $$$c_i$$$ монет. Каждый из $$$n$$$ флажков можно купить не больше одного раза.
Нюша хочет собрать красивую гирлянду, поэтому ей хочется купить флажки такие, чтобы из них можно было собрать гирлянду, буквы на которой составляют строку-палиндром. Палиндром — это строка, которая читается одинаково как слева направо, так и справа налево. Например, строки abacaba, aaaa, abba, racecar — палиндромы.
У Нюши есть всего $$$w$$$ монет, которые она может потратить на подарок, но она хочет сделать как можно более большой подарок, поэтому она хочет собрать гирлянду из наибольшего возможного количества флажков так, что буквы на ней составляют палиндром и суммарная стоимость всех флажков, вошедших в гирлянду, не превышает $$$w$$$.
Помогите ей и скажите максимальную длину такой гирлянды и номера флажков, которые ей нужно купить!
Первая строка входных данных содержит два целых числа $$$n$$$ и $$$w$$$ ($$$1 \le n \le 10^5$$$, $$$1 \le w \le 10^9$$$) — количество флажков в магазине и бюджет Нюши в монетах соответственно.
Вторая строка входных данных содержит строку $$$s$$$ длины $$$n$$$, состоящую из маленьких букв английского алфавита, где $$$s_i$$$ — буква, написанная на $$$i$$$-м флажке.
Третья строка входных данных содержит массив натуральных чисел $$$c$$$ длины $$$n$$$, где $$$c_i$$$ — стоимость $$$i$$$-го флажка в монетах ($$$1 \le c_i \le 10^9$$$).
В первой строке выходных данных выведите одно число $$$k$$$ — максимальную длину гирлянды, буквы на которой составляют палиндром и которая укладывается в бюджет Нюши.
Во второй строке выходных данных выведите $$$k$$$ различных натуральных чисел, разделенных пробелом — номера флажков, которые Нюше нужно купить. Номера можно выводить в любом порядке.
Если существует несколько вариантов купить флажки так, чтобы получить гирлянду-палиндром максимальной длины, можно вывести любой из них.
5 10abcce5 7 2 2 2
3 3 4 5
3 1aaa3 1 2
1 2
4 23aabb3 17 10 10
3 1 3 4
В первом примере, если взять флажки с номерами $$$3$$$, $$$4$$$ и $$$5$$$, нужно будет заплатить $$$2+3+2=7$$$ монет, что меньше $$$10$$$, и составить палиндром $$$cec$$$. Также можно взять флажки с номерами $$$1$$$, $$$3$$$ и $$$4$$$ и составить палиндром $$$cac$$$, заплатив $$$10$$$ монет.