O paradoxo de Banach-Tarski afirma que, dada uma bola no espaço tridimensional, você pode decompor a bola em um número finito de subconjuntos de pontos. Esses conjuntos de pontos separados podem ser remontados para produzir duas cópias da bola inicial. Você teria, teoricamente, duas bolas idênticas.
O processo de remontagem consiste apenas em mover os subconjuntos de pontos mencionados acima e girá-los, sem alterar sua forma espacial. Isso pode ser feito com apenas cinco subconjuntos separados.
Conjuntos disjuntos não têm elementos comuns por definição. Onde Ae Bexistem quaisquer subconjuntos de dois pontos da bola inicial, os elementos comuns entre Ae Bé um conjunto vazio. Isso é mostrado na seguinte equação.

Para os conjuntos disjuntos abaixo, os membros comuns formam um conjunto vazio.

O desafio
Escreva um programa que possa receber uma "bola" ASCII de entrada e gerar uma "bola" duplicada.
Entrada
Aqui está um exemplo de bola de entrada:
##########
###@%$*.&.%%!###
##!$,%&?,?*?.*@!##
##&**!,$%$@@?@*@&&##
#@&$?@!%$*%,.?@?.@&@,#
#,..,.$&*?!$$@%%,**&&#
##.!?@*.%?!*&$!%&?##
##!&?$?&.!,?!&!%##
###,@$*&@*,%*###
##########
Cada esfera é delineada por sinais de libra ( #) e encheu-se com qualquer um dos caracteres teses: .,?*&$@!%. Cada entrada será de 22 x 10 caracteres (largura por altura).
Criando uma duplicata
Primeiro, cada ponto dentro da bola recebe um ponto numerado com base em seu índice em .,?*&$@!%. Aqui está o exemplo acima, uma vez numerado:
##########
###7964151998###
##86295323431478##
##5448269677374755##
#75637896492137317572#
#21121654386679924455#
##1837419384568953##
##85363518238589##
###2764574294###
##########
Então, cada ponto é deslocado um (nove vai para um):
##########
###8175262119###
##97316434542589##
##6559371788485866##
#86748917513248428683#
#32232765497781135566#
##2948521495679164##
##96474629349691##
###3875685315###
##########
Finalmente, cada novo valor de ponto é convertido novamente em seu caractere correspondente:
##########
###!.@&,$,..%###
##%@?.$*?*&*,&!%##
##$&&%?@.@!!*!&!$$##
#!$@*!%.@&.?,*!*,!$!?#
#?,,?,@$&*%@@!..?&&$$#
##,%*!&,.*%&$@%.$*##
##%$*@*$,%?*%$%.##
###?!@&$!&?.&###
##########
Resultado
Essas duas bolas são produzidas lado a lado, nesta forma (separadas por quatro espaços nos equadores):
########## ##########
###@%$*.&.%%!### ###!.@&,$,..%###
##!$,%&?,?*?.*@!## ##%@?.$*?*&*,&!%##
##&**!,$%$@@?@*@&&## ##$&&%?@.@!!*!&!$$##
#@&$?@!%$*%,.?@?.@&@,# #!$@*!%.@&.?,*!*,!$!?#
#,..,.$&*?!$$@%%,**&&# #?,,?,@$&*%@@!..?&&$$#
##.!?@*.%?!*&$!%&?## ##,%*!&,.*%&$@%.$*##
##!&?$?&.!,?!&!%## ##%$*@*$,%?*%$%.##
###,@$*&@*,%*### ###?!@&$!&?.&###
########## ##########
Nota: A alteração dos valores dos pontos e dos caracteres posteriores é simbólica das rotações realizadas para remontar os subconjuntos de pontos (agrupamentos de caracteres).