З урахуванням декількох наборів, наприклад s1={2,3,7}, s2={1,2,4,7,8}і s3={4,7}, діаграма Венна візуалізує кожен набір із закритою кривою та набір елементів, які знаходяться всередині або поза периметром кривої, залежно від того, є вони елементом множини чи ні. Оскільки всі елементи множини з'являються лише один раз на діаграмі Венна, криві, що представляють кожен набір, повинні перекриватися, якщо елемент присутній у більшій одній множині. Ми називаємо кожне таке перекриття комірки діаграми Венна.
Це пояснення може бути трохи заплутаним, тому давайте подивимось на приклад.
Приклад
Діаграма Венна для наборів s1, s2і s3може виглядати так:

Клітини цієї діаграми Венна є (читається зверху вниз, зліва направо) {1,8}, {2}, {7}, {4}, {3}, {}і {}.
На практиці часто зустрічаються лише діаграми Венна з двох-трьох множин, оскільки представлення діаграм Венна з чотирьох і більше множин не дуже чітке. Однак вони існують, наприклад, для шести наборів:

CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=1472309
Завдання
Враховуючи не порожній набір наборів натуральних чисел у будь-якому розумному поданні, поверніть набір комірок діаграми Венна наборів. Зокрема, не потрібне графічне зображення.
- Ви можете написати повну програму або функцію.
- Ви можете повернути стільки порожніх наборів, скільки є порожніх комірок (тобто список усіх комірок) замість лише одного порожнього набору (тобто набору комірок).
- Деякі розумні способи введення для наведеного вище прикладу , включають , але не обмежуються ними
{{2,3,7},{1,2,4,7,8},{4,7}},[[2,3,7],[1,2,4,7,8],[4,7]],"2,3,7;1,2,4,7,8;4,7"або"2 3 7\n1 2 4 7 8\n4 7". Якщо ви сумніваєтесь у прийнятному обраному вами форматі введення, сміливо запитайте у коментарі. - Ваш вихідний формат повинен відповідати формату введення, якщо це можливо. Зауважте, що це правило вимагає, щоб ваш формат міг однозначно відображати порожні набори.
- Це код-гольф , тому постарайтеся використовувати якомога менше байтів мовою, яку ви обрали. Щоб заохотити конкуренцію за мову, а не між мовами, я не прийму відповіді.
Випробування
Ось деякі входи разом з можливими виходами:
input -> output
{{2,3,7},{1,2,4,7,8},{4,7}} -> {{1,8},{2},{7},{4},{3},{}} (or {{1,8},{2},{7},{4},{3},{},{}})
{{1,2,3},{4,5,6},{7,8,9}} -> {{1,2,3},{4,5,6},{7,8,9},{}}
{{}} -> {{}}
{{1,2,3},{1,2}} -> {{1,2},{3},{}}
{{4,3,8},{1,2,9,3},{14,7,8,5},{6,11,3,8},{10},{9,4,3,7,10}} -> {{6,11},{10},{4},{3},{8},{5,14},{1,2},{9},{7},{}}
{{2,3,4,7},{},{1,3,7,5,6},{2,3,7,5},{7,2,4,3,6},{1,4,5}} -> {{},{4},{2},{7,3},{1},{6},{5}}
{{1,2,3,4},{1,2,5,6},{1,3,5,7}} -> {{4},{3},{2},{1},{6},{5},{7}}
{{1,2,3},{4,5,6},{7,8,9},{},{},{},{}}?