3 extern void abort (void);
5 signed char v
[5][7][9][21][4][42][3];
6 volatile int zero
= 0, one
= 1, two
= 2, three
= 3;
7 volatile int five
= 5, seven
= 7, nine
= 9, eleven
= 11;
12 for (int i
= 0; i
< 5; i
++)
13 for (int j
= 0; j
< 7; j
++)
14 for (int k
= 0; k
< 9; k
++)
15 for (int l
= 2 * j
; l
< 3 * j
; l
++)
16 for (int m
= 7; m
< 11; m
++)
17 for (int n
= l
; n
< 2 * l
; n
++)
18 for (int o
= 0; o
< 3; o
++)
19 v
[i
][j
][k
][l
][m
- 7][n
][o
] = 1;
22 #pragma omp teams reduction(+:niters)
23 #pragma omp distribute collapse(7)
24 for (int i
= 0; i
< 5; i
++)
25 for (int j
= 0; j
< 7; j
++)
26 for (int k
= 0; k
< 9; k
++)
27 for (int l
= 2 * j
; l
< 3 * j
; l
++)
28 for (int m
= 7; m
< 11; m
++)
29 for (int n
= l
; n
< 2 * l
; n
++)
30 for (int o
= 0; o
< 3; o
++)
36 || l
< 2 * j
|| l
>= 3 * j
38 || n
< l
|| n
>= 2 * l
41 if (v
[i
][j
][k
][l
][m
- 7][n
][o
] != 1)
43 v
[i
][j
][k
][l
][m
- 7][n
][o
]++;
50 #pragma omp teams reduction(+:niters2)
51 #pragma omp distribute collapse(7)
52 for (int i
= zero
; i
< five
; i
+= one
)
53 for (int j
= seven
- one
; j
>= zero
; j
-= one
)
54 for (int k
= nine
- one
; k
>= zero
; k
+= -one
)
55 for (int l
= two
* j
+ zero
; l
< three
* j
; l
+= one
)
56 for (int m
= eleven
- one
; m
>= seven
; m
-= one
)
57 for (int n
= two
* l
- one
; n
> one
* l
- one
; n
-= one
)
58 for (int o
= zero
; o
< three
; o
+= one
)
64 || l
< 2 * j
|| l
>= 3 * j
66 || n
< l
|| n
>= 2 * l
69 if (v
[i
][j
][k
][l
][m
- 7][n
][o
] != 2)
71 v
[i
][j
][k
][l
][m
- 7][n
][o
]++;
74 if (niters2
!= 117180)
77 for (int i
= 0; i
< 5; i
++)
78 for (int j
= 0; j
< 7; j
++)
79 for (int k
= 0; k
< 9; k
++)
80 for (int l
= 2 * j
; l
< 3 * j
; l
++)
81 for (int m
= 7; m
< 11; m
++)
82 for (int n
= l
; n
< 2 * l
; n
++)
83 for (int o
= 0; o
< 3; o
++)
84 if (v
[i
][j
][k
][l
][m
- 7][n
][o
] != 3)
88 #pragma omp teams reduction(+:niters3)
89 #pragma omp distribute collapse(5)
90 for (int i
= 4; i
>= 0; i
--)
91 for (int j
= 6; j
>= 0; --j
)
92 for (int l
= 3 * j
- 1; l
>= 2 * j
; l
--)
93 for (int n
= 2 * l
+ -1; n
> l
- 1; --n
)
94 for (int o
= 2; o
>= 0; o
--)
99 || l
< 2 * j
|| l
>= 3 * j
100 || n
< l
|| n
>= 2 * l
103 if (v
[i
][j
][0][l
][0][n
][o
] != 3)
105 v
[i
][j
][0][l
][0][n
][o
]++;
112 #pragma omp teams reduction(+:niters4)
113 #pragma omp distribute collapse(5)
114 for (int i
= zero
; i
< five
; i
+= one
)
115 for (int j
= zero
; j
<= seven
- one
; j
+= one
)
116 for (int l
= j
* two
; l
< three
* j
+ zero
; l
+= one
)
117 for (int n
= one
* l
; n
<= l
* two
- one
; n
+= one
)
118 for (int o
= zero
; o
< three
; o
+= one
)
123 || l
< 2 * j
|| l
>= 3 * j
124 || n
< l
|| n
>= 2 * l
127 if (v
[i
][j
][0][l
][0][n
][o
] != 4)
129 v
[i
][j
][0][l
][0][n
][o
]++;
135 for (int i
= 0; i
< 5; i
++)
136 for (int j
= 0; j
< 7; j
++)
137 for (int l
= 2 * j
; l
< 3 * j
; l
++)
138 for (int n
= l
; n
< 2 * l
; n
++)
139 for (int o
= 0; o
< 3; o
++)
140 if (v
[i
][j
][0][l
][0][n
][o
] != 5)
144 #pragma omp teams reduction(+:niters5)
145 #pragma omp distribute collapse(3)
146 for (int j
= 6; j
>= 0; --j
)
147 for (int l
= 2 * j
; l
<= 3 * j
- 1; l
++)
148 for (int n
= 2 * l
+ -1; n
> l
- 1; --n
)
152 || l
< 2 * j
|| l
>= 3 * j
153 || n
< l
|| n
>= 2 * l
)
155 if (v
[0][j
][0][l
][0][n
][0] != 5)
157 v
[0][j
][0][l
][0][n
][0]++;
164 #pragma omp teams reduction(+:niters6)
165 #pragma omp distribute collapse(3)
166 for (int j
= seven
- one
; j
> - one
; j
-= one
)
167 for (int l
= j
* three
- one
; l
>= j
* two
+ zero
; l
+= -one
)
168 for (int n
= two
* l
- one
; n
> l
- one
; n
-= one
)
172 || l
< 2 * j
|| l
>= 3 * j
173 || n
< l
|| n
>= 2 * l
)
175 if (v
[0][j
][0][l
][0][n
][0] != 6)
177 v
[0][j
][0][l
][0][n
][0]++;
183 for (int j
= 0; j
< 7; j
++)
184 for (int l
= 2 * j
; l
< 3 * j
; l
++)
185 for (int n
= l
; n
< 2 * l
; n
++)
186 if (v
[0][j
][0][l
][0][n
][0] != 7)
191 static volatile int a
, b
, c
, d
, e
, f
, g
, h
;
192 static int w
[13][27];
193 for (i
= -4; i
< 8; i
++)
194 for (j
= 3 * i
; j
> 2 * i
; j
--)
196 a
= -4; b
= 8; c
= 1; d
= 3; e
= 0; f
= 2; g
= 0; h
= -1;
197 niters
= 0; i
= -100; j
= -100; x
= -100;
198 #pragma omp teams reduction(+:niters)
199 #pragma omp distribute collapse(2) lastprivate (i, j, x)
200 for (i
= -4; i
< 8; i
++)
201 for (j
= 3 * i
; j
> 2 * i
; j
--)
203 if (i
< -4 || i
>= 8 || j
> 3 * i
|| j
<= i
* 2 || w
[i
+ 5][j
+ 5] != 1)
206 x
= i
* 1024 + (j
& 1023);
209 if (i
!= 8 || j
!= 14 || x
!= 7183 || niters
!= 28)
211 niters
= 0; i
= -100; j
= -100; x
= -100;
212 #pragma omp teams reduction(+:niters)
213 #pragma omp distribute collapse(2) lastprivate (i, j, x)
214 for (i
= a
; i
< b
; i
+= c
)
215 for (j
= d
* i
+ e
; j
> g
+ i
* f
; j
+= h
)
217 if (i
< -4 || i
>= 8 || j
> 3 * i
|| j
<= i
* 2 || w
[i
+ 5][j
+ 5] != 2)
220 x
= i
* 1024 + (j
& 1023);
223 if (i
!= 8 || j
!= 14 || x
!= 7183 || niters
!= 28)
225 for (int i
= -4; i
< 8; i
++)
226 for (int j
= 3 * i
; j
> 2 * i
; j
--)
227 if (w
[i
+ 5][j
+ 5] == 3)
231 for (i
= -2; i
< 4; i
++)
232 for (j
= -2 * i
+ 3; j
> -3; j
-= 2)
234 a
= -2; b
= 4; c
= 1; d
= -2; e
= 3; f
= 0; g
= -3; h
= -2;
235 niters
= 0; i
= -100; j
= -100; x
= -100;
236 #pragma omp teams reduction(+:niters)
237 #pragma omp distribute collapse(2) lastprivate (i, j, x)
238 for (i
= -2; i
< 4; i
++)
239 for (j
= -2 * i
+ 3; j
> -3; j
-= 2)
241 if (i
< -2 || i
>= 4 || j
<= -3 || j
> -2 * i
+ 3 || w
[i
+ 5][j
+ 5] != 1)
244 x
= i
* 1024 + (j
& 1023);
247 if (/* i != 4 || j != -3 || */x
!= 3071 || niters
!= 15)
249 niters
= 0; i
= -100; j
= -100; x
= -100;
250 #pragma omp teams reduction(+:niters)
251 #pragma omp distribute collapse(2) lastprivate (i, j, x)
252 for (i
= a
; i
< b
; i
+= c
)
253 for (j
= d
* i
+ e
; j
> g
+ i
* f
; j
+= h
)
255 if (i
< -2 || i
>= 4 || j
<= -3 || j
> -2 * i
+ 3 || w
[i
+ 5][j
+ 5] != 2)
258 x
= i
* 1024 + (j
& 1023);
261 if (/*i != 4 || j != -3 || */x
!= 3071 || niters
!= 15)
263 for (i
= -2; i
< 4; i
++)
264 for (j
= -2 * i
+ 3; j
> -3; j
-= 2)
265 if (w
[i
+ 5][j
+ 5] == 3)
269 for (i
= 3; i
> -3; i
--)
270 for (j
= -2 * i
+ 7; j
> 2 * i
+ 1; j
--)
272 a
= 3; b
= -3; c
= -1; d
= -2; e
= 7; f
= 2; g
= 1; h
= -1;
273 niters
= 0; i
= -100; j
= -100; x
= -100;
274 #pragma omp teams reduction(+:niters)
275 #pragma omp distribute collapse(2) lastprivate (i, j, x)
276 for (i
= 3; i
> -3; i
--)
277 for (j
= -2 * i
+ 7; j
> 2 * i
+ 1; j
--)
279 if (i
<= -3 || i
> 3 || j
<= 2 * i
+ 1 || j
> -2 * i
+ 7 || w
[i
+ 5][j
+ 5] != 1)
282 x
= i
* 1024 + (j
& 1023);
285 if (i
!= -3 || j
!= -3 || x
!= -1026 || niters
!= 32)
287 niters
= 0; i
= -100; j
= -100; x
= -100;
288 #pragma omp teams reduction(+:niters)
289 #pragma omp distribute collapse(2) lastprivate (i, j, x)
290 for (i
= a
; i
> b
; i
+= c
)
291 for (j
= d
* i
+ e
; j
> g
+ i
* f
; j
+= h
)
293 if (i
<= -3 || i
> 3 || j
<= 2 * i
+ 1 || j
> -2 * i
+ 7 || w
[i
+ 5][j
+ 5] != 2)
296 x
= i
* 1024 + (j
& 1023);
299 if (i
!= -3 || j
!= -3 || x
!= -1026 || niters
!= 32)
301 for (i
= 3; i
> -3; i
--)
302 for (j
= -2 * i
+ 7; j
> 2 * i
+ 1; j
--)
303 if (w
[i
+ 5][j
+ 5] == 3)
307 for (i
= 3; i
> -3; i
--)
308 for (j
= 2 * i
+ 7; j
> -2 * i
+ 1; j
--)
310 a
= 3; b
= -3; c
= -1; d
= 2; e
= 7; f
= -2; g
= 1; h
= -1;
311 niters
= 0; i
= -100; j
= -100; x
= -100;
312 #pragma omp teams reduction(+:niters)
313 #pragma omp distribute collapse(2) lastprivate (i, j, x)
314 for (i
= 3; i
> -3; i
--)
315 for (j
= 2 * i
+ 7; j
> -2 * i
+ 1; j
--)
317 if (i
<= -3 || i
> 3 || j
<= -2 * i
+ 1 || j
> 2 * i
+ 7 || w
[i
+ 5][j
+ 5] != 1)
320 x
= i
* 1024 + (j
& 1023);
323 if (/*i != -3 || j != 3 || */x
!= -1020 || niters
!= 50)
325 niters
= 0; i
= -100; j
= -100; x
= -100;
326 #pragma omp teams reduction(+:niters)
327 #pragma omp distribute collapse(2) lastprivate (i, j, x)
328 for (i
= a
; i
> b
; i
+= c
)
329 for (j
= d
* i
+ e
; j
> g
+ i
* f
; j
+= h
)
331 if (i
<= -3 || i
> 3 || j
<= -2 * i
+ 1 || j
> 2 * i
+ 7 || w
[i
+ 5][j
+ 5] != 2)
334 x
= i
* 1024 + (j
& 1023);
337 if (/*i != -3 || j != 3 || */x
!= -1020 || niters
!= 50)
339 for (i
= 3; i
> -3; i
--)
340 for (j
= 2 * i
+ 7; j
> -2 * i
+ 1; j
--)
341 if (w
[i
+ 5][j
+ 5] == 3)
345 for (i
= 6; i
> -6; i
--)
346 for (j
= 2 * i
+ 7; j
<= -2 * i
+ 1; j
++)
348 a
= 6; b
= -6; c
= -1; d
= 2; e
= 7; f
= -2; g
= 2; h
= 1;
349 niters
= 0; i
= -100; j
= -100; x
= -100;
350 #pragma omp teams reduction(+:niters)
351 #pragma omp distribute collapse(2) lastprivate (i, j, x)
352 for (i
= 6; i
> -6; i
--)
353 for (j
= 2 * i
+ 7; j
<= -2 * i
+ 1; j
++)
355 if (i
<= -6 || i
> 6 || j
< 2 * i
+ 7 || j
>= -2 * i
+ 2 || w
[i
+ 5][j
+ 5] != 1)
358 x
= i
* 1024 + (j
& 1023);
361 if (i
!= -6 || j
!= 12 || x
!= -5109 || niters
!= 36)
363 niters
= 0; i
= -100; j
= -100; x
= -100;
364 #pragma omp teams reduction(+:niters)
365 #pragma omp distribute collapse(2) lastprivate (i, j, x)
366 for (i
= a
; i
> b
; i
+= c
)
367 for (j
= d
* i
+ e
; j
< g
+ i
* f
; j
+= h
)
369 if (i
<= -6 || i
> 6 || j
< 2 * i
+ 7 || j
>= -2 * i
+ 2 || w
[i
+ 5][j
+ 5] != 2)
372 x
= i
* 1024 + (j
& 1023);
375 if (i
!= -6 || j
!= 12 || x
!= -5109 || niters
!= 36)
377 for (i
= 6; i
> -6; i
--)
378 for (j
= 2 * i
+ 7; j
<= -2 * i
+ 1; j
++)
379 if (w
[i
+ 5][j
+ 5] == 3)
383 for (i
= 6; i
> -6; i
-= 2)
384 for (j
= -2 * i
+ 7; j
<= 2 * i
+ 1; j
++)
386 a
= 6; b
= -6; c
= -2; d
= -2; e
= 7; f
= 2; g
= 2; h
= 1;
387 niters
= 0; i
= -100; j
= -100; x
= -100;
388 #pragma omp teams reduction(+:niters)
389 #pragma omp distribute collapse(2) lastprivate (i, j, x)
390 for (i
= 6; i
> -6; i
-= 2)
391 for (j
= -2 * i
+ 7; j
<= 2 * i
+ 1; j
++)
393 if (i
<= -6 || i
> 6 || j
< -2 * i
+ 7 || j
>= 2 * i
+ 2 || w
[i
+ 5][j
+ 5] != 1)
396 x
= i
* 1024 + (j
& 1023);
399 if (/*i != -6 || j != 15 || */x
!= 2053 || niters
!= 33)
401 niters
= 0; i
= -100; j
= -100; x
= -100;
402 #pragma omp teams reduction(+:niters)
403 #pragma omp distribute collapse(2) lastprivate (i, j, x)
404 for (i
= a
; i
> b
; i
+= c
)
405 for (j
= d
* i
+ e
; j
< g
+ i
* f
; j
+= h
)
407 if (i
<= -6 || i
> 6 || j
< -2 * i
+ 7 || j
>= 2 * i
+ 2 || w
[i
+ 5][j
+ 5] != 2)
410 x
= i
* 1024 + (j
& 1023);
413 if (/*i != -6 || j != 15 || */x
!= 2053 || niters
!= 33)
415 for (i
= 6; i
> -6; i
-= 2)
416 for (j
= -2 * i
+ 7; j
<= 2 * i
+ 1; j
++)
417 if (w
[i
+ 5][j
+ 5] == 3)