Задача №114813. Переполнение

Недавно Джон заказал на одном известном сайте электронные чашечные весы. У весов есть две чаши, на которые можно класть предметы. Весы показывают, какая из чаш перевешивает, либо сообщает, что веса наборов предметов на чашах равны.

Джон начал экспериментировать с весами в обнаружил, что показания весов иногда бывают довольно странными. Оказалось, что весы вычисляют суммарный вес предметов на каждой чаше, а затем сравнивают получившиеся значения. Однако поскольку софт для весов писали бывшие олимпиадники, весы вычисляют остаток от деления веса положенных на чашу предметов на число \(m\).

У Джона есть \(n\) гирь, \(i\)-я гиря имеет вес \(a_i\). Он хочет, чтобы весы сообщили, что чаши уравновешены, положив на весы некоторые из этих гирь.

Помогите Джону решить, какие гири на какие чаши ему необходимо положить. Джон должен положить на весы хотя бы одну гирю.

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

В первой строке ввода даны два натуральных числа \(n\) и \(m\) — количество гирь у Джона и значение, по модулю которого весы вычисляют вес (\(1 \le n \le 25\); \(1 \le m < 4 \cdot 10^7\)).

В следующей строке перечислены \(n\) чисел \(a_1, \ldots, a_n\) — веса гирь Джона (\(1 \le a_i \le 10^9\)).

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

Если ответ существует, на первой строке выведите \(k\) — количество гирь, которые Джон должен положить на первую чашу весов. На второй строке выведите номера этих гирь.

На следующей строке выведите \(m\) — количество гирь, которые Джон должен положить на вторую чашу весов. На следующей строке выведите номера этих гирь.

Гири пронумерованы от \(1\) до \(n\) в порядке, в котором их веса заданы во вводе.

Если ответа нет, выведите единственное число «\(-1\)».

Примеры
Входные данные
4 14
1 3 7 10
Выходные данные
1
4 
2
2 3 
Входные данные
3 7
1 2 4
Выходные данные
3
1 2 3 
0
Сдать: для сдачи задач необходимо войти в систему