(Esta é uma variação de Imprima um negativo do seu código , do que gostei muito! Agradecimentos a Martin Büttner ♦ - quase todo esse texto é dele.)
Vamos considerar os símbolos como os seguintes caracteres imprimíveis ASCII (observe que o espaço está incluído):
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
E os alfanuméricos são estes:
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Considere um quadrado de caracteres ASCII imprimíveis para o comprimento lateral N, como o seguinte:
ONE,
{two}
&3,+=
!four
f|ve.
Também exigimos que cada linha e cada coluna contenha pelo menos um símbolo e um alfanumérico. (O exemplo acima satisfaz isso.)
Definimos o negativo simbólico de um quadrado como um quadrado do mesmo tamanho, onde cada símbolo é substituído por um alfanumérico e vice-versa. Por exemplo, o seguinte seria um negativo simbólico válido do exemplo acima:
[&]OK
a...b
1/100
i@#$%
(R) z
A escolha de caracteres específicos é irrelevante, desde que estejam nas categorias acima.
O desafio
Sua tarefa é escrever um programa com código-fonte quadrado com comprimento lateral N> 1, que imprime um negativo simbólico do seu código-fonte em STDOUT. Os espaços à direita devem ser impressos. Você pode ou não imprimir uma única linha nova à direita.
As regras habituais de quine também se aplicam, portanto, você não deve ler seu próprio código fonte, direta ou indiretamente. Da mesma forma, você não deve assumir um ambiente REPL que imprima automaticamente o valor de cada expressão inserida.
O vencedor é o programa com o menor comprimento lateral N. Em caso de empate, a submissão com o menor número de símbolos no código-fonte vence. Se ainda houver um empate, a resposta mais antiga vence.