Скажем, что две строки \(s\) и \(t\) рифмуются, если обе строки имеют длину хотя бы \(k\), и их \(k\) последних букв равны. Например, для \(k = 3\) строки abcd и cebcd рифмуются, строки ab и ab не рифмуются, строки aaaa и aaaaa рифмуются, а строки abcd и abce — нет.
Вам задано \(n\) пар строк \((s_i, t_i)\). Для каждой пары известно, должны ли строки рифмоваться или не должны.
Определите все возможные неотрицательные целые значения \(k\), для которых пары, которые должны рифмоваться, рифмуются, а пары, которые не должны рифмоваться, не рифмуются.
Выходные данные
Для каждого набора входных данных, сначала выведите целое число \(m\) — количество возможных неотрицательных целых значений \(k\) таких, что пары, которые должны рифмоваться, рифмуются, а пары, которые не должны рифмоваться, не рифмуются. Далее выведите все данные значения \(k\) (без повторений). Вы можете выводить их в любом порядке.
Примечание
В первом наборе входных данных, если \(k\) будет хотя бы \(1\), то kotlin и heroes не будут рифмоваться.
Во втором наборе, для \(k = 2\) join и kotlin рифмуются, и episode и eight не рифмуются.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
3 1 kotlin heroes 1 2 join kotlin 1 episode eight 0 4 abc abcdef 0 xyz zzz 1 aaa bba 0 c d 0
|
1
0
2
1 2
0
|