Paradoks Banach – Tarski menyatakan bahwa, mengingat bola dalam ruang 3-dimensi, Anda dapat menguraikan bola menjadi sejumlah himpunan bagian himpunan titik yang terbatas. Kumpulan poin yang terpisah ini kemudian dapat disusun kembali untuk menghasilkan dua salinan bola awal. Anda kemudian, secara teoritis, memiliki dua bola yang identik.
Proses reassembly terdiri dari hanya memindahkan himpunan bagian himpunan poin yang disebutkan di atas dan memutarnya, sementara tidak mengubah bentuk spasial mereka. Ini dapat dilakukan dengan sedikitnya lima himpunan bagian yang terpisah.
Set disjoint tidak memiliki elemen umum dengan definisi. Di mana Adan Bapakah ada dua himpunan bagian himpunan bola awal, unsur-unsur umum antara Adan Bmerupakan himpunan kosong. Ini ditunjukkan dalam persamaan berikut.

Untuk set disjoint di bawah ini, anggota biasa membentuk set kosong.

Tantangan
Tulis sebuah program yang dapat mengambil input "ball" ASCII, dan mengeluarkan "ball" duplikat.
Memasukkan
Berikut ini contoh bola input:
##########
###@%$*.&.%%!###
##!$,%&?,?*?.*@!##
##&**!,$%$@@?@*@&&##
#@&$?@!%$*%,.?@?.@&@,#
#,..,.$&*?!$$@%%,**&&#
##.!?@*.%?!*&$!%&?##
##!&?$?&.!,?!&!%##
###,@$*&@*,%*###
##########
Setiap sphere diuraikan oleh tanda-tanda pound ( #) dan diisi dengan tesis karakter: .,?*&$@!%. Setiap input akan berukuran 22x10 karakter (lebar dengan tinggi).
Membuat Duplikat
Pertama, setiap titik di dalam bola diberi titik bernomor berdasarkan indeks di .,?*&$@!%. Berikut adalah contoh di atas, setelah diberi nomor:
##########
###7964151998###
##86295323431478##
##5448269677374755##
#75637896492137317572#
#21121654386679924455#
##1837419384568953##
##85363518238589##
###2764574294###
##########
Kemudian, setiap titik digeser ke atas satu (sembilan ke satu):
##########
###8175262119###
##97316434542589##
##6559371788485866##
#86748917513248428683#
#32232765497781135566#
##2948521495679164##
##96474629349691##
###3875685315###
##########
Akhirnya, setiap nilai poin baru dikonversi kembali ke karakter terkait:
##########
###!.@&,$,..%###
##%@?.$*?*&*,&!%##
##$&&%?@.@!!*!&!$$##
#!$@*!%.@&.?,*!*,!$!?#
#?,,?,@$&*%@@!..?&&$$#
##,%*!&,.*%&$@%.$*##
##%$*@*$,%?*%$%.##
###?!@&$!&?.&###
##########
Keluaran
Kedua bola ini kemudian dikeluarkan berdampingan, dalam bentuk ini (dipisahkan oleh empat spasi di garis katulistiwa):
########## ##########
###@%$*.&.%%!### ###!.@&,$,..%###
##!$,%&?,?*?.*@!## ##%@?.$*?*&*,&!%##
##&**!,$%$@@?@*@&&## ##$&&%?@.@!!*!&!$$##
#@&$?@!%$*%,.?@?.@&@,# #!$@*!%.@&.?,*!*,!$!?#
#,..,.$&*?!$$@%%,**&&# #?,,?,@$&*%@@!..?&&$$#
##.!?@*.%?!*&$!%&?## ##,%*!&,.*%&$@%.$*##
##!&?$?&.!,?!&!%## ##%$*@*$,%?*%$%.##
###,@$*&@*,%*### ###?!@&$!&?.&###
########## ##########
Catatan: Menggeser nilai titik, dan karakter yang lebih baru, adalah simbol dari rotasi yang dilakukan untuk memasang kembali subset titik (pengelompokan karakter).