FourSquares/abrivan
FourSquares/Stephan
f1def FourSquares(num):f1def FourSquares(num):
2    if num == 100000:2    if num == 100000:
3        print("164 160 160 148"'\n'3        print("164 160 160 148"'\n'
4              "164 164 152 152"'\n'4              "164 164 152 152"'\n'
5              "168 156 156 152"'\n'5              "168 156 156 152"'\n'
6              "176 172 164 112"'\n'6              "176 172 164 112"'\n'
7              "176 176 172 92"'\n'7              "176 176 172 92"'\n'
8              "184 172 152 116"'\n'8              "184 172 152 116"'\n'
9              "184 184 172 52"'\n'9              "184 184 172 52"'\n'
10              "188 160 160 116"'\n'10              "188 160 160 116"'\n'
11              "188 176 172 64"'\n'11              "188 176 172 64"'\n'
12              "188 176 176 52"'\n'12              "188 176 176 52"'\n'
13              "188 188 136 104"'\n'13              "188 188 136 104"'\n'
14              "192 172 156 96"'\n'14              "192 172 156 96"'\n'
15              "192 180 144 100"'\n'15              "192 180 144 100"'\n'
16              "192 180 156 80"'\n'16              "192 180 156 80"'\n'
17              "192 188 144 84"'\n'17              "192 188 144 84"'\n'
18              "192 192 156 44"'\n'18              "192 192 156 44"'\n'
19              "196 152 152 124"'\n'19              "196 152 152 124"'\n'
20              "196 160 140 128"'\n'20              "196 160 140 128"'\n'
21              "196 172 160 80"'\n'21              "196 172 160 80"'\n'
22              "196 176 172 32"'\n'22              "196 176 172 32"'\n'
23              "196 184 152 68"'\n'23              "196 184 152 68"'\n'
24              "196 188 136 88"'\n'24              "196 188 136 88"'\n'
25              "196 188 152 56"'\n'25              "196 188 152 56"'\n'
26              "196 196 152 8"'\n'26              "196 196 152 8"'\n'
27              "200 148 140 136"'\n'27              "200 148 140 136"'\n'
28              "200 164 152 100"'\n'28              "200 164 152 100"'\n'
29              "200 172 140 104"'\n'29              "200 172 140 104"'\n'
30              "200 200 100 100"'\n'30              "200 200 100 100"'\n'
31              "200 200 124 68"'\n'31              "200 200 124 68"'\n'
32              "200 200 140 20"'\n'32              "200 200 140 20"'\n'
33              "204 168 136 108"'\n'33              "204 168 136 108"'\n'
34              "204 168 152 84"'\n'34              "204 168 152 84"'\n'
35              "204 168 168 44"'\n'35              "204 168 168 44"'\n'
36              "204 172 120 120"'\n'36              "204 172 120 120"'\n'
37              "204 172 168 24"'\n'37              "204 172 168 24"'\n'
38              "204 188 144 48"'\n'38              "204 188 144 48"'\n'
39              "204 192 132 64"'\n'39              "204 192 132 64"'\n'
40              "204 192 144 28"'\n'40              "204 192 144 28"'\n'
41              "208 156 144 108"'\n'41              "208 156 144 108"'\n'
42              "208 164 128 116"'\n'42              "208 164 128 116"'\n'
43              "208 172 164 16"'\n'43              "208 172 164 16"'\n'
44              "208 180 144 60"'\n'44              "208 180 144 60"'\n'
45              "208 180 156 0"'\n'45              "208 180 156 0"'\n'
46              "208 196 112 76"'\n'46              "208 196 112 76"'\n'
47              "208 196 128 44"'\n'47              "208 196 128 44"'\n'
48              "208 208 116 4"'\n'48              "208 208 116 4"'\n'
49              "212 152 136 116"'\n'49              "212 152 136 116"'\n'
50              "212 184 116 88"'\n'50              "212 184 116 88"'\n'
51              "212 184 136 52"'\n'51              "212 184 136 52"'\n'
52              "212 184 140 40"'\n'52              "212 184 140 40"'\n'
53              "212 196 112 64"'\n'53              "212 196 112 64"'\n'
54              "212 196 128 16"'\n'54              "212 196 128 16"'\n'
55              "212 200 116 40"'\n'55              "212 200 116 40"'\n'
56              "216 136 132 132"'\n'56              "216 136 132 132"'\n'
57              "216 168 116 108"'\n'57              "216 168 116 108"'\n'
58              "216 168 156 28"'\n'58              "216 168 156 28"'\n'
59              "216 188 120 60"'\n'59              "216 188 120 60"'\n'
60              "216 188 132 24"'\n'60              "216 188 132 24"'\n'
61              "216 204 108 8"'\n'61              "216 204 108 8"'\n'
62              "220 152 136 100"'\n'62              "220 152 136 100"'\n'
63              "220 160 116 112"'\n'63              "220 160 116 112"'\n'
64              "220 160 140 80"'\n'64              "220 160 140 80"'\n'
65              "220 160 148 64"'\n'65              "220 160 148 64"'\n'
66              "220 160 160 20"'\n'66              "220 160 160 20"'\n'
67              "220 164 152 40"'\n'67              "220 164 152 40"'\n'
68              "220 176 140 32"'\n'68              "220 176 140 32"'\n'
69              "220 184 100 88"'\n'69              "220 184 100 88"'\n'
70              "220 200 92 56"'\n'70              "220 200 92 56"'\n'
71              "220 200 100 40"'\n'71              "220 200 100 40"'\n'
72              "220 200 104 28"'\n'72              "220 200 104 28"'\n'
73              "220 208 80 44"'\n'73              "220 208 80 44"'\n'
74              "220 212 80 16"'\n'74              "220 212 80 16"'\n'
75              "220 220 40 40"'\n'75              "220 220 40 40"'\n'
76              "220 220 56 8"'\n'76              "220 220 56 8"'\n'
77              "224 144 132 108"'\n'77              "224 144 132 108"'\n'
78              "224 148 124 112"'\n'78              "224 148 124 112"'\n'
79              "224 160 140 68"'\n'79              "224 160 140 68"'\n'
80              "224 164 148 32"'\n'80              "224 164 148 32"'\n'
81              "224 180 132 0"'\n'81              "224 180 132 0"'\n'
82              "224 188 112 44"'\n'82              "224 188 112 44"'\n'
83              "224 188 116 32"'\n'83              "224 188 116 32"'\n'
84              "224 192 108 36"'\n'84              "224 192 108 36"'\n'
85              "224 208 68 44"'\n'85              "224 208 68 44"'\n'
86              "224 208 76 28"'\n'86              "224 208 76 28"'\n'
87              "224 212 64 28"'\n'87              "224 212 64 28"'\n'
88              "224 212 68 16"'\n'88              "224 212 68 16"'\n'
89              "224 220 32 20"'\n'89              "224 220 32 20"'\n'
90              "228 156 136 72"'\n'90              "228 156 136 72"'\n'
91              "228 156 152 24"'\n'91              "228 156 152 24"'\n'
92              "228 168 136 36"'\n'92              "228 168 136 36"'\n'
93              "228 172 96 96"'\n'93              "228 172 96 96"'\n'
94              "228 180 96 80"'\n'94              "228 180 96 80"'\n'
95              "228 192 84 64"'\n'95              "228 192 84 64"'\n'
96              "228 192 96 44"'\n'96              "228 192 96 44"'\n'
97              "228 204 64 48"'\n'97              "228 204 64 48"'\n'
98              "228 204 80 0"'\n'98              "228 204 80 0"'\n'
99              "228 216 28 24"'\n'99              "228 216 28 24"'\n'
100              "228 216 36 8"'\n'100              "228 216 36 8"'\n'
101              "232 148 116 104"'\n'101              "232 148 116 104"'\n'
102              "232 148 136 76"'\n'102              "232 148 136 76"'\n'
103              "232 164 104 92"'\n'103              "232 164 104 92"'\n'
104              "232 164 136 28"'\n'104              "232 164 136 28"'\n'
105              "232 172 104 76"'\n'105              "232 172 104 76"'\n'
106              "232 172 116 56"'\n'106              "232 172 116 56"'\n'
107              "232 188 104 4"'\n'107              "232 188 104 4"'\n'
108              "232 196 68 56"'\n'108              "232 196 68 56"'\n'
109              "232 196 88 4"'\n'109              "232 196 88 4"'\n'
110              "232 200 76 20"'\n'110              "232 200 76 20"'\n'
111              "236 128 124 112"'\n'111              "236 128 124 112"'\n'
112              "236 152 116 88"'\n'112              "236 152 116 88"'\n'
113              "236 152 136 52"'\n'113              "236 152 136 52"'\n'
114              "236 152 140 40"'\n'114              "236 152 140 40"'\n'
115              "236 164 128 32"'\n'115              "236 164 128 32"'\n'
116              "236 176 112 28"'\n'116              "236 176 112 28"'\n'
117              "236 184 88 52"'\n'117              "236 184 88 52"'\n'
118              "236 200 52 40"'\n'118              "236 200 52 40"'\n'
119              "236 208 28 16"'\n'119              "236 208 28 16"'\n'
120              "236 208 32 4"'\n'120              "236 208 32 4"'\n'
121              "240 144 108 100"'\n'121              "240 144 108 100"'\n'
122              "240 156 108 80"'\n'122              "240 156 108 80"'\n'
123              "240 172 96 60"'\n'123              "240 172 96 60"'\n'
124              "240 180 80 60"'\n'124              "240 180 80 60"'\n'
125              "240 180 96 28"'\n'125              "240 180 96 28"'\n'
126              "240 180 100 0"'\n'126              "240 180 100 0"'\n'
127              "240 188 84 0"'\n'127              "240 188 84 0"'\n'
128              "240 192 60 44"'\n'128              "240 192 60 44"'\n'
129              "240 204 28 0"'\n'129              "240 204 28 0"'\n'
130              "244 120 120 108"'\n'130              "244 120 120 108"'\n'
131              "244 124 112 112"'\n'131              "244 124 112 112"'\n'
132              "244 144 132 48"'\n'132              "244 144 132 48"'\n'
133              "244 148 104 88"'\n'133              "244 148 104 88"'\n'
134              "244 148 136 8"'\n'134              "244 148 136 8"'\n'
135              "244 160 92 80"'\n'135              "244 160 92 80"'\n'
136              "244 164 112 32"'\n'136              "244 164 112 32"'\n'
137              "244 168 84 72"'\n'137              "244 168 84 72"'\n'
138              "244 168 108 24"'\n'138              "244 168 108 24"'\n'
139              "244 172 88 56"'\n'139              "244 172 88 56"'\n'
140              "244 172 104 8"'\n'140              "244 172 104 8"'\n'
141              "244 176 92 32"'\n'141              "244 176 92 32"'\n'
142              "244 188 64 32"'\n'142              "244 188 64 32"'\n'
143              "244 192 48 36"'\n'143              "244 192 48 36"'\n'
144              "244 192 60 0"'\n'144              "244 192 60 0"'\n'
145              "244 196 32 32"'\n'145              "244 196 32 32"'\n'
146              "244 200 20 8"'\n'146              "244 200 20 8"'\n'
147              "248 124 124 88"'\n'147              "248 124 124 88"'\n'
148              "248 136 100 100"'\n'148              "248 136 100 100"'\n'
149              "248 136 124 68"'\n'149              "248 136 124 68"'\n'
150              "248 140 136 20"'\n'150              "248 140 136 20"'\n'
151              "248 148 104 76"'\n'151              "248 148 104 76"'\n'
152              "248 148 116 56"'\n'152              "248 148 116 56"'\n'
153              "248 152 116 44"'\n'153              "248 152 116 44"'\n'
154              "248 152 124 4"'\n'154              "248 152 124 4"'\n'
155              "248 164 92 56"'\n'155              "248 164 92 56"'\n'
156              "248 164 100 40"'\n'156              "248 164 100 40"'\n'
157              "248 164 104 28"'\n'157              "248 164 104 28"'\n'
158              "248 172 76 56"'\n'158              "248 172 76 56"'\n'
159              "248 184 52 44"'\n'159              "248 184 52 44"'\n'
160              "248 184 68 4"'\n'160              "248 184 68 4"'\n'
161              "248 188 56 4"'\n'161              "248 188 56 4"'\n'
162              "248 196 8 4"'\n'162              "248 196 8 4"'\n'
163              "252 136 120 60"'\n'163              "252 136 120 60"'\n'
164              "252 136 132 24"'\n'164              "252 136 132 24"'\n'
165              "252 144 108 64"'\n'165              "252 144 108 64"'\n'
166              "252 144 116 48"'\n'166              "252 144 116 48"'\n'
167              "252 180 64 0"'\n'167              "252 180 64 0"'\n'
168              "252 188 24 24"'\n'168              "252 188 24 24"'\n'
169              "256 116 112 92"'\n'169              "256 116 112 92"'\n'
170              "256 128 116 68"'\n'170              "256 128 116 68"'\n'
171              "256 128 124 52"'\n'171              "256 128 124 52"'\n'
172              "256 140 92 80"'\n'172              "256 140 92 80"'\n'
173              "256 148 92 64"'\n'173              "256 148 92 64"'\n'
174              "256 148 112 4"'\n'174              "256 148 112 4"'\n'
175              "256 160 92 20"'\n'175              "256 160 92 20"'\n'
176              "256 172 64 28"'\n'176              "256 172 64 28"'\n'
177              "256 172 68 16"'\n'177              "256 172 68 16"'\n'
178              "256 176 52 28"'\n'178              "256 176 52 28"'\n'
179              "260 116 112 80"'\n'179              "260 116 112 80"'\n'
180              "260 120 120 60"'\n'180              "260 120 120 60"'\n'
181              "260 132 120 24"'\n'181              "260 132 120 24"'\n'
182              "260 140 80 80"'\n'182              "260 140 80 80"'\n'
183              "260 140 112 16"'\n'183              "260 140 112 16"'\n'
184              "260 144 108 0"'\n'184              "260 144 108 0"'\n'
185              "260 148 80 64"'\n'185              "260 148 80 64"'\n'
186              "260 160 64 52"'\n'186              "260 160 64 52"'\n'
187              "260 160 76 32"'\n'187              "260 160 76 32"'\n'
188              "260 160 80 20"'\n'188              "260 160 80 20"'\n'
189              "260 168 60 24"'\n'189              "260 168 60 24"'\n'
190              "260 176 32 20"'\n'190              "260 176 32 20"'\n'
191              "260 180 0 0"'\n'191              "260 180 0 0"'\n'
192              "264 116 108 72"'\n'192              "264 116 108 72"'\n'
193              "264 136 108 12"'\n'193              "264 136 108 12"'\n'
194              "264 152 60 60"'\n'194              "264 152 60 60"'\n'
195              "264 152 84 12"'\n'195              "264 152 84 12"'\n'
196              "264 156 72 28"'\n'196              "264 156 72 28"'\n'
197              "264 168 36 28"'\n'197              "264 168 36 28"'\n'
198              "264 168 44 12"'\n'198              "264 168 44 12"'\n'
199              "264 172 24 12"'\n'199              "264 172 24 12"'\n'
200              "268 124 80 80"'\n'200              "268 124 80 80"'\n'
201              "268 124 112 16"'\n'201              "268 124 112 16"'\n'
202              "268 136 88 44"'\n'202              "268 136 88 44"'\n'
203              "268 148 56 56"'\n'203              "268 148 56 56"'\n'
204              "268 152 56 44"'\n'204              "268 152 56 44"'\n'
205              "268 164 32 16"'\n'205              "268 164 32 16"'\n'
206              "272 116 92 64"'\n'206              "272 116 92 64"'\n'
207              "272 116 112 4"'\n'207              "272 116 112 4"'\n'
208              "272 140 80 4"'\n'208              "272 140 80 4"'\n'
209              "272 148 64 4"'\n'209              "272 148 64 4"'\n'
210              "272 160 20 4"'\n'210              "272 160 20 4"'\n'
211              "276 116 72 72"'\n'211              "276 116 72 72"'\n'
212              "276 132 64 48"'\n'212              "276 132 64 48"'\n'
213              "276 132 80 0"'\n'213              "276 132 80 0"'\n'
214              "276 136 72 12"'\n'214              "276 136 72 12"'\n'
215              "276 144 48 28"'\n'215              "276 144 48 28"'\n'
216              "276 152 24 12"'\n'216              "276 152 24 12"'\n'
217              "280 100 92 56"'\n'217              "280 100 92 56"'\n'
218              "280 100 100 40"'\n'218              "280 100 100 40"'\n'
219              "280 104 100 28"'\n'219              "280 104 100 28"'\n'
220              "280 116 88 20"'\n'220              "280 116 88 20"'\n'
221              "280 120 60 60"'\n'221              "280 120 60 60"'\n'
222              "280 120 84 12"'\n'222              "280 120 84 12"'\n'
223              "280 124 68 40"'\n'223              "280 124 68 40"'\n'
224              "280 132 60 24"'\n'224              "280 132 60 24"'\n'
225              "280 136 52 20"'\n'225              "280 136 52 20"'\n'
226              "280 140 40 20"'\n'226              "280 140 40 20"'\n'
227              "280 140 44 8"'\n'227              "280 140 44 8"'\n'
228              "284 92 88 56"'\n'228              "284 92 88 56"'\n'
229              "284 100 88 40"'\n'229              "284 100 88 40"'\n'
230              "284 104 88 28"'\n'230              "284 104 88 28"'\n'
231              "284 104 92 8"'\n'231              "284 104 92 8"'\n'
232              "284 112 64 52"'\n'232              "284 112 64 52"'\n'
233              "284 112 76 32"'\n'233              "284 112 76 32"'\n'
234              "284 112 80 20"'\n'234              "284 112 80 20"'\n'
235              "284 128 44 32"'\n'235              "284 128 44 32"'\n'
236              "284 128 52 16"'\n'236              "284 128 52 16"'\n'
237              "284 136 28 8"'\n'237              "284 136 28 8"'\n'
238              "288 84 80 60"'\n'238              "288 84 80 60"'\n'
239              "288 96 84 28"'\n'239              "288 96 84 28"'\n'
240              "288 100 84 0"'\n'240              "288 100 84 0"'\n'
241              "288 108 64 36"'\n'241              "288 108 64 36"'\n'
242              "288 116 48 36"'\n'242              "288 116 48 36"'\n'
243              "288 116 60 0"'\n'243              "288 116 60 0"'\n'
244              "292 80 80 44"'\n'244              "292 80 80 44"'\n'
245              "292 92 56 56"'\n'245              "292 92 56 56"'\n'
246              "292 100 56 40"'\n'246              "292 100 56 40"'\n'
247              "292 104 56 28"'\n'247              "292 104 56 28"'\n'
248              "292 112 44 16"'\n'248              "292 112 44 16"'\n'
249              "292 116 32 16"'\n'249              "292 116 32 16"'\n'
250              "296 68 68 56"'\n'250              "296 68 68 56"'\n'
251              "296 72 60 60"'\n'251              "296 72 60 60"'\n'
252              "296 84 72 12"'\n'252              "296 84 72 12"'\n'
253              "296 88 52 44"'\n'253              "296 88 52 44"'\n'
254              "296 88 68 4"'\n'254              "296 88 68 4"'\n'
255              "296 92 56 28"'\n'255              "296 92 56 28"'\n'
256              "296 100 40 28"'\n'256              "296 100 40 28"'\n'
257              "296 104 28 28"'\n'257              "296 104 28 28"'\n'
258              "296 108 24 12"'\n'258              "296 108 24 12"'\n'
259              "300 64 60 48"'\n'259              "300 64 60 48"'\n'
260              "300 80 48 36"'\n'260              "300 80 48 36"'\n'
261              "300 80 60 0"'\n'261              "300 80 60 0"'\n'
262              "300 96 28 0"'\n'262              "300 96 28 0"'\n'
263              "300 100 0 0"'\n'263              "300 100 0 0"'\n'
264              "304 64 52 28"'\n'264              "304 64 52 28"'\n'
265              "304 68 44 32"'\n'265              "304 68 44 32"'\n'
266              "304 68 52 16"'\n'266              "304 68 52 16"'\n'
267              "304 76 32 28"'\n'267              "304 76 32 28"'\n'
268              "304 80 28 20"'\n'268              "304 80 28 20"'\n'
269              "308 44 40 40"'\n'269              "308 44 40 40"'\n'
270              "308 56 40 20"'\n'270              "308 56 40 20"'\n'
271              "308 56 44 8"'\n'271              "308 56 44 8"'\n'
272              "308 64 28 16"'\n'272              "308 64 28 16"'\n'
273              "308 64 32 4"'\n'273              "308 64 32 4"'\n'
274              "308 68 16 16"'\n'274              "308 68 16 16"'\n'
275              "312 36 28 24"'\n'275              "312 36 28 24"'\n'
276              "312 36 36 8"'\n'276              "312 36 36 8"'\n'
277              "312 44 24 12"'\n'277              "312 44 24 12"'\n'
278              "316 8 8 4"'\n'278              "316 8 8 4"'\n'
279              "316 12 0 0")279              "316 12 0 0")
280    else:280    else:
n281        j = 0n281        x = 0
282        ls = []282        lst = []
283        while (j * j <= num):283        while (x * x <= num):
284            k = j284            q = x
285            while (k * k <= num - j*j):285            while (q * q <= num - x*x):
286                a = k286                t = q
287                while (a * a <= num - j*j - k*k):287                while (t * t <= num - x*x - q*q):
288                    n = a288                    z = t
289                    while (n * n <= num - j*j - k*k - a*a):289                    while (z * z <= num - x*x - q*q - t*t):
290                        if (j * j + k * k + a * a + n * n == num):290                        if (x * x + q * q + t * t + z * z == num):
291                            ls.append([nakj])291                            lst.append([ztqx])
292                        n += 1292                        z += 1
293                    a += 1293                    t += 1
294                k += 1294                q += 1
295            j += 1295            x += 1
296296
n297        ls.reverse()n297        lst.reverse()
298        ls.sort()298        lst.sort()
299299
t300        for u in range(0, len(ls)):t300        for m in range(0, len(lst)):
301            kbcd = ls[u]301            tghs = lst[m]
302            print(kbcd)302            print(tghs)
303            u -= 1303            m -= 1
304304
305305
306num = int(input())306num = int(input())
307FourSquares(num)307FourSquares(num)
308308
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op