Splitsen

Beschrijving

Wiskundigen zijn soms rare jongens/meiden. Dat blijkt onder andere wel uit het feit dat ze natuurlijke getallen --- bijvoorbeeld 12 --- willen schrijven als iets moeilijkers; laten we zeggen als som van vier oneven kwadraten: 12 = 3² + 1² + 1² + 1². Toevallig kan dat voor alle getallen van de vorm 4 t, waarbij t een oneven, positief geheel getal is. Helaas zijn wiskundigen na de introductie van de zakjapanner de kunst van het hoofdrekenen een beetje verleerd. Het vinden van zo'n schrijfwijze --- ook wel opsplitsing genoemd --- laten ze dan ook liever aan de informatici (m/v) over.

Het Probleem

Aan jou dus de eer om voor al die wiskundigen een programma te schrijven dat een willekeurig getal 4 t in vier oneven kwadraten splitst, waarbij t een oneven, positief geheel getal is. Nu zijn er voor elke 4 t meestal verscheidene opsplitsingen. Uiteraard zijn we alleen geïnteresseerd in echt verschillende opsplitsingen. We noemen twee opsplitsingen echt verschillend als de één niet in de ander over te voeren is door de vier termen te permuteren.

De Invoer

De invoer begint met één regel met daarop het aantal getallen n dat gesplitst moet worden. Daarna volgen n regels met daarop een waarde voor t, waarbij 1 <= t <= 5001 en t oneven. Voor elke waarde van t bevat de uitvoer alle echt verschillende opsplitsingen van 4 t: per opsplitsing één regel, die er uit ziet als 4*t=a1² + a2² + a3² + a4², waarbij a1 <= a2 <= a3 <= a4 en ai² een oneven kwadraat is (1 <= i <= 4). Verder dienen de opsplitsingen in lexicografische volgorde te verschijnen. De opsplitsingen voor verschillende t's dienen gescheiden te worden door een lege regel.

Voorbeeld

Bij de invoer
3
13
15
31
hoort de uitvoer
4*13=1+1+1+49
4*13=1+1+25+25
4*13=9+9+9+25

4*15=1+1+9+49
4*15=1+9+25+25

4*31=1+1+1+121
4*31=1+25+49+49
4*31=9+9+25+81
4*31=25+25+25+49