Paradoks Banacha-Tarskiego stwierdza, że biorąc pod uwagę piłkę w przestrzeni trójwymiarowej, można ją rozłożyć na skończoną liczbę podzbiorów punktowych. Te rozłączne zestawy punktów można następnie ponownie złożyć, aby uzyskać dwie kopie początkowej piłki. Teoretycznie mielibyśmy dwie identyczne piłki.
Proces ponownego montażu polega jedynie na przesunięciu wyżej wymienionych podzestawów punktowych i obróceniu ich, bez zmiany ich kształtu przestrzennego. Można to zrobić za pomocą zaledwie pięciu rozłącznych podzbiorów.
Zestawy rozłączne z definicji nie mają wspólnych elementów. Gdzie Ai gdzie Bsą dowolne dwa podzbiory punktowe początkowej piłki, wspólne elementy pomiędzy Ai Bsą pustym zbiorem. Pokazano to w poniższym równaniu.

Dla poniższych rozłącznych zestawów członkowie wspólni tworzą pusty zestaw.

Wyzwanie
Napisz program, który może pobrać wejściową „kulkę” ASCII i wypisać zduplikowaną „kulkę”.
Wejście
Oto przykładowa kula wejściowa:
##########
###@%$*.&.%%!###
##!$,%&?,?*?.*@!##
##&**!,$%$@@?@*@&&##
#@&$?@!%$*%,.?@?.@&@,#
#,..,.$&*?!$$@%%,**&&#
##.!?@*.%?!*&$!%&?##
##!&?$?&.!,?!&!%##
###,@$*&@*,%*###
##########
Każda kula jest opisana przez znaki funta ( #) i wypełnione każdy tez znaków: .,?*&$@!%. Każde wejście będzie mieć 22x10 znaków (szerokość według wysokości).
Tworzenie duplikatu
Po pierwsze, każdy punkt wewnątrz piłki otrzymuje numerowany punkt na podstawie jego indeksu w .,?*&$@!%. Oto powyższy przykład, raz ponumerowany:
##########
###7964151998###
##86295323431478##
##5448269677374755##
#75637896492137317572#
#21121654386679924455#
##1837419384568953##
##85363518238589##
###2764574294###
##########
Następnie każdy punkt jest przesuwany w górę o jeden (dziewięć przechodzi do jednego):
##########
###8175262119###
##97316434542589##
##6559371788485866##
#86748917513248428683#
#32232765497781135566#
##2948521495679164##
##96474629349691##
###3875685315###
##########
Na koniec każda nowa wartość punktowa jest konwertowana z powrotem na odpowiadający jej znak:
##########
###!.@&,$,..%###
##%@?.$*?*&*,&!%##
##$&&%?@.@!!*!&!$$##
#!$@*!%.@&.?,*!*,!$!?#
#?,,?,@$&*%@@!..?&&$$#
##,%*!&,.*%&$@%.$*##
##%$*@*$,%?*%$%.##
###?!@&$!&?.&###
##########
Wynik
Te dwie kule są następnie wyprowadzane obok siebie, w tej formie (oddzielone czterema spacjami na równikach):
########## ##########
###@%$*.&.%%!### ###!.@&,$,..%###
##!$,%&?,?*?.*@!## ##%@?.$*?*&*,&!%##
##&**!,$%$@@?@*@&&## ##$&&%?@.@!!*!&!$$##
#@&$?@!%$*%,.?@?.@&@,# #!$@*!%.@&.?,*!*,!$!?#
#,..,.$&*?!$$@%%,**&&# #?,,?,@$&*%@@!..?&&$$#
##.!?@*.%?!*&$!%&?## ##,%*!&,.*%&$@%.$*##
##!&?$?&.!,?!&!%## ##%$*@*$,%?*%$%.##
###,@$*&@*,%*### ###?!@&$!&?.&###
########## ##########
Uwaga: Przesunięcie wartości punktów i późniejszych znaków symbolizuje obroty wykonane w celu ponownego złożenia podzbiorów punktów (grupowania znaków).