Уявімо, у нас є скінченна множина натуральних чисел. Цей набір може бути представлений у вигляді рядків крапок, де кожне ціле число, присутнє в наборі, заповнюється як карта скантрона або перфокарта . Наприклад, набір {1,3,4,6}може бути представлений у вигляді:
*.**.*
*являє собою член нашого набору і .являє собою ціле число, яке не є членом, який він встановив.
Ці множини мають "фактори". Вільно x - це коефіцієнт y, якщо y може бути побудований з копій x. Більш чітко наше визначення фактора полягає в наступному:
- x - коефіцієнт y, якщо і лише тоді, коли y - це об'єднання декількох роз'єднаних множин, які є x зі зміщенням.
Ми могли б назвати *.*в фактор з , *.**.*тому що це абсолютно ясно з двох примірників *.*пут кінця в кінець.
*.**.*
------
*.*...
...*.*
Фактори не повинні бути цілими до кінця, ми також сказали б, що *.*це фактор*.*.*.*
*.*.*.*
-------
*.*....
....*.*
Фактори також можуть перетинатися. Це *.*також є фактором****
****
----
*.*.
.*.*
Однак число не може бути покрито фактором більше одного разу. Наприклад, *.*це не є фактором *.*.*.
Ось більш складний приклад:
*..*.**..***.*.*
Це є *..*.*чинником. Ви бачите це нижче, де я вишикував три екземпляри *..*.*.
*..*.**..***.*.*
----------------
*..*.*..........
......*..*.*....
..........*..*.*
Завдання
Враховуючи набір будь-якого розумного представлення, виводять усі множини, які є чинниками вхідних даних.
Ви можете індексувати будь-яке значення (тобто ви можете вибрати найменше число, яке може бути присутнім у введенні). Ви також можете припустити, що набір вводу завжди буде містити найменше значення.
Це питання з кодовим гольфом, тому вам слід прагнути зробити це якомога менше байтів.
Випробування
Ці тестові справи були зроблені вручну, на великих розмірах може бути помилка чи дві
* -> *
*.*.* -> *, *.*.*
*.*.*.* -> *, *.*, *...*, *.*.*.*
****** -> *, **, *..*, ***, *.*.*, ******
*..*.**..***.*.* -> *, *..*.*, *.....*...*, *..*.**..***.*.*
*...*****.**.** -> *, *...**.**, *.....*, *...*****.**.**
*.*.*=x+x^2+x^4 , то 1+x+x^2= ***був би дільником, правда? x+x^2+x^4 = (1-x+x^2)(1+x+x^2)
*вказано як фактор, який представляє те саме підмножина, що *.і *...
[1,3,5,7]для*.*.*.*), чи можна вважати, що він відсортований?