1 X-UIDL: 38762.1114626251
3 X-Mozilla-Status2: 00000000
4 Received: from soleil.uvsq.fr (soleil.uvsq.fr [193.51.24.1])
5 by relay-6m.club-internet.fr (Postfix) with ESMTP id DCFE125639
6 for <netced@club-internet.fr>; Wed, 27 Apr 2005 20:24:09 +0200 (CEST)
7 Received: from torquenada.prism.uvsq.fr (torquenada.prism.uvsq.fr [193.51.25.9])
8 by soleil.uvsq.fr (8.12.11/jtpda-5.4) with ESMTP id j3RIO8Nk002407
9 for <netced@club-internet.fr>; Wed, 27 Apr 2005 20:24:09 +0200 (CEST)
10 Received: from soleil.uvsq.fr (root@soleil.uvsq.fr [193.51.24.1])
11 by torquenada.prism.uvsq.fr (8.11.4/jtpda-5.3.2) with ESMTP id j3RIO7C02410
12 for <cedric.bastoul@prism.uvsq.fr>; Wed, 27 Apr 2005 20:24:08 +0200 (MEST)
13 Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.205])
14 by soleil.uvsq.fr (8.12.11/jtpda-5.4) with ESMTP id j3RIO6e7001164
15 for <cedric.bastoul@prism.uvsq.fr>; Wed, 27 Apr 2005 20:24:06 +0200 (CEST)
16 Received: by wproxy.gmail.com with SMTP id 68so387084wri
17 for <cedric.bastoul@prism.uvsq.fr>; Wed, 27 Apr 2005 11:24:00 -0700 (PDT)
18 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws;
20 h=received:message-id:date:from:reply-to:to:subject:cc:mime-version:content-type;
21 b=LoJNXKibxMTIYItkoT/Sqykpnxxkeik4zUmMeWoVeasUn+yIfBWhF0UkkR0kHBRIeOFOZ/As82OpJ6TQiYZxy/WwuxyQ2aameC9qouWqE6R/dFG1zSY5MilV5/9RLrfinOfdyAoCZ1XzM6VMGspBtK4l5NBZYpsFxJBnVJ5AeW0=
22 Received: by 10.54.121.20 with SMTP id t20mr277933wrc;
23 Wed, 27 Apr 2005 10:24:00 -0700 (PDT)
24 Received: by 10.54.5.57 with HTTP; Wed, 27 Apr 2005 10:24:00 -0700 (PDT)
25 Message-ID: <fc5f19de05042710245f9acadd@mail.gmail.com>
26 Date: Wed, 27 Apr 2005 11:24:00 -0600
27 From: DaeGon Kim <daegonk@gmail.com>
28 Reply-To: DaeGon Kim <daegonk@gmail.com>
29 To: cedric.bastoul@prism.uvsq.fr
30 Subject: Question about Cloog
31 Cc: svr@cs.colostate.edu
33 Content-Type: multipart/mixed;
34 boundary="----=_Part_1422_26966204.1114622640387"
35 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-1.7.5 (soleil.uvsq.fr [193.51.24.1]); Wed, 27 Apr 2005 20:24:09 +0200 (CEST)
36 X-Greylist: Delayed for 00:53:20 by milter-greylist-1.7.5 (soleil.uvsq.fr [193.51.24.1]); Wed, 27 Apr 2005 20:24:07 +0200 (CEST)
37 X-Miltered: at soleil.uvsq.fr with ID 426FD8C9.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)!
38 X-Miltered: at soleil.uvsq.fr with ID 426FD8C6.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)!
39 X-Antivirus: scanned by sophie at soleil.uvsq.fr
40 X-Antivirus: scanned by sophie at soleil.uvsq.fr
43 X-M-Uid: 38762.1114626251
45 ------=_Part_1422_26966204.1114622640387
46 Content-Type: text/plain; charset=ISO-8859-1
47 Content-Transfer-Encoding: quoted-printable
48 Content-Disposition: inline
50 Hello Dr Cedric Bastoul,
52 I am a graduate student in CSU working with Dr. Sanjay Rajopadhye.
53 I am working on experiments on code generation software.=20
54 A few days ago I wrote three cloog input files: LUDom_cloog,
55 OSP_cloog, and LUDom_OSP_cloog. The last file is nothing but
56 concatenation of two previous files. So it has two statements since
57 each of the first two has one statement each.
59 When I generated, I got something strange:=20
60 - The numbers of visited points are different between the first two
62 - The numbers of visited points become different, if I use different
63 options: default and "-f 3".
64 - Domains of all statements are 3-dimensional, but there are
65 statements having only two indices inside one if block. I added
68 Also, I attached my three inputs and C programs in which generated
69 code from cloog can be executed. type1 files contain generated code
70 without any options and type2 files contains generated code with -f 3
73 /* Generated from LUDom_OSP_cloog by CLooG v0.12.2 64 bits in 0.03s. */
74 for (I1=3D0;I1<=3D3*N1;I1++) {
75 for (I2=3Dmax(max(1,ceild(I1-2*N1+2,2)),I1-2*N1);I2<=3DN1;I2++) {
76 for (I3=3Dmax(max(I1-2*I2,ceild(I1-I2,2)),1);I3<=3Dmin(min(N1,floord(I1=
77 +2*I2-1,2)),I1-I2);I3++)
80 S1(J1 =3D I2,J2 =3D I3) ;
82 for (I3=3Dceild(I1+2*I2,2);I3<=3Dmin(min(N1,I1-2*I2-1),floord(2*I1+3*I2=
85 J3 =3D -I1-2*(I2)+2*I3 ;
86 S2(J1 =3D I2,J2 =3D I3) ;
88 for (I3=3Dmax(I1-2*I2,ceild(I1+2*I2,2));I3<=3Dmin(N1,floord(2*I1+I2-1,3=
91 J3 =3D -I1-2*(I2)+2*I3 ;
92 S2(J1 =3D I2,J2 =3D I3) ;
94 S1(J1 =3D I2,J2 =3D I3) ;
96 if ((2*I1+I2)%3 =3D=3D 0) {
99 if ((2*I1+J1)%3 =3D=3D 0) {
106 for (I3=3Dmax(I1-2*I2,ceild(2*I1+I2+1,3));I3<=3Dmin(min(N1,floord(2*I1+=
107 3*I2,3)),I1-I2);I3++)
109 J3 =3D I1-(I2)-(I3) ;
110 S1(J1 =3D I2,J2 =3D I3) ;
111 J3 =3D -I1-2*(I2)+2*I3 ;
112 S2(J1 =3D I2,J2 =3D I3) ;
114 for (I3=3Dmax(ceild(2*I1+3*I2+1,3),I1-2*I2);I3<=3Dmin(N1,I1-I2);I3++) {
115 J3 =3D I1-(I2)-(I3) ;
116 S1(J1 =3D I2,J2 =3D I3) ;
118 for (I3=3Dmax(ceild(I1+2*I2,2),I1-I2+1);I3<=3Dmin(floord(2*I1+3*I2,3),N=
121 J3 =3D -I1-2*(I2)+2*I3 ;
122 S2(J1 =3D I2,J2 =3D I3) ;
128 Thank you for reading.
133 Graduate Student, Computer Science Department,
134 Colorado State University, Fort Collins, CO
135 Tel. Office: (1) 970 491 5937
137 Personal Homepage : http://www.roadtohome.com/
139 ------=_Part_1422_26966204.1114622640387
140 Content-Type: application/octet-stream; name=LUDom_cloog
141 Content-Transfer-Encoding: 7bit
142 Content-Disposition: attachment; filename="LUDom_cloog"
144 ###############################################################################
146 # Problem : LU Decomposition
148 # Author : DaeGon Kim
150 ###############################################################################
152 ### Context -------------------------------------------------------------------
156 1 3 # 1 lines and 3 coloumns
160 1 # 1 - Specify the names of parameters
163 ### ----------------------------------------------------------------------------
165 ### Statements -----------------------------------------------------------------
166 1 # number of statements
170 # Eq/In J J K N1 Constants
171 1 1 0 0 0 -1 # 1 <= I
172 1 0 1 0 0 -1 # 1 <= J
174 1 -1 0 0 1 0 # I <= N1
175 1 0 -1 0 1 0 # J <= N1
176 1 1 0 -1 0 0 # K <= I
177 1 0 1 -1 0 0 # K <= J
181 J1 J2 J3 # iterator names
183 ### ----------------------------------------------------------------------------
186 ### Scattering Functions -------------------------------------------------------
188 1 # Number of scattering functions
191 # I1 I2 I3 I J K N1 1
192 0 1 0 0 -1 -1 -1 0 0 # I1 = I+J+K
193 0 0 1 0 -1 0 0 0 0 # I2 = I
194 0 0 0 1 0 -1 0 0 0 # I3 = J
197 1 # Specify scattering dimension names
198 I1 I2 I3 # Scattering dimension names
200 ### ----------------------------------------------------------------------------
204 ------=_Part_1422_26966204.1114622640387
205 Content-Type: application/octet-stream; name=OSP_cloog
206 Content-Transfer-Encoding: 7bit
207 Content-Disposition: attachment; filename="OSP_cloog"
209 ###############################################################################
211 # Problem : Optimal String Parentheses
213 # Author : DaeGon Kim
215 ###############################################################################
217 ### Context -------------------------------------------------------------------
220 1 3 # 1 lines and 3 coloumns
224 1 # We want to set manually the parameter names
227 ### ----------------------------------------------------------------------------
229 ### Statements -----------------------------------------------------------------
230 1 # number of statements
234 # Eq/In I J K N1 Constants
235 1 1 0 0 0 -1 # 1 <= I
236 1 0 1 0 0 -1 # 1 <= J
238 1 0 -1 0 1 0 # J <= N1
239 1 -1 1 0 0 0 # I <= J
240 1 -1 1 -2 0 0 # 2K <= J-I
244 J1 J2 J3 # Iterators name
246 ### ----------------------------------------------------------------------------
249 ### Scattering Functions -------------------------------------------------------
251 1 # Number of scattering functions
254 # I1 I2 I3 I J K N1 1
255 0 1 0 0 2 -2 1 0 0 # I1 = -2I + 2J - K
256 0 0 1 0 -1 0 0 0 0 # I2 = I
257 0 0 0 1 0 -1 0 0 0 # I3 = J
260 1 # Specify scattering dimension names
261 I1 I2 I3 # Scattering dimension names
263 ### ----------------------------------------------------------------------------
267 ------=_Part_1422_26966204.1114622640387
268 Content-Type: application/octet-stream; name=LUDom_OSP_cloog
269 Content-Transfer-Encoding: 7bit
270 Content-Disposition: attachment; filename="LUDom_OSP_cloog"
272 ###############################################################################
274 # Problem : LU Decomposition +
276 # Author : DaeGon Kim
278 ###############################################################################
280 ### Context -------------------------------------------------------------------
284 1 3 # 1 lines and 3 coloumns
288 1 # 1 - Specify the names of parameters
291 ### ----------------------------------------------------------------------------
293 ### Statements -----------------------------------------------------------------
294 2 # number of statements
298 # Eq/In J J K N1 Constants
299 1 1 0 0 0 -1 # 1 <= I
300 1 0 1 0 0 -1 # 1 <= J
302 1 -1 0 0 1 0 # I <= N1
303 1 0 -1 0 1 0 # J <= N1
304 1 1 0 -1 0 0 # K <= I
305 1 0 1 -1 0 0 # K <= J
311 # Eq/In I J K N1 Constants
312 1 1 0 0 0 -1 # 1 <= I
313 1 0 1 0 0 -1 # 1 <= J
315 1 0 -1 0 1 0 # J <= N1
316 1 -1 1 0 0 0 # I <= J
317 1 -1 1 -2 0 0 # 2K <= J-I
321 J1 J2 J3 # Iterators name
323 ### ----------------------------------------------------------------------------
326 ### Scattering Functions -------------------------------------------------------
328 2 # Number of scattering functions
332 # I1 I2 I3 I J K N1 1
333 0 1 0 0 -1 -1 -1 0 0 # I1 = I+J+K
334 0 0 1 0 -1 0 0 0 0 # I2 = I
335 0 0 0 1 0 -1 0 0 0 # I3 = J
339 # I1 I2 I3 I J K N1 1
340 0 1 0 0 2 -2 1 0 0 # I1 = -2I + 2J - K
341 0 0 1 0 -1 0 0 0 0 # I2 = I
342 0 0 0 1 0 -1 0 0 0 # I3 = J
345 1 # Specify scattering dimension names
346 I1 I2 I3 # Scattering dimension names
348 ### ----------------------------------------------------------------------------
353 ------=_Part_1422_26966204.1114622640387
354 Content-Type: application/octet-stream; name=LUDom.type1.c
355 Content-Transfer-Encoding: 7bit
356 Content-Disposition: attachment; filename="LUDom.type1.c"
358 /* Author : DaeGon Kim
359 Date : Tue Apr 26 20:03:32 MDT 2005 */
364 #define max(x,y) ((x)>(y) ? (x) : (y))
365 #define min(x,y) ((x)>(y) ? (y) : (x))
366 #define ceild(x,y) ((x)+1) / (y)
367 #define floord(x,y) (x) / (y)
369 int main(int argc, char **argv) {
371 /* parameters declaration */
374 /* statements declaration */
377 /* iterators declaration */
385 /* check arguements and get values of parameters */
386 if ( argc != 1 + 1) {
387 printf("The number of arguements for %s is 1\n", argv[0]);
393 /* Generated from ./INPUT/CLOOG/LUDom_cloog by CLooG v0.12.2 64 bits in 0.00s. */
394 for (I1=2;I1<=3*N1;I1++) {
395 for (I2=max(ceild(I1-N1,2),1);I2<=min(N1,I1-1);I2++) {
396 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=min(N1,I1-I2);I3++) {
404 /* statements print */
405 fprintf(stderr, "S1 : %d\n", S1);
412 ------=_Part_1422_26966204.1114622640387
413 Content-Type: application/octet-stream; name=LUDom.type2.c
414 Content-Transfer-Encoding: 7bit
415 Content-Disposition: attachment; filename="LUDom.type2.c"
417 /* Author : DaeGon Kim
418 Date : Tue Apr 26 20:03:33 MDT 2005 */
423 #define max(x,y) ((x)>(y) ? (x) : (y))
424 #define min(x,y) ((x)>(y) ? (y) : (x))
425 #define ceild(x,y) ((x)+1) / (y)
426 #define floord(x,y) (x) / (y)
428 int main(int argc, char **argv) {
430 /* parameters declaration */
433 /* statements declaration */
436 /* iterators declaration */
444 /* check arguements and get values of parameters */
445 if ( argc != 1 + 1) {
446 printf("The number of arguements for %s is 1\n", argv[0]);
452 /* Generated from ./INPUT/CLOOG/LUDom_cloog by CLooG v0.12.2 64 bits in 0.00s. */
453 for (I1=2;I1<=3*N1;I1++) {
454 for (I2=max(ceild(I1-N1,2),1);I2<=min(N1,I1-1);I2++) {
455 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=min(N1,I1-I2);I3++) {
462 /* statements print */
463 fprintf(stderr, "S1 : %d\n", S1);
470 ------=_Part_1422_26966204.1114622640387
471 Content-Type: application/octet-stream; name=OSP.type1.c
472 Content-Transfer-Encoding: 7bit
473 Content-Disposition: attachment; filename="OSP.type1.c"
475 /* Author : DaeGon Kim
476 Date : Tue Apr 26 20:04:18 MDT 2005 */
481 #define max(x,y) ((x)>(y) ? (x) : (y))
482 #define min(x,y) ((x)>(y) ? (y) : (x))
483 #define ceild(x,y) ((x)+1) / (y)
484 #define floord(x,y) (x) / (y)
486 int main(int argc, char **argv) {
488 /* parameters declaration */
491 /* statements declaration */
494 /* iterators declaration */
502 /* check arguements and get values of parameters */
503 if ( argc != 1 + 1) {
504 printf("The number of arguements for %s is 1\n", argv[0]);
510 /* Generated from ./INPUT/CLOOG/OSP_cloog by CLooG v0.12.2 64 bits in 0.00s. */
511 for (I1=0;I1<=2*N1-2;I1++) {
512 for (I2=1;I2<=floord(-I1+2*N1,2);I2++) {
513 for (I3=ceild(I1+2*I2,2);I3<=min(floord(2*I1+3*I2,3),N1);I3++) {
514 J3 = -I1-2*(I2)+2*I3 ;
521 /* statements print */
522 fprintf(stderr, "S1 : %d\n", S1);
528 ------=_Part_1422_26966204.1114622640387
529 Content-Type: application/octet-stream; name=OSP.type2.c
530 Content-Transfer-Encoding: 7bit
531 Content-Disposition: attachment; filename="OSP.type2.c"
533 /* Author : DaeGon Kim
534 Date : Tue Apr 26 20:04:19 MDT 2005 */
539 #define max(x,y) ((x)>(y) ? (x) : (y))
540 #define min(x,y) ((x)>(y) ? (y) : (x))
541 #define ceild(x,y) ((x)+1) / (y)
542 #define floord(x,y) (x) / (y)
544 int main(int argc, char **argv) {
546 /* parameters declaration */
549 /* statements declaration */
552 /* iterators declaration */
560 /* check arguements and get values of parameters */
561 if ( argc != 1 + 1) {
562 printf("The number of arguements for %s is 1\n", argv[0]);
568 /* Generated from ./INPUT/CLOOG/OSP_cloog by CLooG v0.12.2 64 bits in 0.00s. */
569 for (I1=0;I1<=2*N1-2;I1++) {
570 for (I2=1;I2<=floord(-I1+2*N1,2);I2++) {
571 for (I3=ceild(I1+2*I2,2);I3<=min(floord(2*I1+3*I2,3),N1);I3++) {
572 J3 = -I1-2*(I2)+2*I3 ;
579 /* statements print */
580 fprintf(stderr, "S1 : %d\n", S1);
587 ------=_Part_1422_26966204.1114622640387
588 Content-Type: application/octet-stream; name=LUDom_OSP.type1.c
589 Content-Transfer-Encoding: 7bit
590 Content-Disposition: attachment; filename="LUDom_OSP.type1.c"
592 /* Author : DaeGon Kim
593 Date : Tue Apr 26 20:28:05 MDT 2005 */
598 #define max(x,y) ((x)>(y) ? (x) : (y))
599 #define min(x,y) ((x)>(y) ? (y) : (x))
600 #define ceild(x,y) ((x)+1) / (y)
601 #define floord(x,y) (x) / (y)
603 int main(int argc, char **argv) {
605 /* parameters declaration */
608 /* statements declaration */
612 /* iterators declaration */
620 /* check arguements and get values of parameters */
621 if ( argc != 1 + 1) {
622 printf("The number of arguements for %s is 1\n", argv[0]);
628 /* Generated from ./INPUT/CLOOG/LUDom_OSP_cloog by CLooG v0.12.2 64 bits in 0.76s. */
629 for (I1=0;I1<=1;I1++) {
630 for (I2=1;I2<=floord(-I1+2*N1,2);I2++) {
631 for (I3=ceild(I1+2*I2,2);I3<=min(floord(2*I1+3*I2,3),N1);I3++) {
632 J3 = -I1-2*(I2)+2*I3 ;
637 for (I1=2;I1<=min(3,floord(2*N1,3));I1++) {
638 for (I2=max(ceild(I1+1,4),1);I2<=I1-1;I2++) {
639 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
643 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
644 J3 = -I1-2*(I2)+2*I3 ;
648 for (I2=I1;I2<=floord(-I1+2*N1,2);I2++) {
649 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
650 J3 = -I1-2*(I2)+2*I3 ;
659 if ((2*4+J1)%3 == 0) {
665 for (I2=2;I2<=3;I2++) {
666 for (I3=max(max(1,ceild(4-I2,2)),4-2*I2);I3<=4-I2;I3++) {
670 for (I3=max(4-I2+1,ceild(4+2*I2,2));I3<=min(N1,floord(2*4+3*I2,3));I3++) {
671 J3 = -(4)-2*(I2)+2*I3 ;
675 for (I2=4;I2<=N1-2;I2++) {
676 for (I3=ceild(4+2*I2,2);I3<=min(N1,floord(2*4+3*I2,3));I3++) {
677 J3 = -(4)-2*(I2)+2*I3 ;
682 if ((N1 <= 5) && (N1 >= 5)) {
686 if ((2*4+J1)%3 == 0) {
692 for (I2=2;I2<=3;I2++) {
693 for (I3=max(max(1,ceild(4-I2,2)),4-2*I2);I3<=4-I2;I3++) {
697 for (I3=max(4-I2+1,ceild(4+2*I2,2));I3<=min(N1,floord(2*4+3*I2,3));I3++) {
698 J3 = -(4)-2*(I2)+2*I3 ;
703 for (I1=max(2,ceild(2*N1+1,3));I1<=min(3,floord(2*N1+2,3));I1++) {
704 for (I2=max(ceild(I1+1,4),1);I2<=I1-1;I2++) {
705 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
709 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
710 J3 = -I1-2*(I2)+2*I3 ;
716 for (I3=2*1+1;I3<=3*1;I3++) {
720 if ((9*5-1)%12 == 0) {
723 if ((2*5+J1)%3 == 0) {
730 if ((3*5+1)%4 == 0) {
734 J3 = -(5)-2*(I2)+2*I3 ;
737 for (I2=2;I2<=4;I2++) {
738 for (I3=max(max(1,ceild(5-I2,2)),5-2*I2);I3<=5-I2;I3++) {
742 for (I3=max(5-I2+1,ceild(5+2*I2,2));I3<=min(N1,floord(2*5+3*I2,3));I3++) {
743 J3 = -(5)-2*(I2)+2*I3 ;
747 for (I2=5;I2<=floord(2*N1-5,2);I2++) {
748 for (I3=ceild(5+2*I2,2);I3<=min(N1,floord(2*5+3*I2,3));I3++) {
749 J3 = -(5)-2*(I2)+2*I3 ;
754 if ((N1 <= 7) && (N1 >= 7)) {
755 for (I3=2*1+1;I3<=3*1;I3++) {
759 if ((9*5-1)%12 == 0) {
762 if ((2*5+J1)%3 == 0) {
769 if ((3*5+1)%4 == 0) {
773 J3 = -(5)-2*(I2)+2*I3 ;
776 for (I2=2;I2<=4;I2++) {
777 for (I3=max(max(1,ceild(5-I2,2)),5-2*I2);I3<=5-I2;I3++) {
781 for (I3=max(5-I2+1,ceild(5+2*I2,2));I3<=min(N1,floord(2*5+3*I2,3));I3++) {
782 J3 = -(5)-2*(I2)+2*I3 ;
787 for (I1=ceild(2*N1+3,3);I1<=min(floord(4*N1-2,3),3);I1++) {
788 for (I2=max(ceild(I1+1,4),I1-N1+1);I2<=floord(-I1+2*N1,2);I2++) {
789 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
793 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
794 J3 = -I1-2*(I2)+2*I3 ;
798 for (I2=ceild(-I1+2*N1+1,2);I2<=I1-1;I2++) {
799 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
805 if ((N1 <= 4) && (N1 >= 4)) {
809 if ((2*4+J1)%3 == 0) {
815 for (I2=max(2,-N1+5);I2<=N1-2;I2++) {
816 for (I3=max(max(1,ceild(4-I2,2)),4-2*I2);I3<=4-I2;I3++) {
820 for (I3=max(4-I2+1,ceild(4+2*I2,2));I3<=min(N1,floord(2*4+3*I2,3));I3++) {
821 J3 = -(4)-2*(I2)+2*I3 ;
825 for (I2=ceild(2*N1-3,2);I2<=3;I2++) {
826 for (I3=max(max(ceild(4-I2,2),4-2*I2),1);I3<=min(4-I2,N1);I3++) {
833 for (I3=4*1;I3<=floord(13*1-1,3);I3++) {
834 J3 = -(6)-2*(I2)+2*I3 ;
842 if ((2*6+J1)%3 == 0) {
849 for (I3=ceild(13*1+1,3);I3<=min(N1,5*1);I3++) {
852 J3 = -(6)-2*(I2)+2*I3 ;
856 for (I3=2*5/4+1;I3<=3*5/4;I3++) {
860 if ((9*6-1)%12 == 0) {
863 if ((2*6+J1)%3 == 0) {
870 if ((3*6+1)%4 == 0) {
874 J3 = -(6)-2*(I2)+2*I3 ;
879 for (I3=2*3/2;I3<=floord(6*3/2-1,2);I3++) {
886 if ((2*6+J1)%3 == 0) {
893 for (I3=3*3/2+1;I3<=min(N1,floord(11*3/2,3));I3++) {
894 J3 = -(6)-2*(I2)+2*I3 ;
898 for (I2=2;I2<=5;I2++) {
899 for (I3=max(max(1,ceild(6-I2,2)),6-2*I2);I3<=6-I2;I3++) {
903 for (I3=max(6-I2+1,ceild(6+2*I2,2));I3<=min(N1,floord(2*6+3*I2,3));I3++) {
904 J3 = -(6)-2*(I2)+2*I3 ;
908 for (I2=6;I2<=N1-3;I2++) {
909 for (I3=ceild(6+2*I2,2);I3<=min(N1,floord(2*6+3*I2,3));I3++) {
910 J3 = -(6)-2*(I2)+2*I3 ;
915 if ((N1 <= 8) && (N1 >= 8)) {
916 for (I3=4*1;I3<=floord(13*1-1,3);I3++) {
917 J3 = -(6)-2*(I2)+2*I3 ;
925 if ((2*6+J1)%3 == 0) {
932 for (I3=ceild(13*1+1,3);I3<=min(N1,5*1);I3++) {
935 J3 = -(6)-2*(I2)+2*I3 ;
939 for (I3=2*5/4+1;I3<=3*5/4;I3++) {
943 if ((9*6-1)%12 == 0) {
946 if ((2*6+J1)%3 == 0) {
953 if ((3*6+1)%4 == 0) {
957 J3 = -(6)-2*(I2)+2*I3 ;
962 for (I3=2*3/2;I3<=floord(6*3/2-1,2);I3++) {
969 if ((2*6+J1)%3 == 0) {
976 for (I3=3*3/2+1;I3<=min(N1,floord(11*3/2,3));I3++) {
977 J3 = -(6)-2*(I2)+2*I3 ;
981 for (I2=2;I2<=5;I2++) {
982 for (I3=max(max(1,ceild(6-I2,2)),6-2*I2);I3<=6-I2;I3++) {
986 for (I3=max(6-I2+1,ceild(6+2*I2,2));I3<=min(N1,floord(2*6+3*I2,3));I3++) {
987 J3 = -(6)-2*(I2)+2*I3 ;
992 if ((N1 <= 3) && (N1 >= 3)) {
993 if ((4*N1-1)%3 == 0) {
995 for (I2=ceild(N1+2,3);I2<=floord(4*N1-4,3);I2++) {
996 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
1005 if ((2*7+J1)%3 == 0) {
1011 for (I3=6;I3<=5;I3++) {
1014 J3 = -(7)-2*(I2)+2*I3 ;
1020 for (I3=4*7/6;I3<=floord(13*7/6-1,3);I3++) {
1021 J3 = -(7)-2*(I2)+2*I3 ;
1029 if ((2*7+J1)%3 == 0) {
1036 for (I3=ceild(13*7/6+1,3);I3<=min(N1,5*7/6);I3++) {
1039 J3 = -(7)-2*(I2)+2*I3 ;
1044 for (I3=2*3/2+1;I3<=3*3/2;I3++) {
1048 if ((9*7-1)%12 == 0) {
1051 if ((2*7+J1)%3 == 0) {
1058 if ((3*7+1)%4 == 0) {
1062 J3 = -(7)-2*(I2)+2*I3 ;
1067 for (I3=2*7/4;I3<=floord(6*7/4-1,2);I3++) {
1074 if ((2*7+J1)%3 == 0) {
1081 for (I3=3*7/4+1;I3<=min(N1,floord(11*7/4,3));I3++) {
1082 J3 = -(7)-2*(I2)+2*I3 ;
1086 for (I2=2;I2<=6;I2++) {
1087 for (I3=max(max(1,ceild(7-I2,2)),7-2*I2);I3<=7-I2;I3++) {
1091 for (I3=max(7-I2+1,ceild(7+2*I2,2));I3<=min(N1,floord(2*7+3*I2,3));I3++) {
1092 J3 = -(7)-2*(I2)+2*I3 ;
1096 for (I2=7;I2<=floord(2*N1-7,2);I2++) {
1097 for (I3=ceild(7+2*I2,2);I3<=min(N1,floord(2*7+3*I2,3));I3++) {
1098 J3 = -(7)-2*(I2)+2*I3 ;
1103 if ((N1 <= 10) && (N1 >= 10)) {
1105 if ((2*7+J1)%3 == 0) {
1111 for (I3=6;I3<=5;I3++) {
1114 J3 = -(7)-2*(I2)+2*I3 ;
1120 for (I3=4*7/6;I3<=floord(13*7/6-1,3);I3++) {
1121 J3 = -(7)-2*(I2)+2*I3 ;
1129 if ((2*7+J1)%3 == 0) {
1136 for (I3=ceild(13*7/6+1,3);I3<=min(N1,5*7/6);I3++) {
1139 J3 = -(7)-2*(I2)+2*I3 ;
1144 for (I3=2*3/2+1;I3<=3*3/2;I3++) {
1148 if ((9*7-1)%12 == 0) {
1151 if ((2*7+J1)%3 == 0) {
1158 if ((3*7+1)%4 == 0) {
1162 J3 = -(7)-2*(I2)+2*I3 ;
1167 for (I3=2*7/4;I3<=floord(6*7/4-1,2);I3++) {
1174 if ((2*7+J1)%3 == 0) {
1181 for (I3=3*7/4+1;I3<=min(N1,floord(11*7/4,3));I3++) {
1182 J3 = -(7)-2*(I2)+2*I3 ;
1186 for (I2=2;I2<=6;I2++) {
1187 for (I3=max(max(1,ceild(7-I2,2)),7-2*I2);I3<=7-I2;I3++) {
1191 for (I3=max(7-I2+1,ceild(7+2*I2,2));I3<=min(N1,floord(2*7+3*I2,3));I3++) {
1192 J3 = -(7)-2*(I2)+2*I3 ;
1197 if ((N1 <= 6) && (N1 >= 5)) {
1198 for (I3=2*1+1;I3<=3*1;I3++) {
1202 if ((9*5-1)%12 == 0) {
1205 if ((2*5+J1)%3 == 0) {
1212 if ((3*5+1)%4 == 0) {
1216 J3 = -(5)-2*(I2)+2*I3 ;
1219 for (I2=max(2,-N1+6);I2<=floord(2*N1-5,2);I2++) {
1220 for (I3=max(max(1,ceild(5-I2,2)),5-2*I2);I3<=5-I2;I3++) {
1224 for (I3=max(5-I2+1,ceild(5+2*I2,2));I3<=min(N1,floord(2*5+3*I2,3));I3++) {
1225 J3 = -(5)-2*(I2)+2*I3 ;
1229 for (I2=N1-2;I2<=4;I2++) {
1230 for (I3=max(max(ceild(5-I2,2),5-2*I2),1);I3<=min(5-I2,N1);I3++) {
1237 for (I3=ceild(2*N1+1,3);I3<=N1-1;I3++) {
1244 if ((2*5+J1)%3 == 0) {
1253 J3 = -(5)-2*(I2)+2*I3 ;
1255 for (I2=2;I2<=4;I2++) {
1256 for (I3=max(max(ceild(5-I2,2),5-2*I2),1);I3<=min(5-I2,N1);I3++) {
1263 for (I3=ceild(8+2*1,2);I3<=8-2*(1)-1;I3++) {
1264 J3 = -(8)-2*(I2)+2*I3 ;
1267 for (I3=8-2*(1);I3<=floord(2*8+3*1,3);I3++) {
1270 J3 = -(8)-2*(I2)+2*I3 ;
1273 for (I3=ceild(2*8+3*1+1,3);I3<=min(N1,8-(1));I3++) {
1278 for (I3=4*4/3;I3<=floord(13*4/3-1,3);I3++) {
1279 J3 = -(8)-2*(I2)+2*I3 ;
1287 if ((2*8+J1)%3 == 0) {
1294 for (I3=ceild(13*4/3+1,3);I3<=min(N1,5*4/3);I3++) {
1297 J3 = -(8)-2*(I2)+2*I3 ;
1302 for (I3=8-2*(3/2);I3<=floord(8+2*3/2-1,2);I3++) {
1306 for (I3=ceild(8+2*3/2,2);I3<=floord(2*8+3/2-1,3);I3++) {
1307 J3 = -(8)-2*(I2)+2*I3 ;
1312 if ((2*8+3/2)%3 == 0) {
1315 if ((2*8+J1)%3 == 0) {
1322 for (I3=ceild(2*8+3/2+1,3);I3<=8-(3/2);I3++) {
1325 J3 = -(8)-2*(I2)+2*I3 ;
1329 for (I3=2*2;I3<=floord(6*2-1,2);I3++) {
1336 if ((2*8+J1)%3 == 0) {
1343 for (I3=3*2+1;I3<=min(N1,floord(11*2,3));I3++) {
1344 J3 = -(8)-2*(I2)+2*I3 ;
1347 for (I2=3;I2<=7;I2++) {
1348 for (I3=max(max(1,ceild(8-I2,2)),8-2*I2);I3<=8-I2;I3++) {
1352 for (I3=max(8-I2+1,ceild(8+2*I2,2));I3<=min(N1,floord(2*8+3*I2,3));I3++) {
1353 J3 = -(8)-2*(I2)+2*I3 ;
1357 for (I2=8;I2<=N1-4;I2++) {
1358 for (I3=ceild(8+2*I2,2);I3<=min(N1,floord(2*8+3*I2,3));I3++) {
1359 J3 = -(8)-2*(I2)+2*I3 ;
1364 if ((N1 <= 11) && (N1 >= 11)) {
1365 for (I3=ceild(8+2*1,2);I3<=8-2*(1)-1;I3++) {
1366 J3 = -(8)-2*(I2)+2*I3 ;
1369 for (I3=8-2*(1);I3<=floord(2*8+3*1,3);I3++) {
1372 J3 = -(8)-2*(I2)+2*I3 ;
1375 for (I3=ceild(2*8+3*1+1,3);I3<=min(N1,8-(1));I3++) {
1380 for (I3=4*4/3;I3<=floord(13*4/3-1,3);I3++) {
1381 J3 = -(8)-2*(I2)+2*I3 ;
1389 if ((2*8+J1)%3 == 0) {
1396 for (I3=ceild(13*4/3+1,3);I3<=min(N1,5*4/3);I3++) {
1399 J3 = -(8)-2*(I2)+2*I3 ;
1404 for (I3=8-2*(3/2);I3<=floord(8+2*3/2-1,2);I3++) {
1408 for (I3=ceild(8+2*3/2,2);I3<=floord(2*8+3/2-1,3);I3++) {
1409 J3 = -(8)-2*(I2)+2*I3 ;
1414 if ((2*8+3/2)%3 == 0) {
1417 if ((2*8+J1)%3 == 0) {
1424 for (I3=ceild(2*8+3/2+1,3);I3<=8-(3/2);I3++) {
1427 J3 = -(8)-2*(I2)+2*I3 ;
1431 for (I3=2*2;I3<=floord(6*2-1,2);I3++) {
1438 if ((2*8+J1)%3 == 0) {
1445 for (I3=3*2+1;I3<=min(N1,floord(11*2,3));I3++) {
1446 J3 = -(8)-2*(I2)+2*I3 ;
1449 for (I2=3;I2<=7;I2++) {
1450 for (I3=max(max(1,ceild(8-I2,2)),8-2*I2);I3<=8-I2;I3++) {
1454 for (I3=max(8-I2+1,ceild(8+2*I2,2));I3<=min(N1,floord(2*8+3*I2,3));I3++) {
1455 J3 = -(8)-2*(I2)+2*I3 ;
1460 if ((N1 <= 7) && (N1 >= 6)) {
1461 for (I3=4*1;I3<=floord(13*1-1,3);I3++) {
1462 J3 = -(6)-2*(I2)+2*I3 ;
1470 if ((2*6+J1)%3 == 0) {
1477 for (I3=ceild(13*1+1,3);I3<=min(N1,5*1);I3++) {
1480 J3 = -(6)-2*(I2)+2*I3 ;
1484 for (I3=2*5/4+1;I3<=3*5/4;I3++) {
1488 if ((9*6-1)%12 == 0) {
1491 if ((2*6+J1)%3 == 0) {
1498 if ((3*6+1)%4 == 0) {
1502 J3 = -(6)-2*(I2)+2*I3 ;
1507 for (I3=2*3/2;I3<=floord(6*3/2-1,2);I3++) {
1514 if ((2*6+J1)%3 == 0) {
1521 for (I3=3*3/2+1;I3<=min(N1,floord(11*3/2,3));I3++) {
1522 J3 = -(6)-2*(I2)+2*I3 ;
1526 for (I2=2;I2<=N1-3;I2++) {
1527 for (I3=max(max(1,ceild(6-I2,2)),6-2*I2);I3<=6-I2;I3++) {
1531 for (I3=max(6-I2+1,ceild(6+2*I2,2));I3<=min(N1,floord(2*6+3*I2,3));I3++) {
1532 J3 = -(6)-2*(I2)+2*I3 ;
1536 for (I2=ceild(2*N1-5,2);I2<=5;I2++) {
1537 for (I3=max(max(ceild(6-I2,2),6-2*I2),1);I3<=min(6-I2,N1);I3++) {
1543 if ((N1 <= 5) && (N1 >= 5)) {
1544 for (I3=4*1;I3<=floord(13*1-1,3);I3++) {
1545 J3 = -(6)-2*(I2)+2*I3 ;
1553 if ((2*6+J1)%3 == 0) {
1560 for (I3=ceild(13*1+1,3);I3<=min(N1,5*1);I3++) {
1563 J3 = -(6)-2*(I2)+2*I3 ;
1567 for (I3=2*5/4+1;I3<=3*5/4;I3++) {
1571 if ((9*6-1)%12 == 0) {
1574 if ((2*6+J1)%3 == 0) {
1581 if ((3*6+1)%4 == 0) {
1585 J3 = -(6)-2*(I2)+2*I3 ;
1589 for (I2=-N1+7;I2<=N1-3;I2++) {
1590 for (I3=max(max(1,ceild(6-I2,2)),6-2*I2);I3<=6-I2;I3++) {
1594 for (I3=max(6-I2+1,ceild(6+2*I2,2));I3<=min(N1,floord(2*6+3*I2,3));I3++) {
1595 J3 = -(6)-2*(I2)+2*I3 ;
1599 for (I2=ceild(2*N1-5,2);I2<=5;I2++) {
1600 for (I3=max(max(ceild(6-I2,2),6-2*I2),1);I3<=min(6-I2,N1);I3++) {
1606 if ((N1 <= 4) && (N1 >= 3)) {
1610 for (I3=ceild(2*N1,3);I3<=floord(2*N1-1,2);I3++) {
1615 if ((2*I1+J1)%3 == 0) {
1622 for (I2=ceild(2*N1+3,6);I2<=N1;I2++) {
1623 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
1630 if ((N1 <= 9) && (N1 >= 7)) {
1632 if ((2*7+J1)%3 == 0) {
1638 for (I3=6;I3<=5;I3++) {
1641 J3 = -(7)-2*(I2)+2*I3 ;
1647 for (I3=4*7/6;I3<=floord(13*7/6-1,3);I3++) {
1648 J3 = -(7)-2*(I2)+2*I3 ;
1656 if ((2*7+J1)%3 == 0) {
1663 for (I3=ceild(13*7/6+1,3);I3<=min(N1,5*7/6);I3++) {
1666 J3 = -(7)-2*(I2)+2*I3 ;
1671 for (I3=2*3/2+1;I3<=3*3/2;I3++) {
1675 if ((9*7-1)%12 == 0) {
1678 if ((2*7+J1)%3 == 0) {
1685 if ((3*7+1)%4 == 0) {
1689 J3 = -(7)-2*(I2)+2*I3 ;
1694 for (I3=2*7/4;I3<=floord(6*7/4-1,2);I3++) {
1701 if ((2*7+J1)%3 == 0) {
1708 for (I3=3*7/4+1;I3<=min(N1,floord(11*7/4,3));I3++) {
1709 J3 = -(7)-2*(I2)+2*I3 ;
1713 for (I2=2;I2<=floord(2*N1-7,2);I2++) {
1714 for (I3=max(max(1,ceild(7-I2,2)),7-2*I2);I3<=7-I2;I3++) {
1718 for (I3=max(7-I2+1,ceild(7+2*I2,2));I3<=min(N1,floord(2*7+3*I2,3));I3++) {
1719 J3 = -(7)-2*(I2)+2*I3 ;
1723 for (I2=N1-3;I2<=6;I2++) {
1724 for (I3=max(max(ceild(7-I2,2),7-2*I2),1);I3<=min(7-I2,N1);I3++) {
1732 if ((2*7+J1)%3 == 0) {
1738 for (I3=6;I3<=5;I3++) {
1741 J3 = -(7)-2*(I2)+2*I3 ;
1747 for (I3=4*7/6;I3<=floord(13*7/6-1,3);I3++) {
1748 J3 = -(7)-2*(I2)+2*I3 ;
1756 if ((2*7+J1)%3 == 0) {
1763 for (I3=ceild(13*7/6+1,3);I3<=min(N1,5*7/6);I3++) {
1766 J3 = -(7)-2*(I2)+2*I3 ;
1771 for (I3=2*3/2+1;I3<=3*3/2;I3++) {
1775 if ((9*7-1)%12 == 0) {
1778 if ((2*7+J1)%3 == 0) {
1785 if ((3*7+1)%4 == 0) {
1789 J3 = -(7)-2*(I2)+2*I3 ;
1793 for (I3=max(max(1,ceild(7-(2),2)),7-2*(2));I3<=7-(2);I3++) {
1797 for (I3=max(7-(2)+1,ceild(7+2*2,2));I3<=min(N1,floord(2*7+3*2,3));I3++) {
1798 J3 = -(7)-2*(I2)+2*I3 ;
1801 for (I2=3;I2<=6;I2++) {
1802 for (I3=max(max(ceild(7-I2,2),7-2*I2),1);I3<=min(7-I2,N1);I3++) {
1810 if ((2*7+J1)%3 == 0) {
1816 for (I2=2;I2<=5;I2++) {
1817 for (I3=max(max(ceild(7-I2,2),7-2*I2),1);I3<=min(7-I2,N1);I3++) {
1824 for (I3=ceild(9+2*1,2);I3<=9-2*(1)-1;I3++) {
1825 J3 = -(9)-2*(I2)+2*I3 ;
1828 for (I3=9-2*(1);I3<=floord(2*9+3*1,3);I3++) {
1831 J3 = -(9)-2*(I2)+2*I3 ;
1834 for (I3=ceild(2*9+3*1+1,3);I3<=min(N1,9-(1));I3++) {
1839 for (I3=4*3/2;I3<=floord(13*3/2-1,3);I3++) {
1840 J3 = -(9)-2*(I2)+2*I3 ;
1848 if ((2*9+J1)%3 == 0) {
1855 for (I3=ceild(13*3/2+1,3);I3<=min(N1,5*3/2);I3++) {
1858 J3 = -(9)-2*(I2)+2*I3 ;
1862 for (I2=2;I2<=1;I2++) {
1863 for (I3=9-2*I2;I3<=floord(9+2*I2-1,2);I3++) {
1867 for (I3=ceild(9+2*I2,2);I3<=floord(2*9+I2-1,3);I3++) {
1868 J3 = -(9)-2*(I2)+2*I3 ;
1873 if ((2*9+I2)%3 == 0) {
1876 if ((2*9+J1)%3 == 0) {
1883 for (I3=ceild(2*9+I2+1,3);I3<=9-I2;I3++) {
1886 J3 = -(9)-2*(I2)+2*I3 ;
1890 for (I3=2*2+1;I3<=3*2;I3++) {
1894 if ((9*9-1)%12 == 0) {
1897 if ((2*9+J1)%3 == 0) {
1904 if ((3*9+1)%4 == 0) {
1908 J3 = -(9)-2*(I2)+2*I3 ;
1911 for (I3=3*2+2;I3<=min(N1,floord(11*2+2,3));I3++) {
1912 J3 = -(9)-2*(I2)+2*I3 ;
1916 for (I3=2*9/4;I3<=floord(6*9/4-1,2);I3++) {
1923 if ((2*9+J1)%3 == 0) {
1930 for (I3=3*9/4+1;I3<=min(N1,floord(11*9/4,3));I3++) {
1931 J3 = -(9)-2*(I2)+2*I3 ;
1935 for (I2=3;I2<=8;I2++) {
1936 for (I3=max(max(1,ceild(9-I2,2)),9-2*I2);I3<=9-I2;I3++) {
1940 for (I3=max(9-I2+1,ceild(9+2*I2,2));I3<=min(N1,floord(2*9+3*I2,3));I3++) {
1941 J3 = -(9)-2*(I2)+2*I3 ;
1945 for (I2=9;I2<=floord(2*N1-9,2);I2++) {
1946 for (I3=ceild(9+2*I2,2);I3<=min(N1,floord(2*9+3*I2,3));I3++) {
1947 J3 = -(9)-2*(I2)+2*I3 ;
1952 if ((N1 <= 13) && (N1 >= 13)) {
1953 for (I3=ceild(9+2*1,2);I3<=9-2*(1)-1;I3++) {
1954 J3 = -(9)-2*(I2)+2*I3 ;
1957 for (I3=9-2*(1);I3<=floord(2*9+3*1,3);I3++) {
1960 J3 = -(9)-2*(I2)+2*I3 ;
1963 for (I3=ceild(2*9+3*1+1,3);I3<=min(N1,9-(1));I3++) {
1968 for (I3=4*3/2;I3<=floord(13*3/2-1,3);I3++) {
1969 J3 = -(9)-2*(I2)+2*I3 ;
1977 if ((2*9+J1)%3 == 0) {
1984 for (I3=ceild(13*3/2+1,3);I3<=min(N1,5*3/2);I3++) {
1987 J3 = -(9)-2*(I2)+2*I3 ;
1991 for (I2=2;I2<=1;I2++) {
1992 for (I3=9-2*I2;I3<=floord(9+2*I2-1,2);I3++) {
1996 for (I3=ceild(9+2*I2,2);I3<=floord(2*9+I2-1,3);I3++) {
1997 J3 = -(9)-2*(I2)+2*I3 ;
2002 if ((2*9+I2)%3 == 0) {
2005 if ((2*9+J1)%3 == 0) {
2012 for (I3=ceild(2*9+I2+1,3);I3<=9-I2;I3++) {
2015 J3 = -(9)-2*(I2)+2*I3 ;
2019 for (I3=2*2+1;I3<=3*2;I3++) {
2023 if ((9*9-1)%12 == 0) {
2026 if ((2*9+J1)%3 == 0) {
2033 if ((3*9+1)%4 == 0) {
2037 J3 = -(9)-2*(I2)+2*I3 ;
2040 for (I3=3*2+2;I3<=min(N1,floord(11*2+2,3));I3++) {
2041 J3 = -(9)-2*(I2)+2*I3 ;
2045 for (I3=2*9/4;I3<=floord(6*9/4-1,2);I3++) {
2052 if ((2*9+J1)%3 == 0) {
2059 for (I3=3*9/4+1;I3<=min(N1,floord(11*9/4,3));I3++) {
2060 J3 = -(9)-2*(I2)+2*I3 ;
2064 for (I2=3;I2<=8;I2++) {
2065 for (I3=max(max(1,ceild(9-I2,2)),9-2*I2);I3<=9-I2;I3++) {
2069 for (I3=max(9-I2+1,ceild(9+2*I2,2));I3<=min(N1,floord(2*9+3*I2,3));I3++) {
2070 J3 = -(9)-2*(I2)+2*I3 ;
2075 if ((N1 <= 4) && (N1 >= 4)) {
2076 if ((4*N1+1)%3 == 0) {
2078 for (I2=ceild(N1+1,3);I2<=N1;I2++) {
2079 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
2086 for (I1=10;I1<=min(11,floord(2*N1,3));I1++) {
2087 for (I2=1;I2<=floord(I1-1,9);I2++) {
2088 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
2089 J3 = -I1-2*(I2)+2*I3 ;
2092 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
2097 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
2098 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
2099 J3 = -I1-2*(I2)+2*I3 ;
2102 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
2105 J3 = -I1-2*(I2)+2*I3 ;
2108 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
2114 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
2115 J3 = -I1-2*(I2)+2*I3 ;
2120 if (13*I1%18 == 0) {
2123 if ((2*I1+J1)%3 == 0) {
2130 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
2133 J3 = -I1-2*(I2)+2*I3 ;
2137 for (I2=ceild(I1+1,6);I2<=floord(I1+2,6);I2++) {
2138 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
2142 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
2143 J3 = -I1-2*(I2)+2*I3 ;
2148 if ((2*I1+I2)%3 == 0) {
2151 if ((2*I1+J1)%3 == 0) {
2158 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
2161 J3 = -I1-2*(I2)+2*I3 ;
2165 if ((I1-1)%4 == 0) {
2167 for (I3=2*I2+1;I3<=3*I2;I3++) {
2171 if ((9*I1-1)%12 == 0) {
2174 if ((2*I1+J1)%3 == 0) {
2181 if ((3*I1+1)%4 == 0) {
2185 J3 = -I1-2*(I2)+2*I3 ;
2188 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
2189 J3 = -I1-2*(I2)+2*I3 ;
2194 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
2201 if ((2*I1+J1)%3 == 0) {
2208 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
2209 J3 = -I1-2*(I2)+2*I3 ;
2213 for (I2=ceild(I1+1,4);I2<=I1-1;I2++) {
2214 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
2218 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
2219 J3 = -I1-2*(I2)+2*I3 ;
2223 for (I2=I1;I2<=floord(-I1+2*N1,2);I2++) {
2224 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
2225 J3 = -I1-2*(I2)+2*I3 ;
2230 if ((N1 <= 10) && (N1 >= 8)) {
2231 for (I3=ceild(8+2*1,2);I3<=8-2*(1)-1;I3++) {
2232 J3 = -(8)-2*(I2)+2*I3 ;
2235 for (I3=8-2*(1);I3<=floord(2*8+3*1,3);I3++) {
2238 J3 = -(8)-2*(I2)+2*I3 ;
2241 for (I3=ceild(2*8+3*1+1,3);I3<=min(N1,8-(1));I3++) {
2246 for (I3=4*4/3;I3<=floord(13*4/3-1,3);I3++) {
2247 J3 = -(8)-2*(I2)+2*I3 ;
2255 if ((2*8+J1)%3 == 0) {
2262 for (I3=ceild(13*4/3+1,3);I3<=min(N1,5*4/3);I3++) {
2265 J3 = -(8)-2*(I2)+2*I3 ;
2270 for (I3=8-2*(3/2);I3<=floord(8+2*3/2-1,2);I3++) {
2274 for (I3=ceild(8+2*3/2,2);I3<=floord(2*8+3/2-1,3);I3++) {
2275 J3 = -(8)-2*(I2)+2*I3 ;
2280 if ((2*8+3/2)%3 == 0) {
2283 if ((2*8+J1)%3 == 0) {
2290 for (I3=ceild(2*8+3/2+1,3);I3<=8-(3/2);I3++) {
2293 J3 = -(8)-2*(I2)+2*I3 ;
2297 for (I3=2*2;I3<=floord(6*2-1,2);I3++) {
2304 if ((2*8+J1)%3 == 0) {
2311 for (I3=3*2+1;I3<=min(N1,floord(11*2,3));I3++) {
2312 J3 = -(8)-2*(I2)+2*I3 ;
2315 for (I2=3;I2<=N1-4;I2++) {
2316 for (I3=max(max(1,ceild(8-I2,2)),8-2*I2);I3<=8-I2;I3++) {
2320 for (I3=max(8-I2+1,ceild(8+2*I2,2));I3<=min(N1,floord(2*8+3*I2,3));I3++) {
2321 J3 = -(8)-2*(I2)+2*I3 ;
2325 for (I2=ceild(2*N1-7,2);I2<=7;I2++) {
2326 for (I3=max(max(ceild(8-I2,2),8-2*I2),1);I3<=min(8-I2,N1);I3++) {
2333 for (I3=ceild(8+2*1,2);I3<=8-2*(1)-1;I3++) {
2334 J3 = -(8)-2*(I2)+2*I3 ;
2337 for (I3=8-2*(1);I3<=N1;I3++) {
2340 J3 = -(8)-2*(I2)+2*I3 ;
2343 for (I3=ceild(2*N1,3);I3<=floord(2*N1-1,2);I3++) {
2348 if ((2*8+J1)%3 == 0) {
2354 for (I2=3;I2<=6;I2++) {
2355 for (I3=max(max(ceild(8-I2,2),8-2*I2),1);I3<=min(8-I2,N1);I3++) {
2362 for (I3=6-2*(1);I3<=N1;I3++) {
2363 J3 = -(6)-2*(I2)+2*I3 ;
2368 for (I2=2;I2<=4;I2++) {
2369 for (I3=max(max(ceild(6-I2,2),6-2*I2),1);I3<=min(6-I2,N1);I3++) {
2376 for (I3=ceild(12+2*1,2);I3<=min(12-2*(1)-1,floord(2*12+3*1,3));I3++) {
2377 J3 = -(12)-2*(I2)+2*I3 ;
2380 for (I3=12-2*(1);I3<=min(N1,12-(1));I3++) {
2384 for (I2=2;I2<=1;I2++) {
2385 for (I3=ceild(12+2*I2,2);I3<=12-2*I2-1;I3++) {
2386 J3 = -(12)-2*(I2)+2*I3 ;
2389 for (I3=12-2*I2;I3<=floord(2*12+3*I2,3);I3++) {
2392 J3 = -(12)-2*(I2)+2*I3 ;
2395 for (I3=ceild(2*12+3*I2+1,3);I3<=min(N1,12-I2);I3++) {
2400 for (I3=4*2;I3<=floord(13*2-1,3);I3++) {
2401 J3 = -(12)-2*(I2)+2*I3 ;
2406 if (13*12%18 == 0) {
2409 if ((2*12+J1)%3 == 0) {
2416 for (I3=ceild(13*2+1,3);I3<=min(N1,5*2);I3++) {
2419 J3 = -(12)-2*(I2)+2*I3 ;
2422 for (I2=3;I2<=2;I2++) {
2423 for (I3=12-2*I2;I3<=floord(12+2*I2-1,2);I3++) {
2427 for (I3=ceild(12+2*I2,2);I3<=floord(2*12+I2-1,3);I3++) {
2428 J3 = -(12)-2*(I2)+2*I3 ;
2433 if ((2*12+I2)%3 == 0) {
2436 if ((2*12+J1)%3 == 0) {
2443 for (I3=ceild(2*12+I2+1,3);I3<=12-I2;I3++) {
2446 J3 = -(12)-2*(I2)+2*I3 ;
2451 for (I3=12-2*(5/2);I3<=floord(12+2*5/2-1,2);I3++) {
2455 for (I3=ceild(12+2*5/2,2);I3<=floord(2*12+5/2-1,3);I3++) {
2456 J3 = -(12)-2*(I2)+2*I3 ;
2461 if ((2*12+5/2)%3 == 0) {
2464 if ((2*12+J1)%3 == 0) {
2471 for (I3=ceild(2*12+5/2+1,3);I3<=12-(5/2);I3++) {
2474 J3 = -(12)-2*(I2)+2*I3 ;
2477 for (I3=12-(5/2)+1;I3<=min(N1,floord(2*12+3*5/2,3));I3++) {
2478 J3 = -(12)-2*(I2)+2*I3 ;
2483 for (I3=2*11/4+1;I3<=3*11/4;I3++) {
2487 if ((9*12-1)%12 == 0) {
2490 if ((2*12+J1)%3 == 0) {
2497 if ((3*12+1)%4 == 0) {
2501 J3 = -(12)-2*(I2)+2*I3 ;
2504 for (I3=3*11/4+2;I3<=min(N1,floord(11*11/4+2,3));I3++) {
2505 J3 = -(12)-2*(I2)+2*I3 ;
2509 for (I3=2*3;I3<=floord(6*3-1,2);I3++) {
2516 if ((2*12+J1)%3 == 0) {
2523 for (I3=3*3+1;I3<=min(N1,floord(11*3,3));I3++) {
2524 J3 = -(12)-2*(I2)+2*I3 ;
2527 for (I2=4;I2<=11;I2++) {
2528 for (I3=max(max(1,ceild(12-I2,2)),12-2*I2);I3<=12-I2;I3++) {
2532 for (I3=max(12-I2+1,ceild(12+2*I2,2));I3<=min(N1,floord(2*12+3*I2,3));I3++) {
2533 J3 = -(12)-2*(I2)+2*I3 ;
2537 for (I2=12;I2<=N1-6;I2++) {
2538 for (I3=ceild(12+2*I2,2);I3<=min(N1,floord(2*12+3*I2,3));I3++) {
2539 J3 = -(12)-2*(I2)+2*I3 ;
2544 if ((N1 <= 17) && (N1 >= 17)) {
2545 for (I3=ceild(12+2*1,2);I3<=min(12-2*(1)-1,floord(2*12+3*1,3));I3++) {
2546 J3 = -(12)-2*(I2)+2*I3 ;
2549 for (I3=12-2*(1);I3<=min(N1,12-(1));I3++) {
2553 for (I2=2;I2<=1;I2++) {
2554 for (I3=ceild(12+2*I2,2);I3<=12-2*I2-1;I3++) {
2555 J3 = -(12)-2*(I2)+2*I3 ;
2558 for (I3=12-2*I2;I3<=floord(2*12+3*I2,3);I3++) {
2561 J3 = -(12)-2*(I2)+2*I3 ;
2564 for (I3=ceild(2*12+3*I2+1,3);I3<=min(N1,12-I2);I3++) {
2569 for (I3=4*2;I3<=floord(13*2-1,3);I3++) {
2570 J3 = -(12)-2*(I2)+2*I3 ;
2575 if (13*12%18 == 0) {
2578 if ((2*12+J1)%3 == 0) {
2585 for (I3=ceild(13*2+1,3);I3<=min(N1,5*2);I3++) {
2588 J3 = -(12)-2*(I2)+2*I3 ;
2591 for (I2=3;I2<=2;I2++) {
2592 for (I3=12-2*I2;I3<=floord(12+2*I2-1,2);I3++) {
2596 for (I3=ceild(12+2*I2,2);I3<=floord(2*12+I2-1,3);I3++) {
2597 J3 = -(12)-2*(I2)+2*I3 ;
2602 if ((2*12+I2)%3 == 0) {
2605 if ((2*12+J1)%3 == 0) {
2612 for (I3=ceild(2*12+I2+1,3);I3<=12-I2;I3++) {
2615 J3 = -(12)-2*(I2)+2*I3 ;
2620 for (I3=12-2*(5/2);I3<=floord(12+2*5/2-1,2);I3++) {
2624 for (I3=ceild(12+2*5/2,2);I3<=floord(2*12+5/2-1,3);I3++) {
2625 J3 = -(12)-2*(I2)+2*I3 ;
2630 if ((2*12+5/2)%3 == 0) {
2633 if ((2*12+J1)%3 == 0) {
2640 for (I3=ceild(2*12+5/2+1,3);I3<=12-(5/2);I3++) {
2643 J3 = -(12)-2*(I2)+2*I3 ;
2646 for (I3=12-(5/2)+1;I3<=min(N1,floord(2*12+3*5/2,3));I3++) {
2647 J3 = -(12)-2*(I2)+2*I3 ;
2652 for (I3=2*11/4+1;I3<=3*11/4;I3++) {
2656 if ((9*12-1)%12 == 0) {
2659 if ((2*12+J1)%3 == 0) {
2666 if ((3*12+1)%4 == 0) {
2670 J3 = -(12)-2*(I2)+2*I3 ;
2673 for (I3=3*11/4+2;I3<=min(N1,floord(11*11/4+2,3));I3++) {
2674 J3 = -(12)-2*(I2)+2*I3 ;
2678 for (I3=2*3;I3<=floord(6*3-1,2);I3++) {
2685 if ((2*12+J1)%3 == 0) {
2692 for (I3=3*3+1;I3<=min(N1,floord(11*3,3));I3++) {
2693 J3 = -(12)-2*(I2)+2*I3 ;
2696 for (I2=4;I2<=11;I2++) {
2697 for (I3=max(max(1,ceild(12-I2,2)),12-2*I2);I3<=12-I2;I3++) {
2701 for (I3=max(12-I2+1,ceild(12+2*I2,2));I3<=min(N1,floord(2*12+3*I2,3));I3++) {
2702 J3 = -(12)-2*(I2)+2*I3 ;
2707 for (I1=max(10,ceild(2*N1+1,3));I1<=min(11,floord(2*N1+2,3));I1++) {
2708 for (I2=1;I2<=floord(I1-1,9);I2++) {
2709 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
2710 J3 = -I1-2*(I2)+2*I3 ;
2713 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
2718 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
2719 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
2720 J3 = -I1-2*(I2)+2*I3 ;
2723 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
2726 J3 = -I1-2*(I2)+2*I3 ;
2729 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
2735 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
2736 J3 = -I1-2*(I2)+2*I3 ;
2741 if (13*I1%18 == 0) {
2744 if ((2*I1+J1)%3 == 0) {
2751 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
2754 J3 = -I1-2*(I2)+2*I3 ;
2758 for (I2=ceild(I1+1,6);I2<=floord(I1+2,6);I2++) {
2759 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
2763 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
2764 J3 = -I1-2*(I2)+2*I3 ;
2769 if ((2*I1+I2)%3 == 0) {
2772 if ((2*I1+J1)%3 == 0) {
2779 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
2782 J3 = -I1-2*(I2)+2*I3 ;
2786 if ((I1-1)%4 == 0) {
2788 for (I3=2*I2+1;I3<=3*I2;I3++) {
2792 if ((9*I1-1)%12 == 0) {
2795 if ((2*I1+J1)%3 == 0) {
2802 if ((3*I1+1)%4 == 0) {
2806 J3 = -I1-2*(I2)+2*I3 ;
2809 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
2810 J3 = -I1-2*(I2)+2*I3 ;
2815 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
2822 if ((2*I1+J1)%3 == 0) {
2829 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
2830 J3 = -I1-2*(I2)+2*I3 ;
2834 for (I2=ceild(I1+1,4);I2<=I1-1;I2++) {
2835 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
2839 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
2840 J3 = -I1-2*(I2)+2*I3 ;
2845 if ((N1 <= 12) && (N1 >= 9)) {
2846 for (I3=ceild(9+2*1,2);I3<=9-2*(1)-1;I3++) {
2847 J3 = -(9)-2*(I2)+2*I3 ;
2850 for (I3=9-2*(1);I3<=floord(2*9+3*1,3);I3++) {
2853 J3 = -(9)-2*(I2)+2*I3 ;
2856 for (I3=ceild(2*9+3*1+1,3);I3<=min(N1,9-(1));I3++) {
2861 for (I3=4*3/2;I3<=floord(13*3/2-1,3);I3++) {
2862 J3 = -(9)-2*(I2)+2*I3 ;
2870 if ((2*9+J1)%3 == 0) {
2877 for (I3=ceild(13*3/2+1,3);I3<=min(N1,5*3/2);I3++) {
2880 J3 = -(9)-2*(I2)+2*I3 ;
2884 for (I2=max(2,-N1+10);I2<=1;I2++) {
2885 for (I3=9-2*I2;I3<=floord(9+2*I2-1,2);I3++) {
2889 for (I3=ceild(9+2*I2,2);I3<=floord(2*9+I2-1,3);I3++) {
2890 J3 = -(9)-2*(I2)+2*I3 ;
2895 if ((2*9+I2)%3 == 0) {
2898 if ((2*9+J1)%3 == 0) {
2905 for (I3=ceild(2*9+I2+1,3);I3<=9-I2;I3++) {
2908 J3 = -(9)-2*(I2)+2*I3 ;
2912 for (I3=2*2+1;I3<=3*2;I3++) {
2916 if ((9*9-1)%12 == 0) {
2919 if ((2*9+J1)%3 == 0) {
2926 if ((3*9+1)%4 == 0) {
2930 J3 = -(9)-2*(I2)+2*I3 ;
2933 for (I3=3*2+2;I3<=min(N1,floord(11*2+2,3));I3++) {
2934 J3 = -(9)-2*(I2)+2*I3 ;
2938 for (I3=2*9/4;I3<=floord(6*9/4-1,2);I3++) {
2945 if ((2*9+J1)%3 == 0) {
2952 for (I3=3*9/4+1;I3<=min(N1,floord(11*9/4,3));I3++) {
2953 J3 = -(9)-2*(I2)+2*I3 ;
2957 for (I2=3;I2<=floord(2*N1-9,2);I2++) {
2958 for (I3=max(max(1,ceild(9-I2,2)),9-2*I2);I3<=9-I2;I3++) {
2962 for (I3=max(9-I2+1,ceild(9+2*I2,2));I3<=min(N1,floord(2*9+3*I2,3));I3++) {
2963 J3 = -(9)-2*(I2)+2*I3 ;
2967 for (I2=N1-4;I2<=8;I2++) {
2968 for (I3=max(max(ceild(9-I2,2),9-2*I2),1);I3<=min(9-I2,N1);I3++) {
2975 for (I3=ceild(9+2*1,2);I3<=9-2*(1)-1;I3++) {
2976 J3 = -(9)-2*(I2)+2*I3 ;
2979 for (I3=9-2*(1);I3<=floord(2*9+3*1,3);I3++) {
2982 J3 = -(9)-2*(I2)+2*I3 ;
2985 for (I3=ceild(2*9+3*1+1,3);I3<=min(N1,9-(1));I3++) {
2990 for (I3=4*3/2;I3<=floord(13*3/2-1,3);I3++) {
2991 J3 = -(9)-2*(I2)+2*I3 ;
2999 if ((2*9+J1)%3 == 0) {
3006 for (I3=ceild(13*3/2+1,3);I3<=min(N1,5*3/2);I3++) {
3009 J3 = -(9)-2*(I2)+2*I3 ;
3013 for (I3=2*2+1;I3<=3*2;I3++) {
3017 if ((9*9-1)%12 == 0) {
3020 if ((2*9+J1)%3 == 0) {
3027 if ((3*9+1)%4 == 0) {
3031 J3 = -(9)-2*(I2)+2*I3 ;
3034 for (I3=3*2+2;I3<=min(N1,floord(11*2+2,3));I3++) {
3035 J3 = -(9)-2*(I2)+2*I3 ;
3039 for (I3=2*9/4;I3<=floord(6*9/4-1,2);I3++) {
3046 if ((2*9+J1)%3 == 0) {
3053 for (I3=3*9/4+1;I3<=min(N1,floord(11*9/4,3));I3++) {
3054 J3 = -(9)-2*(I2)+2*I3 ;
3058 for (I3=max(max(1,ceild(9-(3),2)),9-2*(3));I3<=9-(3);I3++) {
3062 for (I3=max(9-(3)+1,ceild(9+2*3,2));I3<=min(N1,floord(2*9+3*3,3));I3++) {
3063 J3 = -(9)-2*(I2)+2*I3 ;
3066 for (I2=4;I2<=8;I2++) {
3067 for (I3=max(max(ceild(9-I2,2),9-2*I2),1);I3<=min(9-I2,N1);I3++) {
3073 for (I1=max(8,ceild(4*N1-13,2));I1<=floord(4*N1-4,3);I1++) {
3074 for (I2=1;I2<=floord(I1-1,7);I2++) {
3075 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
3076 J3 = -I1-2*(I2)+2*I3 ;
3079 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
3082 J3 = -I1-2*(I2)+2*I3 ;
3085 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
3091 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
3092 J3 = -I1-2*(I2)+2*I3 ;
3097 if (13*I1%18 == 0) {
3100 if ((2*I1+J1)%3 == 0) {
3107 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
3110 J3 = -I1-2*(I2)+2*I3 ;
3115 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
3122 if ((2*I1+J1)%3 == 0) {
3129 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
3130 J3 = -I1-2*(I2)+2*I3 ;
3134 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
3135 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
3139 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
3140 J3 = -I1-2*(I2)+2*I3 ;
3144 for (I2=ceild(-I1+2*N1+1,2);I2<=min(N1,I1-1);I2++) {
3145 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
3152 for (I3=ceild(13+2*1,2);I3<=min(13-2*(1)-1,floord(2*13+3*1,3));I3++) {
3153 J3 = -(13)-2*(I2)+2*I3 ;
3156 for (I3=13-2*(1);I3<=min(N1,13-(1));I3++) {
3160 for (I2=2;I2<=1;I2++) {
3161 for (I3=ceild(13+2*I2,2);I3<=13-2*I2-1;I3++) {
3162 J3 = -(13)-2*(I2)+2*I3 ;
3165 for (I3=13-2*I2;I3<=floord(2*13+3*I2,3);I3++) {
3168 J3 = -(13)-2*(I2)+2*I3 ;
3171 for (I3=ceild(2*13+3*I2+1,3);I3<=min(N1,13-I2);I3++) {
3176 for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) {
3177 J3 = -(13)-2*(I2)+2*I3 ;
3182 if ((13*13-1)%18 == 0) {
3185 if ((2*13+J1)%3 == 0) {
3192 for (I3=ceild(13*2+3,3);I3<=floord(15*2+2,3);I3++) {
3195 J3 = -(13)-2*(I2)+2*I3 ;
3198 if ((5*13+1)%6 == 0) {
3204 for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) {
3205 J3 = -(13)-2*(I2)+2*I3 ;
3210 if (13*13%18 == 0) {
3213 if ((2*13+J1)%3 == 0) {
3220 for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) {
3223 J3 = -(13)-2*(I2)+2*I3 ;
3227 for (I2=3;I2<=2;I2++) {
3228 for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
3232 for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
3233 J3 = -(13)-2*(I2)+2*I3 ;
3238 if ((2*13+I2)%3 == 0) {
3241 if ((2*13+J1)%3 == 0) {
3248 for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) {
3251 J3 = -(13)-2*(I2)+2*I3 ;
3255 for (I2=3;I2<=2;I2++) {
3256 for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
3260 for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
3261 J3 = -(13)-2*(I2)+2*I3 ;
3266 if ((2*13+I2)%3 == 0) {
3269 if ((2*13+J1)%3 == 0) {
3276 for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) {
3279 J3 = -(13)-2*(I2)+2*I3 ;
3282 for (I3=13-I2+1;I3<=min(N1,floord(2*13+3*I2,3));I3++) {
3283 J3 = -(13)-2*(I2)+2*I3 ;
3287 for (I3=2*3+1;I3<=3*3;I3++) {
3291 if ((9*13-1)%12 == 0) {
3294 if ((2*13+J1)%3 == 0) {
3301 if ((3*13+1)%4 == 0) {
3305 J3 = -(13)-2*(I2)+2*I3 ;
3308 for (I3=3*3+2;I3<=min(N1,floord(11*3+2,3));I3++) {
3309 J3 = -(13)-2*(I2)+2*I3 ;
3313 for (I3=2*13/4;I3<=floord(6*13/4-1,2);I3++) {
3320 if ((2*13+J1)%3 == 0) {
3327 for (I3=3*13/4+1;I3<=min(N1,floord(11*13/4,3));I3++) {
3328 J3 = -(13)-2*(I2)+2*I3 ;
3332 for (I2=4;I2<=12;I2++) {
3333 for (I3=max(max(1,ceild(13-I2,2)),13-2*I2);I3<=13-I2;I3++) {
3337 for (I3=max(13-I2+1,ceild(13+2*I2,2));I3<=min(N1,floord(2*13+3*I2,3));I3++) {
3338 J3 = -(13)-2*(I2)+2*I3 ;
3342 for (I2=13;I2<=floord(2*N1-13,2);I2++) {
3343 for (I3=ceild(13+2*I2,2);I3<=min(N1,floord(2*13+3*I2,3));I3++) {
3344 J3 = -(13)-2*(I2)+2*I3 ;
3349 if ((N1 <= 19) && (N1 >= 19)) {
3350 for (I3=ceild(13+2*1,2);I3<=min(13-2*(1)-1,floord(2*13+3*1,3));I3++) {
3351 J3 = -(13)-2*(I2)+2*I3 ;
3354 for (I3=13-2*(1);I3<=min(N1,13-(1));I3++) {
3358 for (I2=2;I2<=1;I2++) {
3359 for (I3=ceild(13+2*I2,2);I3<=13-2*I2-1;I3++) {
3360 J3 = -(13)-2*(I2)+2*I3 ;
3363 for (I3=13-2*I2;I3<=floord(2*13+3*I2,3);I3++) {
3366 J3 = -(13)-2*(I2)+2*I3 ;
3369 for (I3=ceild(2*13+3*I2+1,3);I3<=min(N1,13-I2);I3++) {
3374 for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) {
3375 J3 = -(13)-2*(I2)+2*I3 ;
3380 if ((13*13-1)%18 == 0) {
3383 if ((2*13+J1)%3 == 0) {
3390 for (I3=ceild(13*2+3,3);I3<=floord(15*2+2,3);I3++) {
3393 J3 = -(13)-2*(I2)+2*I3 ;
3396 if ((5*13+1)%6 == 0) {
3402 for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) {
3403 J3 = -(13)-2*(I2)+2*I3 ;
3408 if (13*13%18 == 0) {
3411 if ((2*13+J1)%3 == 0) {
3418 for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) {
3421 J3 = -(13)-2*(I2)+2*I3 ;
3425 for (I2=3;I2<=2;I2++) {
3426 for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
3430 for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
3431 J3 = -(13)-2*(I2)+2*I3 ;
3436 if ((2*13+I2)%3 == 0) {
3439 if ((2*13+J1)%3 == 0) {
3446 for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) {
3449 J3 = -(13)-2*(I2)+2*I3 ;
3453 for (I2=3;I2<=2;I2++) {
3454 for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
3458 for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
3459 J3 = -(13)-2*(I2)+2*I3 ;
3464 if ((2*13+I2)%3 == 0) {
3467 if ((2*13+J1)%3 == 0) {
3474 for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) {
3477 J3 = -(13)-2*(I2)+2*I3 ;
3480 for (I3=13-I2+1;I3<=min(N1,floord(2*13+3*I2,3));I3++) {
3481 J3 = -(13)-2*(I2)+2*I3 ;
3485 for (I3=2*3+1;I3<=3*3;I3++) {
3489 if ((9*13-1)%12 == 0) {
3492 if ((2*13+J1)%3 == 0) {
3499 if ((3*13+1)%4 == 0) {
3503 J3 = -(13)-2*(I2)+2*I3 ;
3506 for (I3=3*3+2;I3<=min(N1,floord(11*3+2,3));I3++) {
3507 J3 = -(13)-2*(I2)+2*I3 ;
3511 for (I3=2*13/4;I3<=floord(6*13/4-1,2);I3++) {
3518 if ((2*13+J1)%3 == 0) {
3525 for (I3=3*13/4+1;I3<=min(N1,floord(11*13/4,3));I3++) {
3526 J3 = -(13)-2*(I2)+2*I3 ;
3530 for (I2=4;I2<=12;I2++) {
3531 for (I3=max(max(1,ceild(13-I2,2)),13-2*I2);I3<=13-I2;I3++) {
3535 for (I3=max(13-I2+1,ceild(13+2*I2,2));I3<=min(N1,floord(2*13+3*I2,3));I3++) {
3536 J3 = -(13)-2*(I2)+2*I3 ;
3541 for (I1=max(10,ceild(2*N1+3,3));I1<=min(floord(6*N1-4,5),11);I1++) {
3542 for (I2=1;I2<=floord(I1-1,9);I2++) {
3543 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
3544 J3 = -I1-2*(I2)+2*I3 ;
3547 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
3552 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
3553 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
3554 J3 = -I1-2*(I2)+2*I3 ;
3557 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
3560 J3 = -I1-2*(I2)+2*I3 ;
3563 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
3569 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
3570 J3 = -I1-2*(I2)+2*I3 ;
3575 if (13*I1%18 == 0) {
3578 if ((2*I1+J1)%3 == 0) {
3585 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
3588 J3 = -I1-2*(I2)+2*I3 ;
3592 for (I2=max(ceild(I1+1,6),I1-N1+1);I2<=floord(I1+2,6);I2++) {
3593 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
3597 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
3598 J3 = -I1-2*(I2)+2*I3 ;
3603 if ((2*I1+I2)%3 == 0) {
3606 if ((2*I1+J1)%3 == 0) {
3613 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
3616 J3 = -I1-2*(I2)+2*I3 ;
3620 if ((I1-1)%4 == 0) {
3622 for (I3=2*I2+1;I3<=3*I2;I3++) {
3626 if ((9*I1-1)%12 == 0) {
3629 if ((2*I1+J1)%3 == 0) {
3636 if ((3*I1+1)%4 == 0) {
3640 J3 = -I1-2*(I2)+2*I3 ;
3643 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
3644 J3 = -I1-2*(I2)+2*I3 ;
3649 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
3656 if ((2*I1+J1)%3 == 0) {
3663 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
3664 J3 = -I1-2*(I2)+2*I3 ;
3668 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
3669 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
3673 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
3674 J3 = -I1-2*(I2)+2*I3 ;
3678 for (I2=ceild(-I1+2*N1+1,2);I2<=min(N1,I1-1);I2++) {
3679 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
3686 for (I3=ceild(10+2*1,2);I3<=min(10-2*(1)-1,floord(2*10+3*1,3));I3++) {
3687 J3 = -(10)-2*(I2)+2*I3 ;
3690 for (I3=10-2*(1);I3<=min(N1,10-(1));I3++) {
3695 for (I3=4*5/3;I3<=floord(13*5/3-1,3);I3++) {
3696 J3 = -(10)-2*(I2)+2*I3 ;
3701 if (13*10%18 == 0) {
3704 if ((2*10+J1)%3 == 0) {
3711 for (I3=ceild(13*5/3+1,3);I3<=min(N1,5*5/3);I3++) {
3714 J3 = -(10)-2*(I2)+2*I3 ;
3718 for (I3=10-2*(2);I3<=floord(10+2*2-1,2);I3++) {
3722 for (I3=ceild(10+2*2,2);I3<=floord(2*10+2-1,3);I3++) {
3723 J3 = -(10)-2*(I2)+2*I3 ;
3728 if ((2*10+2)%3 == 0) {
3731 if ((2*10+J1)%3 == 0) {
3738 for (I3=ceild(2*10+2+1,3);I3<=N1;I3++) {
3741 J3 = -(10)-2*(I2)+2*I3 ;
3744 for (I3=max(max(1,ceild(10-(3),2)),10-2*(3));I3<=10-(3);I3++) {
3748 for (I3=max(10-(3)+1,ceild(10+2*3,2));I3<=min(N1,floord(2*10+3*3,3));I3++) {
3749 J3 = -(10)-2*(I2)+2*I3 ;
3752 for (I2=4;I2<=8;I2++) {
3753 for (I3=max(max(ceild(10-I2,2),10-2*I2),1);I3<=min(10-I2,N1);I3++) {
3759 for (I1=max(8,ceild(4*N1-3,3));I1<=floord(6*N1,5);I1++) {
3760 for (I2=1;I2<=floord(I1-1,7);I2++) {
3761 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
3762 J3 = -I1-2*(I2)+2*I3 ;
3765 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
3768 J3 = -I1-2*(I2)+2*I3 ;
3771 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
3777 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
3778 J3 = -I1-2*(I2)+2*I3 ;
3783 if (13*I1%18 == 0) {
3786 if ((2*I1+J1)%3 == 0) {
3793 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
3796 J3 = -I1-2*(I2)+2*I3 ;
3800 for (I2=I1-N1+1;I2<=floord(-I1+2*N1,2);I2++) {
3801 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
3805 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
3806 J3 = -I1-2*(I2)+2*I3 ;
3810 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
3811 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
3818 for (I3=ceild(11+2*1,2);I3<=min(N1,floord(2*11+3*1,3));I3++) {
3819 J3 = -(11)-2*(I2)+2*I3 ;
3822 for (I3=ceild(-5*(2)+3*N1,2);I3<=floord(3*2+3*N1-2,4);I3++) {
3826 for (I3=ceild(3*2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
3827 J3 = -(11)-2*(I2)+2*I3 ;
3833 if ((2*11+J1)%3 == 0) {
3839 for (I2=3;I2<=8;I2++) {
3840 for (I3=max(max(ceild(11-I2,2),11-2*I2),1);I3<=min(11-I2,N1);I3++) {
3846 for (I1=14;I1<=min(19,floord(2*N1,3));I1++) {
3847 for (I2=1;I2<=floord(I1-1,9);I2++) {
3848 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
3849 J3 = -I1-2*(I2)+2*I3 ;
3852 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
3857 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
3858 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
3859 J3 = -I1-2*(I2)+2*I3 ;
3862 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
3865 J3 = -I1-2*(I2)+2*I3 ;
3868 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
3874 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
3875 J3 = -I1-2*(I2)+2*I3 ;
3881 if ((2*I1+J1)%3 == 0) {
3888 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
3891 J3 = -I1-2*(I2)+2*I3 ;
3894 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
3899 if ((I1-1)%6 == 0) {
3901 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
3902 J3 = -I1-2*(I2)+2*I3 ;
3907 if ((13*I1-1)%18 == 0) {
3910 if ((2*I1+J1)%3 == 0) {
3917 for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
3920 J3 = -I1-2*(I2)+2*I3 ;
3923 if ((5*I1+1)%6 == 0) {
3930 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
3931 J3 = -I1-2*(I2)+2*I3 ;
3936 if (13*I1%18 == 0) {
3939 if ((2*I1+J1)%3 == 0) {
3946 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
3949 J3 = -I1-2*(I2)+2*I3 ;
3953 for (I2=ceild(I1+1,6);I2<=floord(I1+2,6);I2++) {
3954 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
3958 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
3959 J3 = -I1-2*(I2)+2*I3 ;
3964 if ((2*I1+I2)%3 == 0) {
3967 if ((2*I1+J1)%3 == 0) {
3974 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
3977 J3 = -I1-2*(I2)+2*I3 ;
3981 for (I2=ceild(I1+3,6);I2<=floord(I1-2,4);I2++) {
3982 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
3986 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
3987 J3 = -I1-2*(I2)+2*I3 ;
3992 if ((2*I1+I2)%3 == 0) {
3995 if ((2*I1+J1)%3 == 0) {
4002 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
4005 J3 = -I1-2*(I2)+2*I3 ;
4008 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
4009 J3 = -I1-2*(I2)+2*I3 ;
4013 if ((I1-1)%4 == 0) {
4015 for (I3=2*I2+1;I3<=3*I2;I3++) {
4019 if ((9*I1-1)%12 == 0) {
4022 if ((2*I1+J1)%3 == 0) {
4029 if ((3*I1+1)%4 == 0) {
4033 J3 = -I1-2*(I2)+2*I3 ;
4036 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
4037 J3 = -I1-2*(I2)+2*I3 ;
4042 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
4049 if ((2*I1+J1)%3 == 0) {
4056 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
4057 J3 = -I1-2*(I2)+2*I3 ;
4061 for (I2=ceild(I1+1,4);I2<=I1-1;I2++) {
4062 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
4066 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
4067 J3 = -I1-2*(I2)+2*I3 ;
4071 for (I2=I1;I2<=floord(-I1+2*N1,2);I2++) {
4072 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
4073 J3 = -I1-2*(I2)+2*I3 ;
4078 if ((N1 <= 16) && (N1 >= 11)) {
4079 for (I3=ceild(12+2*1,2);I3<=min(12-2*(1)-1,floord(2*12+3*1,3));I3++) {
4080 J3 = -(12)-2*(I2)+2*I3 ;
4083 for (I3=12-2*(1);I3<=min(N1,12-(1));I3++) {
4087 for (I2=2;I2<=1;I2++) {
4088 for (I3=ceild(12+2*I2,2);I3<=12-2*I2-1;I3++) {
4089 J3 = -(12)-2*(I2)+2*I3 ;
4092 for (I3=12-2*I2;I3<=floord(2*12+3*I2,3);I3++) {
4095 J3 = -(12)-2*(I2)+2*I3 ;
4098 for (I3=ceild(2*12+3*I2+1,3);I3<=min(N1,12-I2);I3++) {
4103 for (I3=4*2;I3<=floord(13*2-1,3);I3++) {
4104 J3 = -(12)-2*(I2)+2*I3 ;
4109 if (13*12%18 == 0) {
4112 if ((2*12+J1)%3 == 0) {
4119 for (I3=ceild(13*2+1,3);I3<=min(N1,5*2);I3++) {
4122 J3 = -(12)-2*(I2)+2*I3 ;
4125 for (I2=max(3,-N1+13);I2<=2;I2++) {
4126 for (I3=12-2*I2;I3<=floord(12+2*I2-1,2);I3++) {
4130 for (I3=ceild(12+2*I2,2);I3<=floord(2*12+I2-1,3);I3++) {
4131 J3 = -(12)-2*(I2)+2*I3 ;
4136 if ((2*12+I2)%3 == 0) {
4139 if ((2*12+J1)%3 == 0) {
4146 for (I3=ceild(2*12+I2+1,3);I3<=12-I2;I3++) {
4149 J3 = -(12)-2*(I2)+2*I3 ;
4154 for (I3=12-2*(5/2);I3<=floord(12+2*5/2-1,2);I3++) {
4158 for (I3=ceild(12+2*5/2,2);I3<=floord(2*12+5/2-1,3);I3++) {
4159 J3 = -(12)-2*(I2)+2*I3 ;
4164 if ((2*12+5/2)%3 == 0) {
4167 if ((2*12+J1)%3 == 0) {
4174 for (I3=ceild(2*12+5/2+1,3);I3<=12-(5/2);I3++) {
4177 J3 = -(12)-2*(I2)+2*I3 ;
4180 for (I3=12-(5/2)+1;I3<=min(N1,floord(2*12+3*5/2,3));I3++) {
4181 J3 = -(12)-2*(I2)+2*I3 ;
4186 for (I3=2*11/4+1;I3<=3*11/4;I3++) {
4190 if ((9*12-1)%12 == 0) {
4193 if ((2*12+J1)%3 == 0) {
4200 if ((3*12+1)%4 == 0) {
4204 J3 = -(12)-2*(I2)+2*I3 ;
4207 for (I3=3*11/4+2;I3<=min(N1,floord(11*11/4+2,3));I3++) {
4208 J3 = -(12)-2*(I2)+2*I3 ;
4212 for (I3=2*3;I3<=floord(6*3-1,2);I3++) {
4219 if ((2*12+J1)%3 == 0) {
4226 for (I3=3*3+1;I3<=min(N1,floord(11*3,3));I3++) {
4227 J3 = -(12)-2*(I2)+2*I3 ;
4230 for (I2=4;I2<=N1-6;I2++) {
4231 for (I3=max(max(1,ceild(12-I2,2)),12-2*I2);I3<=12-I2;I3++) {
4235 for (I3=max(12-I2+1,ceild(12+2*I2,2));I3<=min(N1,floord(2*12+3*I2,3));I3++) {
4236 J3 = -(12)-2*(I2)+2*I3 ;
4240 for (I2=ceild(2*N1-11,2);I2<=min(N1,11);I2++) {
4241 for (I3=max(max(ceild(12-I2,2),12-2*I2),1);I3<=min(12-I2,N1);I3++) {
4247 for (I1=max(max(10,ceild(12*N1-39,7)),ceild(6*N1-3,5));I1<=floord(4*N1-5,3);I1++) {
4248 for (I2=1;I2<=floord(I1-1,9);I2++) {
4249 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
4250 J3 = -I1-2*(I2)+2*I3 ;
4253 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
4258 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
4259 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
4260 J3 = -I1-2*(I2)+2*I3 ;
4263 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
4266 J3 = -I1-2*(I2)+2*I3 ;
4269 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
4275 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
4276 J3 = -I1-2*(I2)+2*I3 ;
4281 if (13*I1%18 == 0) {
4284 if ((2*I1+J1)%3 == 0) {
4291 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
4294 J3 = -I1-2*(I2)+2*I3 ;
4298 if ((I1-1)%4 == 0) {
4300 for (I3=2*I2+1;I3<=3*I2;I3++) {
4304 if ((9*I1-1)%12 == 0) {
4307 if ((2*I1+J1)%3 == 0) {
4314 if ((3*I1+1)%4 == 0) {
4318 J3 = -I1-2*(I2)+2*I3 ;
4321 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
4322 J3 = -I1-2*(I2)+2*I3 ;
4327 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
4334 if ((2*I1+J1)%3 == 0) {
4341 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
4342 J3 = -I1-2*(I2)+2*I3 ;
4346 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
4347 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
4351 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
4352 J3 = -I1-2*(I2)+2*I3 ;
4356 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
4357 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
4363 if ((N1 <= 7) && (N1 >= 7)) {
4364 if ((4*N1-1)%3 == 0) {
4366 for (I2=1;I2<=floord(4*N1-4,21);I2++) {
4367 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
4368 J3 = -I1-2*(I2)+2*I3 ;
4371 for (I3=I1-2*I2;I3<=N1;I3++) {
4374 J3 = -I1-2*(I2)+2*I3 ;
4378 if ((4*N1-1)%18 == 0) {
4380 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
4381 J3 = -I1-2*(I2)+2*I3 ;
4386 if (13*I1%18 == 0) {
4389 if ((2*I1+J1)%3 == 0) {
4396 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
4399 J3 = -I1-2*(I2)+2*I3 ;
4403 for (I2=ceild(2*N1+1,9);I2<=floord(4*N1-7,12);I2++) {
4404 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
4408 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
4409 J3 = -I1-2*(I2)+2*I3 ;
4414 if ((2*I1+I2)%3 == 0) {
4417 if ((2*I1+J1)%3 == 0) {
4424 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
4427 J3 = -I1-2*(I2)+2*I3 ;
4431 if ((N1-1)%3 == 0) {
4433 for (I3=ceild(2*N1+1,3);I3<=N1-1;I3++) {
4440 if ((2*I1+J1)%3 == 0) {
4449 J3 = -I1-2*(I2)+2*I3 ;
4452 for (I2=ceild(N1+2,3);I2<=N1;I2++) {
4453 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
4460 for (I1=max(N1+3,ceild(3*N1-1,2));I1<=floord(18*N1+5,13);I1++) {
4461 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
4462 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
4463 J3 = -I1-2*(I2)+2*I3 ;
4467 for (I2=-2*I1+3*N1+1;I2<=floord(-I1+2*N1,2);I2++) {
4468 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
4472 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
4473 J3 = -I1-2*(I2)+2*I3 ;
4479 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
4480 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
4486 for (I1=20;I1<=floord(2*N1,3);I1++) {
4487 for (I2=1;I2<=floord(I1-1,9);I2++) {
4488 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
4489 J3 = -I1-2*(I2)+2*I3 ;
4492 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
4497 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
4498 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
4499 J3 = -I1-2*(I2)+2*I3 ;
4502 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
4505 J3 = -I1-2*(I2)+2*I3 ;
4508 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
4514 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
4515 J3 = -I1-2*(I2)+2*I3 ;
4521 if ((2*I1+J1)%3 == 0) {
4528 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
4531 J3 = -I1-2*(I2)+2*I3 ;
4534 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
4539 for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) {
4540 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
4541 J3 = -I1-2*(I2)+2*I3 ;
4544 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
4545 J3 = -I1-2*(I2)+2*I3 ;
4550 if ((2*I1+I2)%3 == 0) {
4553 if ((2*I1+J1)%3 == 0) {
4560 for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
4563 J3 = -I1-2*(I2)+2*I3 ;
4566 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
4571 if ((I1-1)%6 == 0) {
4573 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
4574 J3 = -I1-2*(I2)+2*I3 ;
4579 if ((13*I1-1)%18 == 0) {
4582 if ((2*I1+J1)%3 == 0) {
4589 for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
4592 J3 = -I1-2*(I2)+2*I3 ;
4595 if ((5*I1+1)%6 == 0) {
4602 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
4603 J3 = -I1-2*(I2)+2*I3 ;
4608 if (13*I1%18 == 0) {
4611 if ((2*I1+J1)%3 == 0) {
4618 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
4621 J3 = -I1-2*(I2)+2*I3 ;
4625 for (I2=ceild(I1+1,6);I2<=floord(I1+2,6);I2++) {
4626 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
4630 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
4631 J3 = -I1-2*(I2)+2*I3 ;
4636 if ((2*I1+I2)%3 == 0) {
4639 if ((2*I1+J1)%3 == 0) {
4646 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
4649 J3 = -I1-2*(I2)+2*I3 ;
4653 for (I2=ceild(I1+3,6);I2<=floord(I1-2,4);I2++) {
4654 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
4658 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
4659 J3 = -I1-2*(I2)+2*I3 ;
4664 if ((2*I1+I2)%3 == 0) {
4667 if ((2*I1+J1)%3 == 0) {
4674 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
4677 J3 = -I1-2*(I2)+2*I3 ;
4680 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
4681 J3 = -I1-2*(I2)+2*I3 ;
4685 if ((I1-1)%4 == 0) {
4687 for (I3=2*I2+1;I3<=3*I2;I3++) {
4691 if ((9*I1-1)%12 == 0) {
4694 if ((2*I1+J1)%3 == 0) {
4701 if ((3*I1+1)%4 == 0) {
4705 J3 = -I1-2*(I2)+2*I3 ;
4708 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
4709 J3 = -I1-2*(I2)+2*I3 ;
4714 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
4721 if ((2*I1+J1)%3 == 0) {
4728 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
4729 J3 = -I1-2*(I2)+2*I3 ;
4733 for (I2=ceild(I1+1,4);I2<=I1-1;I2++) {
4734 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
4738 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
4739 J3 = -I1-2*(I2)+2*I3 ;
4743 for (I2=I1;I2<=floord(-I1+2*N1,2);I2++) {
4744 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
4745 J3 = -I1-2*(I2)+2*I3 ;
4750 for (I1=max(14,ceild(2*N1+1,3));I1<=min(19,floord(2*N1+2,3));I1++) {
4751 for (I2=1;I2<=floord(I1-1,9);I2++) {
4752 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
4753 J3 = -I1-2*(I2)+2*I3 ;
4756 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
4761 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
4762 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
4763 J3 = -I1-2*(I2)+2*I3 ;
4766 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
4769 J3 = -I1-2*(I2)+2*I3 ;
4772 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
4778 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
4779 J3 = -I1-2*(I2)+2*I3 ;
4785 if ((2*I1+J1)%3 == 0) {
4792 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
4795 J3 = -I1-2*(I2)+2*I3 ;
4798 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
4803 if ((I1-1)%6 == 0) {
4805 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
4806 J3 = -I1-2*(I2)+2*I3 ;
4811 if ((13*I1-1)%18 == 0) {
4814 if ((2*I1+J1)%3 == 0) {
4821 for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
4824 J3 = -I1-2*(I2)+2*I3 ;
4827 if ((5*I1+1)%6 == 0) {
4834 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
4835 J3 = -I1-2*(I2)+2*I3 ;
4840 if (13*I1%18 == 0) {
4843 if ((2*I1+J1)%3 == 0) {
4850 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
4853 J3 = -I1-2*(I2)+2*I3 ;
4857 for (I2=ceild(I1+1,6);I2<=floord(I1+2,6);I2++) {
4858 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
4862 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
4863 J3 = -I1-2*(I2)+2*I3 ;
4868 if ((2*I1+I2)%3 == 0) {
4871 if ((2*I1+J1)%3 == 0) {
4878 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
4881 J3 = -I1-2*(I2)+2*I3 ;
4885 for (I2=ceild(I1+3,6);I2<=floord(I1-2,4);I2++) {
4886 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
4890 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
4891 J3 = -I1-2*(I2)+2*I3 ;
4896 if ((2*I1+I2)%3 == 0) {
4899 if ((2*I1+J1)%3 == 0) {
4906 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
4909 J3 = -I1-2*(I2)+2*I3 ;
4912 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
4913 J3 = -I1-2*(I2)+2*I3 ;
4917 if ((I1-1)%4 == 0) {
4919 for (I3=2*I2+1;I3<=3*I2;I3++) {
4923 if ((9*I1-1)%12 == 0) {
4926 if ((2*I1+J1)%3 == 0) {
4933 if ((3*I1+1)%4 == 0) {
4937 J3 = -I1-2*(I2)+2*I3 ;
4940 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
4941 J3 = -I1-2*(I2)+2*I3 ;
4946 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
4953 if ((2*I1+J1)%3 == 0) {
4960 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
4961 J3 = -I1-2*(I2)+2*I3 ;
4965 for (I2=ceild(I1+1,4);I2<=I1-1;I2++) {
4966 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
4970 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
4971 J3 = -I1-2*(I2)+2*I3 ;
4976 if ((N1 <= 18) && (N1 >= 12)) {
4977 for (I3=ceild(13+2*1,2);I3<=min(13-2*(1)-1,floord(2*13+3*1,3));I3++) {
4978 J3 = -(13)-2*(I2)+2*I3 ;
4981 for (I3=13-2*(1);I3<=min(N1,13-(1));I3++) {
4985 for (I2=2;I2<=1;I2++) {
4986 for (I3=ceild(13+2*I2,2);I3<=13-2*I2-1;I3++) {
4987 J3 = -(13)-2*(I2)+2*I3 ;
4990 for (I3=13-2*I2;I3<=floord(2*13+3*I2,3);I3++) {
4993 J3 = -(13)-2*(I2)+2*I3 ;
4996 for (I3=ceild(2*13+3*I2+1,3);I3<=min(N1,13-I2);I3++) {
5001 for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) {
5002 J3 = -(13)-2*(I2)+2*I3 ;
5007 if ((13*13-1)%18 == 0) {
5010 if ((2*13+J1)%3 == 0) {
5017 for (I3=ceild(13*2+3,3);I3<=floord(15*2+2,3);I3++) {
5020 J3 = -(13)-2*(I2)+2*I3 ;
5023 if ((5*13+1)%6 == 0) {
5029 for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) {
5030 J3 = -(13)-2*(I2)+2*I3 ;
5035 if (13*13%18 == 0) {
5038 if ((2*13+J1)%3 == 0) {
5045 for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) {
5048 J3 = -(13)-2*(I2)+2*I3 ;
5052 for (I2=max(3,-N1+14);I2<=2;I2++) {
5053 for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
5057 for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
5058 J3 = -(13)-2*(I2)+2*I3 ;
5063 if ((2*13+I2)%3 == 0) {
5066 if ((2*13+J1)%3 == 0) {
5073 for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) {
5076 J3 = -(13)-2*(I2)+2*I3 ;
5080 for (I2=3;I2<=2;I2++) {
5081 for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
5085 for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
5086 J3 = -(13)-2*(I2)+2*I3 ;
5091 if ((2*13+I2)%3 == 0) {
5094 if ((2*13+J1)%3 == 0) {
5101 for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) {
5104 J3 = -(13)-2*(I2)+2*I3 ;
5107 for (I3=13-I2+1;I3<=min(N1,floord(2*13+3*I2,3));I3++) {
5108 J3 = -(13)-2*(I2)+2*I3 ;
5112 for (I3=2*3+1;I3<=3*3;I3++) {
5116 if ((9*13-1)%12 == 0) {
5119 if ((2*13+J1)%3 == 0) {
5126 if ((3*13+1)%4 == 0) {
5130 J3 = -(13)-2*(I2)+2*I3 ;
5133 for (I3=3*3+2;I3<=min(N1,floord(11*3+2,3));I3++) {
5134 J3 = -(13)-2*(I2)+2*I3 ;
5138 for (I3=2*13/4;I3<=floord(6*13/4-1,2);I3++) {
5145 if ((2*13+J1)%3 == 0) {
5152 for (I3=3*13/4+1;I3<=min(N1,floord(11*13/4,3));I3++) {
5153 J3 = -(13)-2*(I2)+2*I3 ;
5157 for (I2=4;I2<=floord(2*N1-13,2);I2++) {
5158 for (I3=max(max(1,ceild(13-I2,2)),13-2*I2);I3<=13-I2;I3++) {
5162 for (I3=max(13-I2+1,ceild(13+2*I2,2));I3<=min(N1,floord(2*13+3*I2,3));I3++) {
5163 J3 = -(13)-2*(I2)+2*I3 ;
5167 for (I2=N1-6;I2<=min(N1,12);I2++) {
5168 for (I3=max(max(ceild(13-I2,2),13-2*I2),1);I3<=min(13-I2,N1);I3++) {
5174 if ((N1 >= 12) && (N1 <= 11)) {
5175 for (I3=ceild(13+2*1,2);I3<=min(13-2*(1)-1,floord(2*13+3*1,3));I3++) {
5176 J3 = -(13)-2*(I2)+2*I3 ;
5179 for (I3=13-2*(1);I3<=min(N1,13-(1));I3++) {
5183 for (I2=2;I2<=1;I2++) {
5184 for (I3=ceild(13+2*I2,2);I3<=13-2*I2-1;I3++) {
5185 J3 = -(13)-2*(I2)+2*I3 ;
5188 for (I3=13-2*I2;I3<=floord(2*13+3*I2,3);I3++) {
5191 J3 = -(13)-2*(I2)+2*I3 ;
5194 for (I3=ceild(2*13+3*I2+1,3);I3<=min(N1,13-I2);I3++) {
5199 for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) {
5200 J3 = -(13)-2*(I2)+2*I3 ;
5205 if ((13*13-1)%18 == 0) {
5208 if ((2*13+J1)%3 == 0) {
5215 for (I3=ceild(13*2+3,3);I3<=floord(15*2+2,3);I3++) {
5218 J3 = -(13)-2*(I2)+2*I3 ;
5221 if ((5*13+1)%6 == 0) {
5227 for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) {
5228 J3 = -(13)-2*(I2)+2*I3 ;
5233 if (13*13%18 == 0) {
5236 if ((2*13+J1)%3 == 0) {
5243 for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) {
5246 J3 = -(13)-2*(I2)+2*I3 ;
5250 for (I2=-N1+14;I2<=2;I2++) {
5251 for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
5255 for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
5256 J3 = -(13)-2*(I2)+2*I3 ;
5261 if ((2*13+I2)%3 == 0) {
5264 if ((2*13+J1)%3 == 0) {
5271 for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) {
5274 J3 = -(13)-2*(I2)+2*I3 ;
5277 for (I3=13-I2+1;I3<=min(N1,floord(2*13+3*I2,3));I3++) {
5278 J3 = -(13)-2*(I2)+2*I3 ;
5282 for (I3=2*3+1;I3<=3*3;I3++) {
5286 if ((9*13-1)%12 == 0) {
5289 if ((2*13+J1)%3 == 0) {
5296 if ((3*13+1)%4 == 0) {
5300 J3 = -(13)-2*(I2)+2*I3 ;
5303 for (I3=3*3+2;I3<=min(N1,floord(11*3+2,3));I3++) {
5304 J3 = -(13)-2*(I2)+2*I3 ;
5308 for (I3=2*13/4;I3<=floord(6*13/4-1,2);I3++) {
5315 if ((2*13+J1)%3 == 0) {
5322 for (I3=3*13/4+1;I3<=min(N1,floord(11*13/4,3));I3++) {
5323 J3 = -(13)-2*(I2)+2*I3 ;
5327 for (I2=4;I2<=floord(2*N1-13,2);I2++) {
5328 for (I3=max(max(1,ceild(13-I2,2)),13-2*I2);I3<=13-I2;I3++) {
5332 for (I3=max(13-I2+1,ceild(13+2*I2,2));I3<=min(N1,floord(2*13+3*I2,3));I3++) {
5333 J3 = -(13)-2*(I2)+2*I3 ;
5337 for (I2=N1-6;I2<=N1;I2++) {
5338 for (I3=max(max(ceild(13-I2,2),13-2*I2),1);I3<=min(13-I2,N1);I3++) {
5345 for (I3=ceild(13+2*1,2);I3<=min(13-2*(1)-1,floord(2*13+3*1,3));I3++) {
5346 J3 = -(13)-2*(I2)+2*I3 ;
5349 for (I3=13-2*(1);I3<=min(N1,13-(1));I3++) {
5353 for (I2=2;I2<=1;I2++) {
5354 for (I3=ceild(13+2*I2,2);I3<=13-2*I2-1;I3++) {
5355 J3 = -(13)-2*(I2)+2*I3 ;
5358 for (I3=13-2*I2;I3<=floord(2*13+3*I2,3);I3++) {
5361 J3 = -(13)-2*(I2)+2*I3 ;
5364 for (I3=ceild(2*13+3*I2+1,3);I3<=min(N1,13-I2);I3++) {
5369 for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) {
5370 J3 = -(13)-2*(I2)+2*I3 ;
5375 if ((13*13-1)%18 == 0) {
5378 if ((2*13+J1)%3 == 0) {
5385 for (I3=ceild(13*2+3,3);I3<=floord(15*2+2,3);I3++) {
5388 J3 = -(13)-2*(I2)+2*I3 ;
5391 if ((5*13+1)%6 == 0) {
5397 for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) {
5398 J3 = -(13)-2*(I2)+2*I3 ;
5403 if (13*13%18 == 0) {
5406 if ((2*13+J1)%3 == 0) {
5413 for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) {
5416 J3 = -(13)-2*(I2)+2*I3 ;
5420 for (I3=2*3+1;I3<=3*3;I3++) {
5424 if ((9*13-1)%12 == 0) {
5427 if ((2*13+J1)%3 == 0) {
5434 if ((3*13+1)%4 == 0) {
5438 J3 = -(13)-2*(I2)+2*I3 ;
5441 for (I3=3*3+2;I3<=min(N1,floord(11*3+2,3));I3++) {
5442 J3 = -(13)-2*(I2)+2*I3 ;
5446 for (I3=2*13/4;I3<=floord(6*13/4-1,2);I3++) {
5453 if ((2*13+J1)%3 == 0) {
5460 for (I3=3*13/4+1;I3<=min(N1,floord(11*13/4,3));I3++) {
5461 J3 = -(13)-2*(I2)+2*I3 ;
5465 for (I3=max(max(1,ceild(13-(4),2)),13-2*(4));I3<=13-(4);I3++) {
5469 for (I3=max(13-(4)+1,ceild(13+2*4,2));I3<=min(N1,floord(2*13+3*4,3));I3++) {
5470 J3 = -(13)-2*(I2)+2*I3 ;
5473 for (I2=5;I2<=11;I2++) {
5474 for (I3=max(max(ceild(13-I2,2),13-2*I2),1);I3<=min(13-I2,N1);I3++) {
5480 if ((N1 >= 9) && (N1 <= 10)) {
5481 if ((4*N1-4)%3 == 0) {
5483 for (I2=1;I2<=floord(4*N1-7,27);I2++) {
5484 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
5485 J3 = -I1-2*(I2)+2*I3 ;
5488 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
5493 for (I2=ceild(4*N1-4,27);I2<=floord(4*N1-7,21);I2++) {
5494 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
5495 J3 = -I1-2*(I2)+2*I3 ;
5498 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
5501 J3 = -I1-2*(I2)+2*I3 ;
5504 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
5509 if ((2*N1-2)%9 == 0) {
5511 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
5512 J3 = -I1-2*(I2)+2*I3 ;
5517 if (13*I1%18 == 0) {
5520 if ((2*I1+J1)%3 == 0) {
5527 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
5530 J3 = -I1-2*(I2)+2*I3 ;
5534 if ((N1-1)%3 == 0) {
5536 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
5543 if ((2*I1+J1)%3 == 0) {
5550 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
5551 J3 = -I1-2*(I2)+2*I3 ;
5555 for (I2=ceild(4*N1-1,12);I2<=floord(N1+2,3);I2++) {
5556 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
5560 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
5561 J3 = -I1-2*(I2)+2*I3 ;
5565 for (I2=ceild(2*N1+7,6);I2<=N1;I2++) {
5566 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
5574 for (I3=ceild(14+2*1,2);I3<=min(N1,floord(2*14+3*1,3));I3++) {
5575 J3 = -(14)-2*(I2)+2*I3 ;
5578 for (I2=2;I2<=1;I2++) {
5579 for (I3=ceild(14+2*I2,2);I3<=14-2*I2-1;I3++) {
5580 J3 = -(14)-2*(I2)+2*I3 ;
5583 for (I3=14-2*I2;I3<=N1;I3++) {
5586 J3 = -(14)-2*(I2)+2*I3 ;
5590 for (I3=ceild(9*2,2);I3<=5*2-1;I3++) {
5591 J3 = -(14)-2*(I2)+2*I3 ;
5597 if ((2*14+J1)%3 == 0) {
5604 for (I3=ceild(15*2+1,3);I3<=N1;I3++) {
5607 J3 = -(14)-2*(I2)+2*I3 ;
5611 for (I3=4*7/3;I3<=floord(13*7/3-1,3);I3++) {
5612 J3 = -(14)-2*(I2)+2*I3 ;
5617 if (13*14%18 == 0) {
5620 if ((2*14+J1)%3 == 0) {
5627 for (I3=ceild(13*7/3+1,3);I3<=min(N1,5*7/3);I3++) {
5630 J3 = -(14)-2*(I2)+2*I3 ;
5634 for (I3=14-2*(3);I3<=floord(14+2*3-1,2);I3++) {
5638 for (I3=ceild(14+2*3,2);I3<=floord(2*14+3-1,3);I3++) {
5639 J3 = -(14)-2*(I2)+2*I3 ;
5644 if ((2*14+3)%3 == 0) {
5647 if ((2*14+J1)%3 == 0) {
5654 for (I3=ceild(2*14+3+1,3);I3<=N1;I3++) {
5657 J3 = -(14)-2*(I2)+2*I3 ;
5660 for (I3=max(max(1,ceild(14-(4),2)),14-2*(4));I3<=14-(4);I3++) {
5664 for (I3=max(14-(4)+1,ceild(14+2*4,2));I3<=min(N1,floord(2*14+3*4,3));I3++) {
5665 J3 = -(14)-2*(I2)+2*I3 ;
5668 for (I2=5;I2<=11;I2++) {
5669 for (I3=max(max(ceild(14-I2,2),14-2*I2),1);I3<=min(14-I2,N1);I3++) {
5676 for (I3=ceild(13+2*1,2);I3<=min(N1,floord(2*13+3*1,3));I3++) {
5677 J3 = -(13)-2*(I2)+2*I3 ;
5680 for (I2=2;I2<=1;I2++) {
5681 for (I3=ceild(13+2*I2,2);I3<=13-2*I2-1;I3++) {
5682 J3 = -(13)-2*(I2)+2*I3 ;
5685 for (I3=13-2*I2;I3<=N1;I3++) {
5688 J3 = -(13)-2*(I2)+2*I3 ;
5692 for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) {
5693 J3 = -(13)-2*(I2)+2*I3 ;
5698 if ((13*13-1)%18 == 0) {
5701 if ((2*13+J1)%3 == 0) {
5708 for (I3=ceild(13*2+3,3);I3<=N1;I3++) {
5711 J3 = -(13)-2*(I2)+2*I3 ;
5715 for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) {
5716 J3 = -(13)-2*(I2)+2*I3 ;
5721 if (13*13%18 == 0) {
5724 if ((2*13+J1)%3 == 0) {
5731 for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) {
5734 J3 = -(13)-2*(I2)+2*I3 ;
5738 for (I2=3;I2<=2;I2++) {
5739 for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
5743 for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
5744 J3 = -(13)-2*(I2)+2*I3 ;
5749 if ((2*13+I2)%3 == 0) {
5752 if ((2*13+J1)%3 == 0) {
5759 for (I3=ceild(2*13+I2+1,3);I3<=N1;I3++) {
5762 J3 = -(13)-2*(I2)+2*I3 ;
5766 for (I3=ceild(2*N1+1,3);I3<=N1-1;I3++) {
5773 if ((2*13+J1)%3 == 0) {
5782 J3 = -(13)-2*(I2)+2*I3 ;
5784 for (I2=4;I2<=10;I2++) {
5785 for (I3=max(max(ceild(13-I2,2),13-2*I2),1);I3<=min(13-I2,N1);I3++) {
5791 for (I1=max(20,ceild(2*N1+1,3));I1<=floord(2*N1+2,3);I1++) {
5792 for (I2=1;I2<=floord(I1-1,9);I2++) {
5793 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
5794 J3 = -I1-2*(I2)+2*I3 ;
5797 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
5802 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
5803 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
5804 J3 = -I1-2*(I2)+2*I3 ;
5807 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
5810 J3 = -I1-2*(I2)+2*I3 ;
5813 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
5819 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
5820 J3 = -I1-2*(I2)+2*I3 ;
5826 if ((2*I1+J1)%3 == 0) {
5833 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
5836 J3 = -I1-2*(I2)+2*I3 ;
5839 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
5844 for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) {
5845 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
5846 J3 = -I1-2*(I2)+2*I3 ;
5849 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
5850 J3 = -I1-2*(I2)+2*I3 ;
5855 if ((2*I1+I2)%3 == 0) {
5858 if ((2*I1+J1)%3 == 0) {
5865 for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
5868 J3 = -I1-2*(I2)+2*I3 ;
5871 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
5876 if ((I1-1)%6 == 0) {
5878 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
5879 J3 = -I1-2*(I2)+2*I3 ;
5884 if ((13*I1-1)%18 == 0) {
5887 if ((2*I1+J1)%3 == 0) {
5894 for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
5897 J3 = -I1-2*(I2)+2*I3 ;
5900 if ((5*I1+1)%6 == 0) {
5907 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
5908 J3 = -I1-2*(I2)+2*I3 ;
5913 if (13*I1%18 == 0) {
5916 if ((2*I1+J1)%3 == 0) {
5923 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
5926 J3 = -I1-2*(I2)+2*I3 ;
5930 for (I2=ceild(I1+1,6);I2<=floord(I1+2,6);I2++) {
5931 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
5935 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
5936 J3 = -I1-2*(I2)+2*I3 ;
5941 if ((2*I1+I2)%3 == 0) {
5944 if ((2*I1+J1)%3 == 0) {
5951 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
5954 J3 = -I1-2*(I2)+2*I3 ;
5958 for (I2=ceild(I1+3,6);I2<=floord(I1-2,4);I2++) {
5959 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
5963 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
5964 J3 = -I1-2*(I2)+2*I3 ;
5969 if ((2*I1+I2)%3 == 0) {
5972 if ((2*I1+J1)%3 == 0) {
5979 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
5982 J3 = -I1-2*(I2)+2*I3 ;
5985 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
5986 J3 = -I1-2*(I2)+2*I3 ;
5990 if ((I1-1)%4 == 0) {
5992 for (I3=2*I2+1;I3<=3*I2;I3++) {
5996 if ((9*I1-1)%12 == 0) {
5999 if ((2*I1+J1)%3 == 0) {
6006 if ((3*I1+1)%4 == 0) {
6010 J3 = -I1-2*(I2)+2*I3 ;
6013 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
6014 J3 = -I1-2*(I2)+2*I3 ;
6019 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
6026 if ((2*I1+J1)%3 == 0) {
6033 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
6034 J3 = -I1-2*(I2)+2*I3 ;
6038 for (I2=ceild(I1+1,4);I2<=I1-1;I2++) {
6039 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
6043 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
6044 J3 = -I1-2*(I2)+2*I3 ;
6049 for (I1=max(14,ceild(2*N1+3,3));I1<=min(min(N1+2,19),floord(6*N1-4,5));I1++) {
6050 for (I2=1;I2<=floord(I1-1,9);I2++) {
6051 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
6052 J3 = -I1-2*(I2)+2*I3 ;
6055 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
6060 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
6061 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
6062 J3 = -I1-2*(I2)+2*I3 ;
6065 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
6068 J3 = -I1-2*(I2)+2*I3 ;
6071 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
6077 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
6078 J3 = -I1-2*(I2)+2*I3 ;
6084 if ((2*I1+J1)%3 == 0) {
6091 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
6094 J3 = -I1-2*(I2)+2*I3 ;
6097 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
6102 if ((I1-1)%6 == 0) {
6104 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
6105 J3 = -I1-2*(I2)+2*I3 ;
6110 if ((13*I1-1)%18 == 0) {
6113 if ((2*I1+J1)%3 == 0) {
6120 for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
6123 J3 = -I1-2*(I2)+2*I3 ;
6126 if ((5*I1+1)%6 == 0) {
6133 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
6134 J3 = -I1-2*(I2)+2*I3 ;
6139 if (13*I1%18 == 0) {
6142 if ((2*I1+J1)%3 == 0) {
6149 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
6152 J3 = -I1-2*(I2)+2*I3 ;
6156 for (I2=max(ceild(I1+1,6),I1-N1+1);I2<=floord(I1+2,6);I2++) {
6157 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
6161 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
6162 J3 = -I1-2*(I2)+2*I3 ;
6167 if ((2*I1+I2)%3 == 0) {
6170 if ((2*I1+J1)%3 == 0) {
6177 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
6180 J3 = -I1-2*(I2)+2*I3 ;
6184 for (I2=ceild(I1+3,6);I2<=floord(I1-2,4);I2++) {
6185 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
6189 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
6190 J3 = -I1-2*(I2)+2*I3 ;
6195 if ((2*I1+I2)%3 == 0) {
6198 if ((2*I1+J1)%3 == 0) {
6205 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
6208 J3 = -I1-2*(I2)+2*I3 ;
6211 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
6212 J3 = -I1-2*(I2)+2*I3 ;
6216 if ((I1-1)%4 == 0) {
6218 for (I3=2*I2+1;I3<=3*I2;I3++) {
6222 if ((9*I1-1)%12 == 0) {
6225 if ((2*I1+J1)%3 == 0) {
6232 if ((3*I1+1)%4 == 0) {
6236 J3 = -I1-2*(I2)+2*I3 ;
6239 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
6240 J3 = -I1-2*(I2)+2*I3 ;
6245 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
6252 if ((2*I1+J1)%3 == 0) {
6259 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
6260 J3 = -I1-2*(I2)+2*I3 ;
6264 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
6265 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
6269 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
6270 J3 = -I1-2*(I2)+2*I3 ;
6274 for (I2=ceild(-I1+2*N1+1,2);I2<=min(N1,I1-1);I2++) {
6275 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
6281 for (I1=max(10,ceild(6*N1+1,5));I1<=min(N1+2,floord(9*N1-3,7));I1++) {
6282 for (I2=1;I2<=floord(I1-1,9);I2++) {
6283 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
6284 J3 = -I1-2*(I2)+2*I3 ;
6287 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
6292 for (I2=ceild(I1,9);I2<=floord(-2*I1+3*N1-1,3);I2++) {
6293 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
6294 J3 = -I1-2*(I2)+2*I3 ;
6297 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
6300 J3 = -I1-2*(I2)+2*I3 ;
6303 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
6309 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
6310 J3 = -I1-2*(I2)+2*I3 ;
6315 if (13*I1%18 == 0) {
6318 if ((2*I1+J1)%3 == 0) {
6325 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
6328 J3 = -I1-2*(I2)+2*I3 ;
6332 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
6333 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
6337 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
6338 J3 = -I1-2*(I2)+2*I3 ;
6343 if ((2*I1+I2)%3 == 0) {
6346 if ((2*I1+J1)%3 == 0) {
6353 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
6356 J3 = -I1-2*(I2)+2*I3 ;
6360 for (I2=I1-N1+1;I2<=floord(-I1+2*N1,2);I2++) {
6361 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
6365 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
6366 J3 = -I1-2*(I2)+2*I3 ;
6370 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
6371 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
6378 for (I3=ceild(18+2*1,2);I3<=min(N1,floord(2*18+3*1,3));I3++) {
6379 J3 = -(18)-2*(I2)+2*I3 ;
6382 for (I2=2;I2<=1;I2++) {
6383 for (I3=ceild(18+2*I2,2);I3<=min(18-2*I2-1,floord(2*18+3*I2,3));I3++) {
6384 J3 = -(18)-2*(I2)+2*I3 ;
6387 for (I3=18-2*I2;I3<=min(N1,18-I2);I3++) {
6392 for (I3=ceild(18+2*2,2);I3<=18-2*(2)-1;I3++) {
6393 J3 = -(18)-2*(I2)+2*I3 ;
6396 for (I3=18-2*(2);I3<=floord(2*18+3*2,3);I3++) {
6399 J3 = -(18)-2*(I2)+2*I3 ;
6402 for (I3=ceild(2*18+3*2+1,3);I3<=min(N1,18-(2));I3++) {
6407 for (I3=ceild(9*18/7,2);I3<=5*18/7-1;I3++) {
6408 J3 = -(18)-2*(I2)+2*I3 ;
6414 if ((2*18+J1)%3 == 0) {
6421 for (I3=ceild(15*18/7+1,3);I3<=floord(17*18/7,3);I3++) {
6424 J3 = -(18)-2*(I2)+2*I3 ;
6427 for (I3=ceild(17*18/7+1,3);I3<=min(N1,6*18/7);I3++) {
6432 for (I3=4*3;I3<=floord(13*3-1,3);I3++) {
6433 J3 = -(18)-2*(I2)+2*I3 ;
6438 if (13*18%18 == 0) {
6441 if ((2*18+J1)%3 == 0) {
6448 for (I3=ceild(13*3+1,3);I3<=min(N1,5*3);I3++) {
6451 J3 = -(18)-2*(I2)+2*I3 ;
6454 for (I3=18-2*(4);I3<=floord(18+2*4-1,2);I3++) {
6458 for (I3=ceild(18+2*4,2);I3<=floord(2*18+4-1,3);I3++) {
6459 J3 = -(18)-2*(I2)+2*I3 ;
6464 if ((2*18+4)%3 == 0) {
6467 if ((2*18+J1)%3 == 0) {
6474 for (I3=ceild(2*18+4+1,3);I3<=18-(4);I3++) {
6477 J3 = -(18)-2*(I2)+2*I3 ;
6480 for (I3=18-(4)+1;I3<=min(N1,floord(2*18+3*4,3));I3++) {
6481 J3 = -(18)-2*(I2)+2*I3 ;
6485 for (I3=2*17/4+1;I3<=3*17/4;I3++) {
6489 if ((9*18-1)%12 == 0) {
6492 if ((2*18+J1)%3 == 0) {
6499 if ((3*18+1)%4 == 0) {
6503 J3 = -(18)-2*(I2)+2*I3 ;
6506 for (I3=3*17/4+2;I3<=min(N1,floord(11*17/4+2,3));I3++) {
6507 J3 = -(18)-2*(I2)+2*I3 ;
6512 for (I3=2*9/2;I3<=floord(6*9/2-1,2);I3++) {
6519 if ((2*18+J1)%3 == 0) {
6526 for (I3=3*9/2+1;I3<=min(N1,floord(11*9/2,3));I3++) {
6527 J3 = -(18)-2*(I2)+2*I3 ;
6531 for (I2=5;I2<=6;I2++) {
6532 for (I3=max(max(1,ceild(18-I2,2)),18-2*I2);I3<=18-I2;I3++) {
6536 for (I3=max(18-I2+1,ceild(18+2*I2,2));I3<=min(N1,floord(2*18+3*I2,3));I3++) {
6537 J3 = -(18)-2*(I2)+2*I3 ;
6541 for (I2=7;I2<=15;I2++) {
6542 for (I3=max(max(ceild(18-I2,2),18-2*I2),1);I3<=min(18-I2,N1);I3++) {
6549 for (I3=ceild(19+2*1,2);I3<=min(N1,floord(2*19+3*1,3));I3++) {
6550 J3 = -(19)-2*(I2)+2*I3 ;
6553 for (I3=ceild(19+2*2,2);I3<=min(19-2*(2)-1,floord(2*19+3*2,3));I3++) {
6554 J3 = -(19)-2*(I2)+2*I3 ;
6557 for (I3=19-2*(2);I3<=min(N1,19-(2));I3++) {
6561 for (I2=3;I2<=2;I2++) {
6562 for (I3=ceild(19+2*I2,2);I3<=19-2*I2-1;I3++) {
6563 J3 = -(19)-2*(I2)+2*I3 ;
6566 for (I3=19-2*I2;I3<=floord(2*19+3*I2,3);I3++) {
6569 J3 = -(19)-2*(I2)+2*I3 ;
6572 for (I3=ceild(2*19+3*I2+1,3);I3<=min(N1,19-I2);I3++) {
6578 for (I3=ceild(9*19/7,2);I3<=5*19/7-1;I3++) {
6579 J3 = -(19)-2*(I2)+2*I3 ;
6585 if ((2*19+J1)%3 == 0) {
6592 for (I3=ceild(15*19/7+1,3);I3<=floord(17*19/7,3);I3++) {
6595 J3 = -(19)-2*(I2)+2*I3 ;
6598 for (I3=ceild(17*19/7+1,3);I3<=min(N1,6*19/7);I3++) {
6603 for (I3=4*3+1;I3<=floord(13*3+1,3);I3++) {
6604 J3 = -(19)-2*(I2)+2*I3 ;
6609 if ((13*19-1)%18 == 0) {
6612 if ((2*19+J1)%3 == 0) {
6619 for (I3=ceild(13*3+3,3);I3<=floord(15*3+2,3);I3++) {
6622 J3 = -(19)-2*(I2)+2*I3 ;
6625 if ((5*19+1)%6 == 0) {
6631 for (I3=4*19/6;I3<=floord(13*19/6-1,3);I3++) {
6632 J3 = -(19)-2*(I2)+2*I3 ;
6637 if (13*19%18 == 0) {
6640 if ((2*19+J1)%3 == 0) {
6647 for (I3=ceild(13*19/6+1,3);I3<=min(N1,5*19/6);I3++) {
6650 J3 = -(19)-2*(I2)+2*I3 ;
6654 for (I3=19-2*(4);I3<=floord(19+2*4-1,2);I3++) {
6658 for (I3=ceild(19+2*4,2);I3<=floord(2*19+4-1,3);I3++) {
6659 J3 = -(19)-2*(I2)+2*I3 ;
6664 if ((2*19+4)%3 == 0) {
6667 if ((2*19+J1)%3 == 0) {
6674 for (I3=ceild(2*19+4+1,3);I3<=19-(4);I3++) {
6677 J3 = -(19)-2*(I2)+2*I3 ;
6680 for (I3=19-(4)+1;I3<=min(N1,floord(2*19+3*4,3));I3++) {
6681 J3 = -(19)-2*(I2)+2*I3 ;
6685 for (I3=2*9/2+1;I3<=3*9/2;I3++) {
6689 if ((9*19-1)%12 == 0) {
6692 if ((2*19+J1)%3 == 0) {
6699 if ((3*19+1)%4 == 0) {
6703 J3 = -(19)-2*(I2)+2*I3 ;
6706 for (I3=3*9/2+2;I3<=min(N1,floord(11*9/2+2,3));I3++) {
6707 J3 = -(19)-2*(I2)+2*I3 ;
6712 for (I3=2*19/4;I3<=floord(6*19/4-1,2);I3++) {
6719 if ((2*19+J1)%3 == 0) {
6726 for (I3=3*19/4+1;I3<=min(N1,floord(11*19/4,3));I3++) {
6727 J3 = -(19)-2*(I2)+2*I3 ;
6731 for (I2=5;I2<=6;I2++) {
6732 for (I3=max(max(1,ceild(19-I2,2)),19-2*I2);I3<=19-I2;I3++) {
6736 for (I3=max(19-I2+1,ceild(19+2*I2,2));I3<=min(N1,floord(2*19+3*I2,3));I3++) {
6737 J3 = -(19)-2*(I2)+2*I3 ;
6741 for (I2=7;I2<=16;I2++) {
6742 for (I3=max(max(ceild(19-I2,2),19-2*I2),1);I3<=min(19-I2,N1);I3++) {
6748 if ((N1 >= 17) && (N1 <= 16)) {
6749 if ((4*N1-5)%3 == 0) {
6751 for (I2=1;I2<=floord(N1-8,6);I2++) {
6752 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
6753 J3 = -I1-2*(I2)+2*I3 ;
6757 for (I2=ceild(N1-5,6);I2<=floord(4*N1-8,27);I2++) {
6758 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
6759 J3 = -I1-2*(I2)+2*I3 ;
6762 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
6767 for (I2=ceild(4*N1-5,27);I2<=floord(N1+7,9);I2++) {
6768 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
6769 J3 = -I1-2*(I2)+2*I3 ;
6772 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
6775 J3 = -I1-2*(I2)+2*I3 ;
6778 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
6783 for (I2=ceild(4*N1-2,21);I2<=floord(4*N1-11,18);I2++) {
6784 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
6785 J3 = -I1-2*(I2)+2*I3 ;
6788 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
6789 J3 = -I1-2*(I2)+2*I3 ;
6794 if ((2*I1+I2)%3 == 0) {
6797 if ((2*I1+J1)%3 == 0) {
6804 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
6807 J3 = -I1-2*(I2)+2*I3 ;
6811 if ((4*N1-5)%18 == 0) {
6813 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
6814 J3 = -I1-2*(I2)+2*I3 ;
6819 if (13*I1%18 == 0) {
6822 if ((2*I1+J1)%3 == 0) {
6829 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
6832 J3 = -I1-2*(I2)+2*I3 ;
6836 for (I2=ceild(2*N1-1,9);I2<=floord(N1-5,3);I2++) {
6837 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
6841 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
6842 J3 = -I1-2*(I2)+2*I3 ;
6847 if ((2*I1+I2)%3 == 0) {
6850 if ((2*I1+J1)%3 == 0) {
6857 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
6860 J3 = -I1-2*(I2)+2*I3 ;
6864 if ((N1-2)%3 == 0) {
6866 for (I3=2*I2+1;I3<=3*I2;I3++) {
6870 if ((9*I1-1)%12 == 0) {
6873 if ((2*I1+J1)%3 == 0) {
6880 if ((3*I1+1)%4 == 0) {
6884 J3 = -I1-2*(I2)+2*I3 ;
6887 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
6888 J3 = -I1-2*(I2)+2*I3 ;
6892 if ((4*N1-5)%12 == 0) {
6894 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
6901 if ((2*I1+J1)%3 == 0) {
6908 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
6909 J3 = -I1-2*(I2)+2*I3 ;
6913 for (I2=ceild(2*N1-1,6);I2<=floord(2*N1+5,6);I2++) {
6914 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
6918 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
6919 J3 = -I1-2*(I2)+2*I3 ;
6923 for (I2=ceild(N1+4,3);I2<=N1;I2++) {
6924 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
6932 for (I3=ceild(12+2*1,2);I3<=min(N1,floord(2*12+3*1,3));I3++) {
6933 J3 = -(12)-2*(I2)+2*I3 ;
6936 for (I2=2;I2<=1;I2++) {
6937 for (I3=ceild(12+2*I2,2);I3<=12-2*I2-1;I3++) {
6938 J3 = -(12)-2*(I2)+2*I3 ;
6941 for (I3=12-2*I2;I3<=N1;I3++) {
6944 J3 = -(12)-2*(I2)+2*I3 ;
6948 for (I3=4*2;I3<=floord(13*2-1,3);I3++) {
6949 J3 = -(12)-2*(I2)+2*I3 ;
6954 if (13*12%18 == 0) {
6957 if ((2*12+J1)%3 == 0) {
6964 for (I3=ceild(13*2+1,3);I3<=min(N1,5*2);I3++) {
6967 J3 = -(12)-2*(I2)+2*I3 ;
6970 for (I3=ceild(2*N1,3);I3<=floord(2*N1-1,2);I3++) {
6975 if ((2*12+J1)%3 == 0) {
6981 for (I2=4;I2<=9;I2++) {
6982 for (I3=max(max(ceild(12-I2,2),12-2*I2),1);I3<=min(12-I2,N1);I3++) {
6988 for (I1=max(20,ceild(2*N1+3,3));I1<=N1+2;I1++) {
6989 for (I2=1;I2<=floord(I1-1,9);I2++) {
6990 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
6991 J3 = -I1-2*(I2)+2*I3 ;
6994 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
6999 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
7000 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
7001 J3 = -I1-2*(I2)+2*I3 ;
7004 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
7007 J3 = -I1-2*(I2)+2*I3 ;
7010 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
7016 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
7017 J3 = -I1-2*(I2)+2*I3 ;
7023 if ((2*I1+J1)%3 == 0) {
7030 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
7033 J3 = -I1-2*(I2)+2*I3 ;
7036 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
7041 for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) {
7042 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
7043 J3 = -I1-2*(I2)+2*I3 ;
7046 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
7047 J3 = -I1-2*(I2)+2*I3 ;
7052 if ((2*I1+I2)%3 == 0) {
7055 if ((2*I1+J1)%3 == 0) {
7062 for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
7065 J3 = -I1-2*(I2)+2*I3 ;
7068 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
7073 if ((I1-1)%6 == 0) {
7075 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
7076 J3 = -I1-2*(I2)+2*I3 ;
7081 if ((13*I1-1)%18 == 0) {
7084 if ((2*I1+J1)%3 == 0) {
7091 for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
7094 J3 = -I1-2*(I2)+2*I3 ;
7097 if ((5*I1+1)%6 == 0) {
7104 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
7105 J3 = -I1-2*(I2)+2*I3 ;
7110 if (13*I1%18 == 0) {
7113 if ((2*I1+J1)%3 == 0) {
7120 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
7123 J3 = -I1-2*(I2)+2*I3 ;
7127 for (I2=ceild(I1+1,6);I2<=floord(I1+2,6);I2++) {
7128 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
7132 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
7133 J3 = -I1-2*(I2)+2*I3 ;
7138 if ((2*I1+I2)%3 == 0) {
7141 if ((2*I1+J1)%3 == 0) {
7148 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
7151 J3 = -I1-2*(I2)+2*I3 ;
7155 for (I2=ceild(I1+3,6);I2<=floord(I1-2,4);I2++) {
7156 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
7160 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
7161 J3 = -I1-2*(I2)+2*I3 ;
7166 if ((2*I1+I2)%3 == 0) {
7169 if ((2*I1+J1)%3 == 0) {
7176 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
7179 J3 = -I1-2*(I2)+2*I3 ;
7182 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
7183 J3 = -I1-2*(I2)+2*I3 ;
7187 if ((I1-1)%4 == 0) {
7189 for (I3=2*I2+1;I3<=3*I2;I3++) {
7193 if ((9*I1-1)%12 == 0) {
7196 if ((2*I1+J1)%3 == 0) {
7203 if ((3*I1+1)%4 == 0) {
7207 J3 = -I1-2*(I2)+2*I3 ;
7210 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
7211 J3 = -I1-2*(I2)+2*I3 ;
7216 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
7223 if ((2*I1+J1)%3 == 0) {
7230 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
7231 J3 = -I1-2*(I2)+2*I3 ;
7235 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
7236 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
7240 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
7241 J3 = -I1-2*(I2)+2*I3 ;
7245 for (I2=ceild(-I1+2*N1+1,2);I2<=min(N1,I1-1);I2++) {
7246 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
7252 for (I1=max(14,ceild(6*N1-3,5));I1<=N1+2;I1++) {
7253 for (I2=1;I2<=floord(I1-1,9);I2++) {
7254 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
7255 J3 = -I1-2*(I2)+2*I3 ;
7258 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
7263 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
7264 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
7265 J3 = -I1-2*(I2)+2*I3 ;
7268 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
7271 J3 = -I1-2*(I2)+2*I3 ;
7274 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
7280 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
7281 J3 = -I1-2*(I2)+2*I3 ;
7287 if ((2*I1+J1)%3 == 0) {
7294 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
7297 J3 = -I1-2*(I2)+2*I3 ;
7300 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
7305 if ((I1-1)%6 == 0) {
7307 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
7308 J3 = -I1-2*(I2)+2*I3 ;
7313 if ((13*I1-1)%18 == 0) {
7316 if ((2*I1+J1)%3 == 0) {
7323 for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
7326 J3 = -I1-2*(I2)+2*I3 ;
7329 if ((5*I1+1)%6 == 0) {
7336 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
7337 J3 = -I1-2*(I2)+2*I3 ;
7342 if (13*I1%18 == 0) {
7345 if ((2*I1+J1)%3 == 0) {
7352 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
7355 J3 = -I1-2*(I2)+2*I3 ;
7359 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
7360 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
7364 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
7365 J3 = -I1-2*(I2)+2*I3 ;
7370 if ((2*I1+I2)%3 == 0) {
7373 if ((2*I1+J1)%3 == 0) {
7380 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
7383 J3 = -I1-2*(I2)+2*I3 ;
7386 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
7387 J3 = -I1-2*(I2)+2*I3 ;
7391 if ((I1-1)%4 == 0) {
7393 for (I3=2*I2+1;I3<=3*I2;I3++) {
7397 if ((9*I1-1)%12 == 0) {
7400 if ((2*I1+J1)%3 == 0) {
7407 if ((3*I1+1)%4 == 0) {
7411 J3 = -I1-2*(I2)+2*I3 ;
7414 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
7415 J3 = -I1-2*(I2)+2*I3 ;
7420 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
7427 if ((2*I1+J1)%3 == 0) {
7434 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
7435 J3 = -I1-2*(I2)+2*I3 ;
7439 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
7440 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
7444 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
7445 J3 = -I1-2*(I2)+2*I3 ;
7449 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
7450 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
7456 for (I1=N1+3;I1<=floord(6*N1-4,5);I1++) {
7457 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
7458 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
7459 J3 = -I1-2*(I2)+2*I3 ;
7463 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) {
7464 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
7465 J3 = -I1-2*(I2)+2*I3 ;
7468 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
7473 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
7474 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
7475 J3 = -I1-2*(I2)+2*I3 ;
7478 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
7481 J3 = -I1-2*(I2)+2*I3 ;
7484 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
7490 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
7491 J3 = -I1-2*(I2)+2*I3 ;
7497 if ((2*I1+J1)%3 == 0) {
7504 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
7507 J3 = -I1-2*(I2)+2*I3 ;
7510 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
7515 for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) {
7516 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
7517 J3 = -I1-2*(I2)+2*I3 ;
7520 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
7521 J3 = -I1-2*(I2)+2*I3 ;
7526 if ((2*I1+I2)%3 == 0) {
7529 if ((2*I1+J1)%3 == 0) {
7536 for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
7539 J3 = -I1-2*(I2)+2*I3 ;
7542 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
7547 if ((I1-1)%6 == 0) {
7549 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
7550 J3 = -I1-2*(I2)+2*I3 ;
7555 if ((13*I1-1)%18 == 0) {
7558 if ((2*I1+J1)%3 == 0) {
7565 for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
7568 J3 = -I1-2*(I2)+2*I3 ;
7571 if ((5*I1+1)%6 == 0) {
7578 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
7579 J3 = -I1-2*(I2)+2*I3 ;
7584 if (13*I1%18 == 0) {
7587 if ((2*I1+J1)%3 == 0) {
7594 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
7597 J3 = -I1-2*(I2)+2*I3 ;
7601 for (I2=max(ceild(I1+1,6),I1-N1+1);I2<=floord(I1+2,6);I2++) {
7602 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
7606 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
7607 J3 = -I1-2*(I2)+2*I3 ;
7612 if ((2*I1+I2)%3 == 0) {
7615 if ((2*I1+J1)%3 == 0) {
7622 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
7625 J3 = -I1-2*(I2)+2*I3 ;
7629 for (I2=ceild(I1+3,6);I2<=floord(I1-2,4);I2++) {
7630 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
7634 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
7635 J3 = -I1-2*(I2)+2*I3 ;
7640 if ((2*I1+I2)%3 == 0) {
7643 if ((2*I1+J1)%3 == 0) {
7650 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
7653 J3 = -I1-2*(I2)+2*I3 ;
7656 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
7657 J3 = -I1-2*(I2)+2*I3 ;
7661 if ((I1-1)%4 == 0) {
7663 for (I3=2*I2+1;I3<=3*I2;I3++) {
7667 if ((9*I1-1)%12 == 0) {
7670 if ((2*I1+J1)%3 == 0) {
7677 if ((3*I1+1)%4 == 0) {
7681 J3 = -I1-2*(I2)+2*I3 ;
7684 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
7685 J3 = -I1-2*(I2)+2*I3 ;
7690 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
7697 if ((2*I1+J1)%3 == 0) {
7704 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
7705 J3 = -I1-2*(I2)+2*I3 ;
7709 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
7710 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
7714 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
7715 J3 = -I1-2*(I2)+2*I3 ;
7719 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
7720 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
7727 for (I3=ceild(20+2*1,2);I3<=min(N1,floord(2*20+3*1,3));I3++) {
7728 J3 = -(20)-2*(I2)+2*I3 ;
7731 for (I3=ceild(20+2*2,2);I3<=min(20-2*(2)-1,floord(2*20+3*2,3));I3++) {
7732 J3 = -(20)-2*(I2)+2*I3 ;
7735 for (I3=20-2*(2);I3<=min(N1,20-(2));I3++) {
7739 for (I2=3;I2<=2;I2++) {
7740 for (I3=ceild(20+2*I2,2);I3<=20-2*I2-1;I3++) {
7741 J3 = -(20)-2*(I2)+2*I3 ;
7744 for (I3=20-2*I2;I3<=floord(2*20+3*I2,3);I3++) {
7747 J3 = -(20)-2*(I2)+2*I3 ;
7750 for (I3=ceild(2*20+3*I2+1,3);I3<=min(N1,20-I2);I3++) {
7755 for (I2=3;I2<=2;I2++) {
7756 for (I3=ceild(20+2*I2,2);I3<=20-2*I2-1;I3++) {
7757 J3 = -(20)-2*(I2)+2*I3 ;
7760 for (I3=20-2*I2;I3<=N1;I3++) {
7763 J3 = -(20)-2*(I2)+2*I3 ;
7768 for (I3=ceild(9*20/7,2);I3<=5*20/7-1;I3++) {
7769 J3 = -(20)-2*(I2)+2*I3 ;
7775 if ((2*20+J1)%3 == 0) {
7782 for (I3=ceild(15*20/7+1,3);I3<=N1;I3++) {
7785 J3 = -(20)-2*(I2)+2*I3 ;
7789 for (I3=ceild(20+2*3,2);I3<=20-2*(3)-1;I3++) {
7790 J3 = -(20)-2*(I2)+2*I3 ;
7793 for (I3=20-2*(3);I3<=floord(2*20+3-1,3);I3++) {
7794 J3 = -(20)-2*(I2)+2*I3 ;
7799 if ((2*20+3)%3 == 0) {
7802 if ((2*20+J1)%3 == 0) {
7809 for (I3=ceild(2*20+3+1,3);I3<=N1;I3++) {
7812 J3 = -(20)-2*(I2)+2*I3 ;
7816 for (I3=4*10/3;I3<=floord(13*10/3-1,3);I3++) {
7817 J3 = -(20)-2*(I2)+2*I3 ;
7822 if (13*20%18 == 0) {
7825 if ((2*20+J1)%3 == 0) {
7832 for (I3=ceild(13*10/3+1,3);I3<=min(N1,5*10/3);I3++) {
7835 J3 = -(20)-2*(I2)+2*I3 ;
7839 for (I3=20-2*(4);I3<=floord(20+2*4-1,2);I3++) {
7843 for (I3=ceild(20+2*4,2);I3<=floord(2*20+4-1,3);I3++) {
7844 J3 = -(20)-2*(I2)+2*I3 ;
7849 if ((2*20+4)%3 == 0) {
7852 if ((2*20+J1)%3 == 0) {
7859 for (I3=ceild(2*20+4+1,3);I3<=N1;I3++) {
7862 J3 = -(20)-2*(I2)+2*I3 ;
7865 for (I3=2*5;I3<=floord(6*5-1,2);I3++) {
7872 if ((2*20+J1)%3 == 0) {
7879 for (I3=3*5+1;I3<=min(N1,floord(11*5,3));I3++) {
7880 J3 = -(20)-2*(I2)+2*I3 ;
7883 for (I3=max(max(1,ceild(20-(6),2)),20-2*(6));I3<=20-(6);I3++) {
7887 for (I3=max(20-(6)+1,ceild(20+2*6,2));I3<=min(N1,floord(2*20+3*6,3));I3++) {
7888 J3 = -(20)-2*(I2)+2*I3 ;
7891 for (I2=7;I2<=16;I2++) {
7892 for (I3=max(max(ceild(20-I2,2),20-2*I2),1);I3<=min(20-I2,N1);I3++) {
7899 for (I3=ceild(15+2*1,2);I3<=min(N1,floord(2*15+3*1,3));I3++) {
7900 J3 = -(15)-2*(I2)+2*I3 ;
7903 for (I2=2;I2<=1;I2++) {
7904 for (I3=ceild(15+2*I2,2);I3<=min(15-2*I2-1,floord(2*15+3*I2,3));I3++) {
7905 J3 = -(15)-2*(I2)+2*I3 ;
7908 for (I3=15-2*I2;I3<=min(N1,15-I2);I3++) {
7914 for (I3=ceild(15+2*5/3,2);I3<=15-2*(5/3)-1;I3++) {
7915 J3 = -(15)-2*(I2)+2*I3 ;
7918 for (I3=15-2*(5/3);I3<=floord(2*15+3*5/3,3);I3++) {
7921 J3 = -(15)-2*(I2)+2*I3 ;
7924 for (I3=ceild(2*15+3*5/3+1,3);I3<=min(N1,15-(5/3));I3++) {
7929 for (I3=ceild(15+2*2,2);I3<=15-2*(2)-1;I3++) {
7930 J3 = -(15)-2*(I2)+2*I3 ;
7933 for (I3=15-2*(2);I3<=N1;I3++) {
7936 J3 = -(15)-2*(I2)+2*I3 ;
7940 for (I3=ceild(9*15/7,2);I3<=5*15/7-1;I3++) {
7941 J3 = -(15)-2*(I2)+2*I3 ;
7947 if ((2*15+J1)%3 == 0) {
7954 for (I3=ceild(15*15/7+1,3);I3<=N1;I3++) {
7957 J3 = -(15)-2*(I2)+2*I3 ;
7962 for (I3=4*5/2;I3<=floord(13*5/2-1,3);I3++) {
7963 J3 = -(15)-2*(I2)+2*I3 ;
7968 if (13*15%18 == 0) {
7971 if ((2*15+J1)%3 == 0) {
7978 for (I3=ceild(13*5/2+1,3);I3<=min(N1,5*5/2);I3++) {
7981 J3 = -(15)-2*(I2)+2*I3 ;
7985 for (I3=15-2*(3);I3<=floord(15+2*3-1,2);I3++) {
7989 for (I3=ceild(15+2*3,2);I3<=floord(2*15+3-1,3);I3++) {
7990 J3 = -(15)-2*(I2)+2*I3 ;
7995 if ((2*15+3)%3 == 0) {
7998 if ((2*15+J1)%3 == 0) {
8005 for (I3=ceild(2*15+3+1,3);I3<=N1;I3++) {
8008 J3 = -(15)-2*(I2)+2*I3 ;
8011 for (I3=max(max(1,ceild(15-(4),2)),15-2*(4));I3<=15-(4);I3++) {
8015 for (I3=max(15-(4)+1,ceild(15+2*4,2));I3<=min(N1,floord(2*15+3*4,3));I3++) {
8016 J3 = -(15)-2*(I2)+2*I3 ;
8019 for (I2=5;I2<=12;I2++) {
8020 for (I3=max(max(ceild(15-I2,2),15-2*I2),1);I3<=min(15-I2,N1);I3++) {
8026 if ((N1 <= 15) && (N1 >= 14)) {
8027 if ((4*N1-5)%3 == 0) {
8029 for (I2=1;I2<=floord(N1-8,6);I2++) {
8030 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
8031 J3 = -I1-2*(I2)+2*I3 ;
8035 for (I2=ceild(N1-5,6);I2<=floord(4*N1-8,27);I2++) {
8036 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
8037 J3 = -I1-2*(I2)+2*I3 ;
8040 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
8045 for (I2=ceild(4*N1-5,27);I2<=min(floord(4*N1-8,21),floord(N1+7,9));I2++) {
8046 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
8047 J3 = -I1-2*(I2)+2*I3 ;
8050 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
8053 J3 = -I1-2*(I2)+2*I3 ;
8056 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
8061 if ((4*N1-5)%18 == 0) {
8063 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
8064 J3 = -I1-2*(I2)+2*I3 ;
8069 if (13*I1%18 == 0) {
8072 if ((2*I1+J1)%3 == 0) {
8079 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
8082 J3 = -I1-2*(I2)+2*I3 ;
8086 for (I2=ceild(2*N1-1,9);I2<=floord(N1-5,3);I2++) {
8087 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
8091 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
8092 J3 = -I1-2*(I2)+2*I3 ;
8097 if ((2*I1+I2)%3 == 0) {
8100 if ((2*I1+J1)%3 == 0) {
8107 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
8110 J3 = -I1-2*(I2)+2*I3 ;
8114 if ((N1-2)%3 == 0) {
8116 for (I3=2*I2+1;I3<=3*I2;I3++) {
8120 if ((9*I1-1)%12 == 0) {
8123 if ((2*I1+J1)%3 == 0) {
8130 if ((3*I1+1)%4 == 0) {
8134 J3 = -I1-2*(I2)+2*I3 ;
8137 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
8138 J3 = -I1-2*(I2)+2*I3 ;
8142 if ((4*N1-5)%12 == 0) {
8144 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
8151 if ((2*I1+J1)%3 == 0) {
8158 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
8159 J3 = -I1-2*(I2)+2*I3 ;
8163 for (I2=ceild(2*N1-1,6);I2<=floord(2*N1+5,6);I2++) {
8164 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
8168 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
8169 J3 = -I1-2*(I2)+2*I3 ;
8173 for (I2=ceild(N1+4,3);I2<=N1;I2++) {
8174 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
8182 for (I3=ceild(16+2*1,2);I3<=min(N1,floord(2*16+3*1,3));I3++) {
8183 J3 = -(16)-2*(I2)+2*I3 ;
8186 for (I2=2;I2<=1;I2++) {
8187 for (I3=ceild(16+2*I2,2);I3<=min(16-2*I2-1,floord(2*16+3*I2,3));I3++) {
8188 J3 = -(16)-2*(I2)+2*I3 ;
8191 for (I3=16-2*I2;I3<=min(N1,16-I2);I3++) {
8196 for (I3=ceild(16+2*2,2);I3<=16-2*(2)-1;I3++) {
8197 J3 = -(16)-2*(I2)+2*I3 ;
8200 for (I3=16-2*(2);I3<=floord(2*16+3*2,3);I3++) {
8203 J3 = -(16)-2*(I2)+2*I3 ;
8206 for (I3=ceild(2*16+3*2+1,3);I3<=min(N1,16-(2));I3++) {
8211 for (I3=4*8/3;I3<=floord(13*8/3-1,3);I3++) {
8212 J3 = -(16)-2*(I2)+2*I3 ;
8217 if (13*16%18 == 0) {
8220 if ((2*16+J1)%3 == 0) {
8227 for (I3=ceild(13*8/3+1,3);I3<=min(N1,5*8/3);I3++) {
8230 J3 = -(16)-2*(I2)+2*I3 ;
8234 for (I3=16-2*(3);I3<=floord(16+2*3-1,2);I3++) {
8238 for (I3=ceild(16+2*3,2);I3<=floord(2*16+3-1,3);I3++) {
8239 J3 = -(16)-2*(I2)+2*I3 ;
8244 if ((2*16+3)%3 == 0) {
8247 if ((2*16+J1)%3 == 0) {
8254 for (I3=ceild(2*16+3+1,3);I3<=N1;I3++) {
8257 J3 = -(16)-2*(I2)+2*I3 ;
8260 for (I3=2*4;I3<=floord(6*4-1,2);I3++) {
8267 if ((2*16+J1)%3 == 0) {
8274 for (I3=3*4+1;I3<=min(N1,floord(11*4,3));I3++) {
8275 J3 = -(16)-2*(I2)+2*I3 ;
8278 for (I3=max(max(1,ceild(16-(5),2)),16-2*(5));I3<=16-(5);I3++) {
8282 for (I3=max(16-(5)+1,ceild(16+2*5,2));I3<=min(N1,floord(2*16+3*5,3));I3++) {
8283 J3 = -(16)-2*(I2)+2*I3 ;
8286 for (I2=6;I2<=13;I2++) {
8287 for (I3=max(max(ceild(16-I2,2),16-2*I2),1);I3<=min(16-I2,N1);I3++) {
8293 for (I1=max(max(N1+3,20),ceild(6*N1-3,5));I1<=floord(6*N1-1,5);I1++) {
8294 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
8295 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
8296 J3 = -I1-2*(I2)+2*I3 ;
8300 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) {
8301 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
8302 J3 = -I1-2*(I2)+2*I3 ;
8305 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
8310 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
8311 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
8312 J3 = -I1-2*(I2)+2*I3 ;
8315 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
8318 J3 = -I1-2*(I2)+2*I3 ;
8321 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
8327 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
8328 J3 = -I1-2*(I2)+2*I3 ;
8334 if ((2*I1+J1)%3 == 0) {
8341 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
8344 J3 = -I1-2*(I2)+2*I3 ;
8347 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
8352 for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) {
8353 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
8354 J3 = -I1-2*(I2)+2*I3 ;
8357 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
8358 J3 = -I1-2*(I2)+2*I3 ;
8363 if ((2*I1+I2)%3 == 0) {
8366 if ((2*I1+J1)%3 == 0) {
8373 for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
8376 J3 = -I1-2*(I2)+2*I3 ;
8379 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
8384 if ((I1-1)%6 == 0) {
8386 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
8387 J3 = -I1-2*(I2)+2*I3 ;
8392 if ((13*I1-1)%18 == 0) {
8395 if ((2*I1+J1)%3 == 0) {
8402 for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
8405 J3 = -I1-2*(I2)+2*I3 ;
8408 if ((5*I1+1)%6 == 0) {
8415 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
8416 J3 = -I1-2*(I2)+2*I3 ;
8421 if (13*I1%18 == 0) {
8424 if ((2*I1+J1)%3 == 0) {
8431 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
8434 J3 = -I1-2*(I2)+2*I3 ;
8438 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
8439 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
8443 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
8444 J3 = -I1-2*(I2)+2*I3 ;
8449 if ((2*I1+I2)%3 == 0) {
8452 if ((2*I1+J1)%3 == 0) {
8459 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
8462 J3 = -I1-2*(I2)+2*I3 ;
8465 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
8466 J3 = -I1-2*(I2)+2*I3 ;
8470 if ((I1-1)%4 == 0) {
8472 for (I3=2*I2+1;I3<=3*I2;I3++) {
8476 if ((9*I1-1)%12 == 0) {
8479 if ((2*I1+J1)%3 == 0) {
8486 if ((3*I1+1)%4 == 0) {
8490 J3 = -I1-2*(I2)+2*I3 ;
8493 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
8494 J3 = -I1-2*(I2)+2*I3 ;
8499 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
8506 if ((2*I1+J1)%3 == 0) {
8513 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
8514 J3 = -I1-2*(I2)+2*I3 ;
8518 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
8519 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
8523 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
8524 J3 = -I1-2*(I2)+2*I3 ;
8528 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
8529 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
8535 if ((N1 <= 14) && (N1 >= 14)) {
8536 if ((4*N1-4)%3 == 0) {
8538 for (I2=1;I2<=floord(N1-7,6);I2++) {
8539 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
8540 J3 = -I1-2*(I2)+2*I3 ;
8544 for (I2=ceild(N1-4,6);I2<=floord(4*N1-7,27);I2++) {
8545 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
8546 J3 = -I1-2*(I2)+2*I3 ;
8549 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
8554 for (I2=ceild(4*N1-4,27);I2<=floord(N1+5,9);I2++) {
8555 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
8556 J3 = -I1-2*(I2)+2*I3 ;
8559 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
8562 J3 = -I1-2*(I2)+2*I3 ;
8565 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
8570 if ((4*N1-4)%21 == 0) {
8572 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
8573 J3 = -I1-2*(I2)+2*I3 ;
8579 if ((2*I1+J1)%3 == 0) {
8586 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
8589 J3 = -I1-2*(I2)+2*I3 ;
8593 if ((2*N1-2)%9 == 0) {
8595 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
8596 J3 = -I1-2*(I2)+2*I3 ;
8601 if (13*I1%18 == 0) {
8604 if ((2*I1+J1)%3 == 0) {
8611 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
8614 J3 = -I1-2*(I2)+2*I3 ;
8618 for (I2=ceild(4*N1-1,18);I2<=floord(N1-4,3);I2++) {
8619 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
8623 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
8624 J3 = -I1-2*(I2)+2*I3 ;
8629 if ((2*I1+I2)%3 == 0) {
8632 if ((2*I1+J1)%3 == 0) {
8639 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
8642 J3 = -I1-2*(I2)+2*I3 ;
8646 if ((N1-1)%3 == 0) {
8648 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
8655 if ((2*I1+J1)%3 == 0) {
8662 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
8663 J3 = -I1-2*(I2)+2*I3 ;
8667 for (I2=ceild(4*N1-1,12);I2<=floord(N1+2,3);I2++) {
8668 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
8672 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
8673 J3 = -I1-2*(I2)+2*I3 ;
8677 for (I2=ceild(2*N1+7,6);I2<=N1;I2++) {
8678 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
8686 for (I3=ceild(19+2*1,2);I3<=min(N1,floord(2*19+3*1,3));I3++) {
8687 J3 = -(19)-2*(I2)+2*I3 ;
8690 for (I3=ceild(19+2*2,2);I3<=min(19-2*(2)-1,floord(2*19+3*2,3));I3++) {
8691 J3 = -(19)-2*(I2)+2*I3 ;
8694 for (I3=19-2*(2);I3<=min(N1,19-(2));I3++) {
8698 for (I2=3;I2<=2;I2++) {
8699 for (I3=ceild(19+2*I2,2);I3<=19-2*I2-1;I3++) {
8700 J3 = -(19)-2*(I2)+2*I3 ;
8703 for (I3=19-2*I2;I3<=N1;I3++) {
8706 J3 = -(19)-2*(I2)+2*I3 ;
8711 for (I3=ceild(9*19/7,2);I3<=5*19/7-1;I3++) {
8712 J3 = -(19)-2*(I2)+2*I3 ;
8718 if ((2*19+J1)%3 == 0) {
8725 for (I3=ceild(15*19/7+1,3);I3<=N1;I3++) {
8728 J3 = -(19)-2*(I2)+2*I3 ;
8732 for (I3=4*3+1;I3<=floord(13*3+1,3);I3++) {
8733 J3 = -(19)-2*(I2)+2*I3 ;
8738 if ((13*19-1)%18 == 0) {
8741 if ((2*19+J1)%3 == 0) {
8748 for (I3=ceild(13*3+3,3);I3<=N1;I3++) {
8751 J3 = -(19)-2*(I2)+2*I3 ;
8755 for (I3=4*19/6;I3<=floord(13*19/6-1,3);I3++) {
8756 J3 = -(19)-2*(I2)+2*I3 ;
8761 if (13*19%18 == 0) {
8764 if ((2*19+J1)%3 == 0) {
8771 for (I3=ceild(13*19/6+1,3);I3<=min(N1,5*19/6);I3++) {
8774 J3 = -(19)-2*(I2)+2*I3 ;
8778 for (I3=19-2*(4);I3<=floord(19+2*4-1,2);I3++) {
8782 for (I3=ceild(19+2*4,2);I3<=floord(2*19+4-1,3);I3++) {
8783 J3 = -(19)-2*(I2)+2*I3 ;
8788 if ((2*19+4)%3 == 0) {
8791 if ((2*19+J1)%3 == 0) {
8798 for (I3=ceild(2*19+4+1,3);I3<=N1;I3++) {
8801 J3 = -(19)-2*(I2)+2*I3 ;
8804 for (I3=max(max(1,ceild(19-(5),2)),19-2*(5));I3<=19-(5);I3++) {
8808 for (I3=max(19-(5)+1,ceild(19+2*5,2));I3<=min(N1,floord(2*19+3*5,3));I3++) {
8809 J3 = -(19)-2*(I2)+2*I3 ;
8812 for (I2=6;I2<=15;I2++) {
8813 for (I3=max(max(ceild(19-I2,2),19-2*I2),1);I3<=min(19-I2,N1);I3++) {
8819 if ((N1 <= 12) && (N1 >= 12)) {
8820 if ((9*N1-2)%7 == 0) {
8822 for (I2=1;I2<=floord(2*N1-9,14);I2++) {
8823 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
8824 J3 = -I1-2*(I2)+2*I3 ;
8828 if ((N1-1)%7 == 0) {
8830 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
8831 J3 = -I1-2*(I2)+2*I3 ;
8834 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
8839 for (I2=ceild(3*N1+4,21);I2<=floord(9*N1-9,49);I2++) {
8840 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
8841 J3 = -I1-2*(I2)+2*I3 ;
8844 for (I3=I1-2*I2;I3<=N1;I3++) {
8847 J3 = -I1-2*(I2)+2*I3 ;
8851 if ((9*N1-2)%49 == 0) {
8853 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
8854 J3 = -I1-2*(I2)+2*I3 ;
8860 if ((2*I1+J1)%3 == 0) {
8867 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
8870 J3 = -I1-2*(I2)+2*I3 ;
8874 if ((9*N1-2)%42 == 0) {
8876 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
8877 J3 = -I1-2*(I2)+2*I3 ;
8882 if (13*I1%18 == 0) {
8885 if ((2*I1+J1)%3 == 0) {
8892 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
8895 J3 = -I1-2*(I2)+2*I3 ;
8899 for (I2=ceild(9*N1+5,42);I2<=floord(2*N1-2,7);I2++) {
8900 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
8904 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
8905 J3 = -I1-2*(I2)+2*I3 ;
8910 if ((2*I1+I2)%3 == 0) {
8913 if ((2*I1+J1)%3 == 0) {
8920 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
8923 J3 = -I1-2*(I2)+2*I3 ;
8927 for (I2=ceild(2*N1+5,7);I2<=floord(5*N1+2,14);I2++) {
8928 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
8932 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
8933 J3 = -I1-2*(I2)+2*I3 ;
8937 for (I2=ceild(5*N1+9,14);I2<=N1;I2++) {
8938 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
8948 for (I2=1;I2<=floord(N1-5,10);I2++) {
8949 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
8950 J3 = -I1-2*(I2)+2*I3 ;
8954 for (I2=ceild(N1,10);I2<=floord(6*N1-5,45);I2++) {
8955 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
8956 J3 = -I1-2*(I2)+2*I3 ;
8959 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
8964 for (I2=ceild(2*N1,15);I2<=floord(6*N1-5,35);I2++) {
8965 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
8966 J3 = -I1-2*(I2)+2*I3 ;
8969 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
8972 J3 = -I1-2*(I2)+2*I3 ;
8975 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
8982 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
8983 J3 = -I1-2*(I2)+2*I3 ;
8989 if ((2*I1+J1)%3 == 0) {
8996 for (I3=ceild(15*I2+1,3);I3<=floord(17*I2,3);I3++) {
8999 J3 = -I1-2*(I2)+2*I3 ;
9002 for (I3=ceild(17*I2+1,3);I3<=min(N1,6*I2);I3++) {
9007 for (I2=ceild(6*N1+5,35);I2<=floord(3*N1-5,15);I2++) {
9008 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
9009 J3 = -I1-2*(I2)+2*I3 ;
9012 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
9013 J3 = -I1-2*(I2)+2*I3 ;
9018 if ((2*I1+I2)%3 == 0) {
9021 if ((2*I1+J1)%3 == 0) {
9028 for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
9031 J3 = -I1-2*(I2)+2*I3 ;
9034 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
9040 for (I3=4*N1/5;I3<=floord(13*N1/5-1,3);I3++) {
9041 J3 = -I1-2*(I2)+2*I3 ;
9046 if (13*I1%18 == 0) {
9049 if ((2*I1+J1)%3 == 0) {
9056 for (I3=ceild(13*N1/5+1,3);I3<=min(N1,5*N1/5);I3++) {
9059 J3 = -I1-2*(I2)+2*I3 ;
9063 for (I2=ceild(N1+5,5);I2<=floord(3*N1-5,10);I2++) {
9064 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
9068 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
9069 J3 = -I1-2*(I2)+2*I3 ;
9074 if ((2*I1+I2)%3 == 0) {
9077 if ((2*I1+J1)%3 == 0) {
9084 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
9087 J3 = -I1-2*(I2)+2*I3 ;
9090 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
9091 J3 = -I1-2*(I2)+2*I3 ;
9095 if ((6*N1-5)%20 == 0) {
9097 for (I3=2*I2+1;I3<=3*I2;I3++) {
9101 if ((9*I1-1)%12 == 0) {
9104 if ((2*I1+J1)%3 == 0) {
9111 if ((3*I1+1)%4 == 0) {
9115 J3 = -I1-2*(I2)+2*I3 ;
9118 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
9119 J3 = -I1-2*(I2)+2*I3 ;
9125 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
9132 if ((2*I1+J1)%3 == 0) {
9139 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
9140 J3 = -I1-2*(I2)+2*I3 ;
9144 for (I2=ceild(6*N1+5,20);I2<=floord(2*N1,5);I2++) {
9145 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
9149 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
9150 J3 = -I1-2*(I2)+2*I3 ;
9154 for (I2=ceild(4*N1+5,10);I2<=N1;I2++) {
9155 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
9162 for (I1=max(ceild(9*N1-1,7),ceild(6*N1+5,5));I1<=min(19,floord(4*N1-2,3));I1++) {
9163 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
9164 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
9165 J3 = -I1-2*(I2)+2*I3 ;
9169 for (I2=max(ceild(I1-N1,2),ceild(-2*I1+3*N1,3));I2<=floord(I1-1,7);I2++) {
9170 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
9171 J3 = -I1-2*(I2)+2*I3 ;
9174 for (I3=I1-2*I2;I3<=N1;I3++) {
9177 J3 = -I1-2*(I2)+2*I3 ;
9182 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
9183 J3 = -I1-2*(I2)+2*I3 ;
9189 if ((2*I1+J1)%3 == 0) {
9196 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
9199 J3 = -I1-2*(I2)+2*I3 ;
9203 if ((I1-1)%6 == 0) {
9205 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
9206 J3 = -I1-2*(I2)+2*I3 ;
9211 if ((13*I1-1)%18 == 0) {
9214 if ((2*I1+J1)%3 == 0) {
9221 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
9224 J3 = -I1-2*(I2)+2*I3 ;
9229 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
9230 J3 = -I1-2*(I2)+2*I3 ;
9235 if (13*I1%18 == 0) {
9238 if ((2*I1+J1)%3 == 0) {
9245 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
9248 J3 = -I1-2*(I2)+2*I3 ;
9252 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
9253 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
9257 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
9258 J3 = -I1-2*(I2)+2*I3 ;
9263 if ((2*I1+I2)%3 == 0) {
9266 if ((2*I1+J1)%3 == 0) {
9273 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
9276 J3 = -I1-2*(I2)+2*I3 ;
9280 for (I2=I1-N1+1;I2<=floord(-I1+2*N1,2);I2++) {
9281 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
9285 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
9286 J3 = -I1-2*(I2)+2*I3 ;
9290 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
9291 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
9298 if ((6*N1+1)%5 == 0) {
9300 for (I2=1;I2<=floord(N1-4,10);I2++) {
9301 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
9302 J3 = -I1-2*(I2)+2*I3 ;
9306 for (I2=ceild(N1+1,10);I2<=floord(6*N1-4,45);I2++) {
9307 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
9308 J3 = -I1-2*(I2)+2*I3 ;
9311 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
9316 for (I2=ceild(6*N1+1,45);I2<=floord(6*N1-4,35);I2++) {
9317 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
9318 J3 = -I1-2*(I2)+2*I3 ;
9321 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
9324 J3 = -I1-2*(I2)+2*I3 ;
9327 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
9332 if ((6*N1+1)%35 == 0) {
9334 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
9335 J3 = -I1-2*(I2)+2*I3 ;
9341 if ((2*I1+J1)%3 == 0) {
9348 for (I3=ceild(15*I2+1,3);I3<=floord(17*I2,3);I3++) {
9351 J3 = -I1-2*(I2)+2*I3 ;
9354 for (I3=ceild(17*I2+1,3);I3<=min(N1,6*I2);I3++) {
9359 for (I2=ceild(6*N1+6,35);I2<=floord(3*N1-7,15);I2++) {
9360 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
9361 J3 = -I1-2*(I2)+2*I3 ;
9364 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
9365 J3 = -I1-2*(I2)+2*I3 ;
9370 if ((2*I1+I2)%3 == 0) {
9373 if ((2*I1+J1)%3 == 0) {
9380 for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
9383 J3 = -I1-2*(I2)+2*I3 ;
9386 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
9391 if ((6*N1+1)%30 == 0) {
9393 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
9394 J3 = -I1-2*(I2)+2*I3 ;
9399 if (13*I1%18 == 0) {
9402 if ((2*I1+J1)%3 == 0) {
9409 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
9412 J3 = -I1-2*(I2)+2*I3 ;
9416 if ((N1+1)%5 == 0) {
9418 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
9422 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
9423 J3 = -I1-2*(I2)+2*I3 ;
9428 if ((2*I1+I2)%3 == 0) {
9431 if ((2*I1+J1)%3 == 0) {
9438 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
9441 J3 = -I1-2*(I2)+2*I3 ;
9445 for (I2=ceild(N1+6,5);I2<=floord(6*N1-9,20);I2++) {
9446 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
9450 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
9451 J3 = -I1-2*(I2)+2*I3 ;
9456 if ((2*I1+I2)%3 == 0) {
9459 if ((2*I1+J1)%3 == 0) {
9466 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
9469 J3 = -I1-2*(I2)+2*I3 ;
9472 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
9473 J3 = -I1-2*(I2)+2*I3 ;
9477 if ((3*N1-2)%10 == 0) {
9479 for (I3=2*I2+1;I3<=3*I2;I3++) {
9483 if ((9*I1-1)%12 == 0) {
9486 if ((2*I1+J1)%3 == 0) {
9493 if ((3*I1+1)%4 == 0) {
9497 J3 = -I1-2*(I2)+2*I3 ;
9500 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
9501 J3 = -I1-2*(I2)+2*I3 ;
9505 if ((6*N1+1)%20 == 0) {
9507 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
9514 if ((2*I1+J1)%3 == 0) {
9521 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
9522 J3 = -I1-2*(I2)+2*I3 ;
9526 for (I2=ceild(3*N1+3,10);I2<=floord(4*N1-1,10);I2++) {
9527 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
9531 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
9532 J3 = -I1-2*(I2)+2*I3 ;
9536 for (I2=ceild(2*N1+2,5);I2<=N1;I2++) {
9537 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
9544 if ((N1 >= 18) && (N1 <= 20)) {
9545 if ((6*N1+1)%5 == 0) {
9547 for (I2=1;I2<=floord(N1-4,10);I2++) {
9548 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
9549 J3 = -I1-2*(I2)+2*I3 ;
9553 for (I2=ceild(N1+1,10);I2<=floord(6*N1-4,45);I2++) {
9554 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
9555 J3 = -I1-2*(I2)+2*I3 ;
9558 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
9563 for (I2=ceild(6*N1+1,45);I2<=floord(6*N1-4,35);I2++) {
9564 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
9565 J3 = -I1-2*(I2)+2*I3 ;
9568 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
9571 J3 = -I1-2*(I2)+2*I3 ;
9574 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
9579 if ((6*N1+1)%35 == 0) {
9581 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
9582 J3 = -I1-2*(I2)+2*I3 ;
9588 if ((2*I1+J1)%3 == 0) {
9595 for (I3=ceild(15*I2+1,3);I3<=floord(17*I2,3);I3++) {
9598 J3 = -I1-2*(I2)+2*I3 ;
9601 for (I3=ceild(17*I2+1,3);I3<=min(N1,6*I2);I3++) {
9606 if ((6*N1+1)%30 == 0) {
9608 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
9609 J3 = -I1-2*(I2)+2*I3 ;
9614 if (13*I1%18 == 0) {
9617 if ((2*I1+J1)%3 == 0) {
9624 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
9627 J3 = -I1-2*(I2)+2*I3 ;
9631 if ((N1+1)%5 == 0) {
9633 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
9637 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
9638 J3 = -I1-2*(I2)+2*I3 ;
9643 if ((2*I1+I2)%3 == 0) {
9646 if ((2*I1+J1)%3 == 0) {
9653 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
9656 J3 = -I1-2*(I2)+2*I3 ;
9660 for (I2=ceild(N1+6,5);I2<=floord(6*N1-9,20);I2++) {
9661 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
9665 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
9666 J3 = -I1-2*(I2)+2*I3 ;
9671 if ((2*I1+I2)%3 == 0) {
9674 if ((2*I1+J1)%3 == 0) {
9681 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
9684 J3 = -I1-2*(I2)+2*I3 ;
9687 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
9688 J3 = -I1-2*(I2)+2*I3 ;
9692 if ((3*N1-2)%10 == 0) {
9694 for (I3=2*I2+1;I3<=3*I2;I3++) {
9698 if ((9*I1-1)%12 == 0) {
9701 if ((2*I1+J1)%3 == 0) {
9708 if ((3*I1+1)%4 == 0) {
9712 J3 = -I1-2*(I2)+2*I3 ;
9715 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
9716 J3 = -I1-2*(I2)+2*I3 ;
9720 if ((6*N1+1)%20 == 0) {
9722 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
9729 if ((2*I1+J1)%3 == 0) {
9736 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
9737 J3 = -I1-2*(I2)+2*I3 ;
9741 for (I2=ceild(3*N1+3,10);I2<=floord(4*N1-1,10);I2++) {
9742 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
9746 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
9747 J3 = -I1-2*(I2)+2*I3 ;
9751 for (I2=ceild(2*N1+2,5);I2<=N1;I2++) {
9752 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
9759 if ((N1 <= 14) && (N1 >= 11)) {
9760 if ((4*N1-1)%3 == 0) {
9762 for (I2=1;I2<=floord(N1-4,6);I2++) {
9763 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
9764 J3 = -I1-2*(I2)+2*I3 ;
9768 for (I2=ceild(N1-1,6);I2<=floord(4*N1-4,21);I2++) {
9769 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
9770 J3 = -I1-2*(I2)+2*I3 ;
9773 for (I3=I1-2*I2;I3<=N1;I3++) {
9776 J3 = -I1-2*(I2)+2*I3 ;
9780 if ((4*N1-1)%21 == 0) {
9782 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
9783 J3 = -I1-2*(I2)+2*I3 ;
9789 if ((2*I1+J1)%3 == 0) {
9796 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
9799 J3 = -I1-2*(I2)+2*I3 ;
9803 if ((2*N1-2)%9 == 0) {
9805 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
9806 J3 = -I1-2*(I2)+2*I3 ;
9811 if ((13*I1-1)%18 == 0) {
9814 if ((2*I1+J1)%3 == 0) {
9821 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
9824 J3 = -I1-2*(I2)+2*I3 ;
9828 if ((4*N1-1)%18 == 0) {
9830 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
9831 J3 = -I1-2*(I2)+2*I3 ;
9836 if (13*I1%18 == 0) {
9839 if ((2*I1+J1)%3 == 0) {
9846 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
9849 J3 = -I1-2*(I2)+2*I3 ;
9853 for (I2=ceild(2*N1+1,9);I2<=floord(4*N1-7,12);I2++) {
9854 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
9858 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
9859 J3 = -I1-2*(I2)+2*I3 ;
9864 if ((2*I1+I2)%3 == 0) {
9867 if ((2*I1+J1)%3 == 0) {
9874 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
9877 J3 = -I1-2*(I2)+2*I3 ;
9881 if ((N1-1)%3 == 0) {
9883 for (I3=ceild(2*N1+1,3);I3<=N1-1;I3++) {
9890 if ((2*I1+J1)%3 == 0) {
9899 J3 = -I1-2*(I2)+2*I3 ;
9902 for (I2=ceild(N1+2,3);I2<=N1;I2++) {
9903 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
9910 for (I1=ceild(6*N1+2,5);I1<=min(floord(21*N1-10,17),floord(6*N1+4,5));I1++) {
9911 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
9912 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
9913 J3 = -I1-2*(I2)+2*I3 ;
9917 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) {
9918 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
9919 J3 = -I1-2*(I2)+2*I3 ;
9922 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
9927 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
9928 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
9929 J3 = -I1-2*(I2)+2*I3 ;
9932 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
9935 J3 = -I1-2*(I2)+2*I3 ;
9938 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
9944 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
9945 J3 = -I1-2*(I2)+2*I3 ;
9951 if ((2*I1+J1)%3 == 0) {
9958 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
9961 J3 = -I1-2*(I2)+2*I3 ;
9964 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
9969 for (I2=ceild(I1+1,7);I2<=floord(-2*I1+3*N1-1,3);I2++) {
9970 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
9971 J3 = -I1-2*(I2)+2*I3 ;
9974 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
9975 J3 = -I1-2*(I2)+2*I3 ;
9980 if ((2*I1+I2)%3 == 0) {
9983 if ((2*I1+J1)%3 == 0) {
9990 for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
9993 J3 = -I1-2*(I2)+2*I3 ;
9996 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
10001 for (I2=ceild(-2*I1+3*N1,3);I2<=floord(I1-2,6);I2++) {
10002 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
10003 J3 = -I1-2*(I2)+2*I3 ;
10006 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
10007 J3 = -I1-2*(I2)+2*I3 ;
10009 J3 = I1-(I2)-(I3) ;
10012 if ((2*I1+I2)%3 == 0) {
10015 if ((2*I1+J1)%3 == 0) {
10022 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
10023 J3 = I1-(I2)-(I3) ;
10025 J3 = -I1-2*(I2)+2*I3 ;
10030 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
10031 J3 = -I1-2*(I2)+2*I3 ;
10033 J3 = I1-(I2)-(I3) ;
10036 if (13*I1%18 == 0) {
10039 if ((2*I1+J1)%3 == 0) {
10046 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
10047 J3 = I1-(I2)-(I3) ;
10049 J3 = -I1-2*(I2)+2*I3 ;
10053 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
10054 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
10055 J3 = I1-(I2)-(I3) ;
10058 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
10059 J3 = -I1-2*(I2)+2*I3 ;
10061 J3 = I1-(I2)-(I3) ;
10064 if ((2*I1+I2)%3 == 0) {
10067 if ((2*I1+J1)%3 == 0) {
10074 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
10075 J3 = I1-(I2)-(I3) ;
10077 J3 = -I1-2*(I2)+2*I3 ;
10081 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
10082 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
10083 J3 = I1-(I2)-(I3) ;
10086 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
10087 J3 = -I1-2*(I2)+2*I3 ;
10089 J3 = I1-(I2)-(I3) ;
10092 if ((2*I1+I2)%3 == 0) {
10095 if ((2*I1+J1)%3 == 0) {
10102 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
10103 J3 = I1-(I2)-(I3) ;
10105 J3 = -I1-2*(I2)+2*I3 ;
10108 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
10109 J3 = -I1-2*(I2)+2*I3 ;
10113 if ((I1-1)%4 == 0) {
10115 for (I3=2*I2+1;I3<=3*I2;I3++) {
10116 J3 = I1-(I2)-(I3) ;
10119 if ((9*I1-1)%12 == 0) {
10122 if ((2*I1+J1)%3 == 0) {
10129 if ((3*I1+1)%4 == 0) {
10131 J3 = I1-(I2)-(I3) ;
10133 J3 = -I1-2*(I2)+2*I3 ;
10136 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
10137 J3 = -I1-2*(I2)+2*I3 ;
10142 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
10143 J3 = I1-(I2)-(I3) ;
10149 if ((2*I1+J1)%3 == 0) {
10156 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
10157 J3 = -I1-2*(I2)+2*I3 ;
10161 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
10162 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
10163 J3 = I1-(I2)-(I3) ;
10166 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
10167 J3 = -I1-2*(I2)+2*I3 ;
10171 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
10172 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
10173 J3 = I1-(I2)-(I3) ;
10178 if ((N1 <= 14) && (N1 >= 11)) {
10181 for (I2=1;I2<=floord(N1-3,6);I2++) {
10182 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
10183 J3 = -I1-2*(I2)+2*I3 ;
10187 for (I2=ceild(N1,6);I2<=floord(4*N1-3,21);I2++) {
10188 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
10189 J3 = -I1-2*(I2)+2*I3 ;
10192 for (I3=I1-2*I2;I3<=N1;I3++) {
10193 J3 = I1-(I2)-(I3) ;
10195 J3 = -I1-2*(I2)+2*I3 ;
10199 if (4*N1%21 == 0) {
10201 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
10202 J3 = -I1-2*(I2)+2*I3 ;
10208 if ((2*I1+J1)%3 == 0) {
10215 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
10216 J3 = I1-(I2)-(I3) ;
10218 J3 = -I1-2*(I2)+2*I3 ;
10222 if ((4*N1-3)%18 == 0) {
10224 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
10225 J3 = -I1-2*(I2)+2*I3 ;
10227 J3 = I1-(I2)-(I3) ;
10230 if ((13*I1-1)%18 == 0) {
10231 I3 = (13*I1-1)/18 ;
10233 if ((2*I1+J1)%3 == 0) {
10240 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
10241 J3 = I1-(I2)-(I3) ;
10243 J3 = -I1-2*(I2)+2*I3 ;
10249 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
10250 J3 = -I1-2*(I2)+2*I3 ;
10252 J3 = I1-(I2)-(I3) ;
10255 if (13*I1%18 == 0) {
10258 if ((2*I1+J1)%3 == 0) {
10265 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
10266 J3 = I1-(I2)-(I3) ;
10268 J3 = -I1-2*(I2)+2*I3 ;
10272 for (I2=ceild(4*N1+3,18);I2<=floord(N1-3,3);I2++) {
10273 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
10274 J3 = I1-(I2)-(I3) ;
10277 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
10278 J3 = -I1-2*(I2)+2*I3 ;
10280 J3 = I1-(I2)-(I3) ;
10283 if ((2*I1+I2)%3 == 0) {
10286 if ((2*I1+J1)%3 == 0) {
10293 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
10294 J3 = I1-(I2)-(I3) ;
10296 J3 = -I1-2*(I2)+2*I3 ;
10301 for (I3=ceild(2*N1,3);I3<=floord(2*N1-1,2);I3++) {
10302 J3 = I1-(I2)-(I3) ;
10306 if ((2*I1+J1)%3 == 0) {
10313 for (I2=ceild(2*N1+3,6);I2<=N1;I2++) {
10314 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
10315 J3 = I1-(I2)-(I3) ;
10321 for (I1=ceild(6*N1+5,5);I1<=floord(21*N1-10,17);I1++) {
10322 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
10323 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
10324 J3 = -I1-2*(I2)+2*I3 ;
10328 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) {
10329 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
10330 J3 = -I1-2*(I2)+2*I3 ;
10333 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
10334 J3 = I1-(I2)-(I3) ;
10338 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
10339 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
10340 J3 = -I1-2*(I2)+2*I3 ;
10343 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
10344 J3 = I1-(I2)-(I3) ;
10346 J3 = -I1-2*(I2)+2*I3 ;
10349 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
10350 J3 = I1-(I2)-(I3) ;
10355 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
10356 J3 = -I1-2*(I2)+2*I3 ;
10362 if ((2*I1+J1)%3 == 0) {
10369 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
10370 J3 = I1-(I2)-(I3) ;
10372 J3 = -I1-2*(I2)+2*I3 ;
10375 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
10376 J3 = I1-(I2)-(I3) ;
10380 for (I2=ceild(I1+1,7);I2<=floord(-2*I1+3*N1-1,3);I2++) {
10381 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
10382 J3 = -I1-2*(I2)+2*I3 ;
10385 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
10386 J3 = -I1-2*(I2)+2*I3 ;
10388 J3 = I1-(I2)-(I3) ;
10391 if ((2*I1+I2)%3 == 0) {
10394 if ((2*I1+J1)%3 == 0) {
10401 for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
10402 J3 = I1-(I2)-(I3) ;
10404 J3 = -I1-2*(I2)+2*I3 ;
10407 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
10408 J3 = I1-(I2)-(I3) ;
10412 for (I2=ceild(-2*I1+3*N1,3);I2<=floord(I1-2,6);I2++) {
10413 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
10414 J3 = -I1-2*(I2)+2*I3 ;
10417 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
10418 J3 = -I1-2*(I2)+2*I3 ;
10420 J3 = I1-(I2)-(I3) ;
10423 if ((2*I1+I2)%3 == 0) {
10426 if ((2*I1+J1)%3 == 0) {
10433 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
10434 J3 = I1-(I2)-(I3) ;
10436 J3 = -I1-2*(I2)+2*I3 ;
10440 if ((I1-1)%6 == 0) {
10442 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
10443 J3 = -I1-2*(I2)+2*I3 ;
10445 J3 = I1-(I2)-(I3) ;
10448 if ((13*I1-1)%18 == 0) {
10449 I3 = (13*I1-1)/18 ;
10451 if ((2*I1+J1)%3 == 0) {
10458 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
10459 J3 = I1-(I2)-(I3) ;
10461 J3 = -I1-2*(I2)+2*I3 ;
10466 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
10467 J3 = -I1-2*(I2)+2*I3 ;
10469 J3 = I1-(I2)-(I3) ;
10472 if (13*I1%18 == 0) {
10475 if ((2*I1+J1)%3 == 0) {
10482 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
10483 J3 = I1-(I2)-(I3) ;
10485 J3 = -I1-2*(I2)+2*I3 ;
10489 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
10490 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
10491 J3 = I1-(I2)-(I3) ;
10494 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
10495 J3 = -I1-2*(I2)+2*I3 ;
10497 J3 = I1-(I2)-(I3) ;
10500 if ((2*I1+I2)%3 == 0) {
10503 if ((2*I1+J1)%3 == 0) {
10510 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
10511 J3 = I1-(I2)-(I3) ;
10513 J3 = -I1-2*(I2)+2*I3 ;
10517 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
10518 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
10519 J3 = I1-(I2)-(I3) ;
10522 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
10523 J3 = -I1-2*(I2)+2*I3 ;
10525 J3 = I1-(I2)-(I3) ;
10528 if ((2*I1+I2)%3 == 0) {
10531 if ((2*I1+J1)%3 == 0) {
10538 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
10539 J3 = I1-(I2)-(I3) ;
10541 J3 = -I1-2*(I2)+2*I3 ;
10544 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
10545 J3 = -I1-2*(I2)+2*I3 ;
10549 if ((I1-1)%4 == 0) {
10551 for (I3=2*I2+1;I3<=3*I2;I3++) {
10552 J3 = I1-(I2)-(I3) ;
10555 if ((9*I1-1)%12 == 0) {
10558 if ((2*I1+J1)%3 == 0) {
10565 if ((3*I1+1)%4 == 0) {
10567 J3 = I1-(I2)-(I3) ;
10569 J3 = -I1-2*(I2)+2*I3 ;
10572 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
10573 J3 = -I1-2*(I2)+2*I3 ;
10578 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
10579 J3 = I1-(I2)-(I3) ;
10585 if ((2*I1+J1)%3 == 0) {
10592 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
10593 J3 = -I1-2*(I2)+2*I3 ;
10597 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
10598 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
10599 J3 = I1-(I2)-(I3) ;
10602 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
10603 J3 = -I1-2*(I2)+2*I3 ;
10607 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
10608 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
10609 J3 = I1-(I2)-(I3) ;
10614 for (I1=max(ceild(21*N1-9,17),ceild(6*N1+2,5));I1<=min(floord(21*N1-7,17),floord(6*N1+4,5));I1++) {
10615 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
10616 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
10617 J3 = -I1-2*(I2)+2*I3 ;
10621 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) {
10622 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
10623 J3 = -I1-2*(I2)+2*I3 ;
10626 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
10627 J3 = I1-(I2)-(I3) ;
10631 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
10632 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
10633 J3 = -I1-2*(I2)+2*I3 ;
10636 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
10637 J3 = I1-(I2)-(I3) ;
10639 J3 = -I1-2*(I2)+2*I3 ;
10642 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
10643 J3 = I1-(I2)-(I3) ;
10648 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
10649 J3 = -I1-2*(I2)+2*I3 ;
10655 if ((2*I1+J1)%3 == 0) {
10662 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
10663 J3 = I1-(I2)-(I3) ;
10665 J3 = -I1-2*(I2)+2*I3 ;
10668 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
10669 J3 = I1-(I2)-(I3) ;
10673 for (I2=ceild(-2*I1+3*N1,3);I2<=floord(I1-2,6);I2++) {
10674 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
10675 J3 = -I1-2*(I2)+2*I3 ;
10678 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
10679 J3 = -I1-2*(I2)+2*I3 ;
10681 J3 = I1-(I2)-(I3) ;
10684 if ((2*I1+I2)%3 == 0) {
10687 if ((2*I1+J1)%3 == 0) {
10694 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
10695 J3 = I1-(I2)-(I3) ;
10697 J3 = -I1-2*(I2)+2*I3 ;
10702 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
10703 J3 = -I1-2*(I2)+2*I3 ;
10705 J3 = I1-(I2)-(I3) ;
10708 if (13*I1%18 == 0) {
10711 if ((2*I1+J1)%3 == 0) {
10718 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
10719 J3 = I1-(I2)-(I3) ;
10721 J3 = -I1-2*(I2)+2*I3 ;
10725 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
10726 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
10727 J3 = I1-(I2)-(I3) ;
10730 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
10731 J3 = -I1-2*(I2)+2*I3 ;
10733 J3 = I1-(I2)-(I3) ;
10736 if ((2*I1+I2)%3 == 0) {
10739 if ((2*I1+J1)%3 == 0) {
10746 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
10747 J3 = I1-(I2)-(I3) ;
10749 J3 = -I1-2*(I2)+2*I3 ;
10753 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
10754 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
10755 J3 = I1-(I2)-(I3) ;
10758 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
10759 J3 = -I1-2*(I2)+2*I3 ;
10761 J3 = I1-(I2)-(I3) ;
10764 if ((2*I1+I2)%3 == 0) {
10767 if ((2*I1+J1)%3 == 0) {
10774 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
10775 J3 = I1-(I2)-(I3) ;
10777 J3 = -I1-2*(I2)+2*I3 ;
10780 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
10781 J3 = -I1-2*(I2)+2*I3 ;
10785 if ((I1-1)%4 == 0) {
10787 for (I3=2*I2+1;I3<=3*I2;I3++) {
10788 J3 = I1-(I2)-(I3) ;
10791 if ((9*I1-1)%12 == 0) {
10794 if ((2*I1+J1)%3 == 0) {
10801 if ((3*I1+1)%4 == 0) {
10803 J3 = I1-(I2)-(I3) ;
10805 J3 = -I1-2*(I2)+2*I3 ;
10808 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
10809 J3 = -I1-2*(I2)+2*I3 ;
10814 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
10815 J3 = I1-(I2)-(I3) ;
10821 if ((2*I1+J1)%3 == 0) {
10828 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
10829 J3 = -I1-2*(I2)+2*I3 ;
10833 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
10834 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
10835 J3 = I1-(I2)-(I3) ;
10838 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
10839 J3 = -I1-2*(I2)+2*I3 ;
10843 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
10844 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
10845 J3 = I1-(I2)-(I3) ;
10851 for (I2=1;I2<=2;I2++) {
10852 for (I3=ceild(19+2*I2,2);I3<=min(N1,floord(2*19+3*I2,3));I3++) {
10853 J3 = -(19)-2*(I2)+2*I3 ;
10857 for (I2=3;I2<=2;I2++) {
10858 for (I3=ceild(19+2*I2,2);I3<=19-2*I2-1;I3++) {
10859 J3 = -(19)-2*(I2)+2*I3 ;
10862 for (I3=19-2*I2;I3<=N1;I3++) {
10863 J3 = 19-(I2)-(I3) ;
10865 J3 = -(19)-2*(I2)+2*I3 ;
10870 for (I3=ceild(9*19/7,2);I3<=5*19/7-1;I3++) {
10871 J3 = -(19)-2*(I2)+2*I3 ;
10876 J1 = -2*(19)+3*I3 ;
10877 if ((2*19+J1)%3 == 0) {
10884 for (I3=ceild(15*19/7+1,3);I3<=N1;I3++) {
10885 J3 = 19-(I2)-(I3) ;
10887 J3 = -(19)-2*(I2)+2*I3 ;
10891 for (I3=4*3+1;I3<=floord(13*3+1,3);I3++) {
10892 J3 = -(19)-2*(I2)+2*I3 ;
10894 J3 = 19-(I2)-(I3) ;
10897 if ((13*19-1)%18 == 0) {
10898 I3 = (13*19-1)/18 ;
10899 J1 = -2*(19)+3*I3 ;
10900 if ((2*19+J1)%3 == 0) {
10907 for (I3=ceild(13*3+3,3);I3<=N1;I3++) {
10908 J3 = 19-(I2)-(I3) ;
10910 J3 = -(19)-2*(I2)+2*I3 ;
10913 for (I3=ceild(-5*(4)+3*N1,2);I3<=floord(3*4+3*N1-2,4);I3++) {
10914 J3 = 19-(I2)-(I3) ;
10917 for (I3=ceild(3*4+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
10918 J3 = -(19)-2*(I2)+2*I3 ;
10920 J3 = 19-(I2)-(I3) ;
10923 J1 = -2*(19)+3*N1 ;
10924 if ((2*19+J1)%3 == 0) {
10930 for (I2=5;I2<=14;I2++) {
10931 for (I3=max(max(ceild(19-I2,2),19-2*I2),1);I3<=min(19-I2,N1);I3++) {
10932 J3 = 19-(I2)-(I3) ;
10938 for (I3=ceild(15+2*1,2);I3<=min(N1,floord(2*15+3*1,3));I3++) {
10939 J3 = -(15)-2*(I2)+2*I3 ;
10942 for (I3=ceild(15+2*2,2);I3<=15-2*(2)-1;I3++) {
10943 J3 = -(15)-2*(I2)+2*I3 ;
10946 for (I3=15-2*(2);I3<=N1;I3++) {
10947 J3 = 15-(I2)-(I3) ;
10949 J3 = -(15)-2*(I2)+2*I3 ;
10952 for (I3=ceild(-5*(3)+3*N1,2);I3<=floord(3*3+3*N1-2,4);I3++) {
10953 J3 = 15-(I2)-(I3) ;
10956 for (I3=ceild(3*3+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
10957 J3 = -(15)-2*(I2)+2*I3 ;
10959 J3 = 15-(I2)-(I3) ;
10962 J1 = -2*(15)+3*N1 ;
10963 if ((2*15+J1)%3 == 0) {
10969 for (I2=4;I2<=11;I2++) {
10970 for (I3=max(max(ceild(15-I2,2),15-2*I2),1);I3<=min(15-I2,N1);I3++) {
10971 J3 = 15-(I2)-(I3) ;
10976 for (I1=max(ceild(21*N1-9,17),ceild(6*N1+5,5));I1<=floord(21*N1-7,17);I1++) {
10977 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
10978 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
10979 J3 = -I1-2*(I2)+2*I3 ;
10983 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) {
10984 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
10985 J3 = -I1-2*(I2)+2*I3 ;
10988 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
10989 J3 = I1-(I2)-(I3) ;
10993 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
10994 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
10995 J3 = -I1-2*(I2)+2*I3 ;
10998 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
10999 J3 = I1-(I2)-(I3) ;
11001 J3 = -I1-2*(I2)+2*I3 ;
11004 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
11005 J3 = I1-(I2)-(I3) ;
11010 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
11011 J3 = -I1-2*(I2)+2*I3 ;
11017 if ((2*I1+J1)%3 == 0) {
11024 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
11025 J3 = I1-(I2)-(I3) ;
11027 J3 = -I1-2*(I2)+2*I3 ;
11030 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
11031 J3 = I1-(I2)-(I3) ;
11035 for (I2=ceild(-2*I1+3*N1,3);I2<=floord(I1-2,6);I2++) {
11036 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
11037 J3 = -I1-2*(I2)+2*I3 ;
11040 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
11041 J3 = -I1-2*(I2)+2*I3 ;
11043 J3 = I1-(I2)-(I3) ;
11046 if ((2*I1+I2)%3 == 0) {
11049 if ((2*I1+J1)%3 == 0) {
11056 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
11057 J3 = I1-(I2)-(I3) ;
11059 J3 = -I1-2*(I2)+2*I3 ;
11063 if ((I1-1)%6 == 0) {
11065 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
11066 J3 = -I1-2*(I2)+2*I3 ;
11068 J3 = I1-(I2)-(I3) ;
11071 if ((13*I1-1)%18 == 0) {
11072 I3 = (13*I1-1)/18 ;
11074 if ((2*I1+J1)%3 == 0) {
11081 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
11082 J3 = I1-(I2)-(I3) ;
11084 J3 = -I1-2*(I2)+2*I3 ;
11089 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
11090 J3 = -I1-2*(I2)+2*I3 ;
11092 J3 = I1-(I2)-(I3) ;
11095 if (13*I1%18 == 0) {
11098 if ((2*I1+J1)%3 == 0) {
11105 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
11106 J3 = I1-(I2)-(I3) ;
11108 J3 = -I1-2*(I2)+2*I3 ;
11112 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
11113 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
11114 J3 = I1-(I2)-(I3) ;
11117 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
11118 J3 = -I1-2*(I2)+2*I3 ;
11120 J3 = I1-(I2)-(I3) ;
11123 if ((2*I1+I2)%3 == 0) {
11126 if ((2*I1+J1)%3 == 0) {
11133 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
11134 J3 = I1-(I2)-(I3) ;
11136 J3 = -I1-2*(I2)+2*I3 ;
11140 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
11141 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
11142 J3 = I1-(I2)-(I3) ;
11145 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
11146 J3 = -I1-2*(I2)+2*I3 ;
11148 J3 = I1-(I2)-(I3) ;
11151 if ((2*I1+I2)%3 == 0) {
11154 if ((2*I1+J1)%3 == 0) {
11161 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
11162 J3 = I1-(I2)-(I3) ;
11164 J3 = -I1-2*(I2)+2*I3 ;
11167 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
11168 J3 = -I1-2*(I2)+2*I3 ;
11172 if ((I1-1)%4 == 0) {
11174 for (I3=2*I2+1;I3<=3*I2;I3++) {
11175 J3 = I1-(I2)-(I3) ;
11178 if ((9*I1-1)%12 == 0) {
11181 if ((2*I1+J1)%3 == 0) {
11188 if ((3*I1+1)%4 == 0) {
11190 J3 = I1-(I2)-(I3) ;
11192 J3 = -I1-2*(I2)+2*I3 ;
11195 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
11196 J3 = -I1-2*(I2)+2*I3 ;
11201 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
11202 J3 = I1-(I2)-(I3) ;
11208 if ((2*I1+J1)%3 == 0) {
11215 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
11216 J3 = -I1-2*(I2)+2*I3 ;
11220 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
11221 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
11222 J3 = I1-(I2)-(I3) ;
11225 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
11226 J3 = -I1-2*(I2)+2*I3 ;
11230 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
11231 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
11232 J3 = I1-(I2)-(I3) ;
11237 for (I1=max(ceild(21*N1-6,17),ceild(6*N1+2,5));I1<=min(min(floord(21*N1-1,17),floord(6*N1+4,5)),floord(4*N1-6,3));I1++) {
11238 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
11239 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
11240 J3 = -I1-2*(I2)+2*I3 ;
11244 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) {
11245 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
11246 J3 = -I1-2*(I2)+2*I3 ;
11249 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
11250 J3 = I1-(I2)-(I3) ;
11254 for (I2=ceild(I1,9);I2<=min(floord(I1-1,7),floord(-2*I1+3*N1-1,3));I2++) {
11255 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
11256 J3 = -I1-2*(I2)+2*I3 ;
11259 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
11260 J3 = I1-(I2)-(I3) ;
11262 J3 = -I1-2*(I2)+2*I3 ;
11265 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
11266 J3 = I1-(I2)-(I3) ;
11270 for (I2=max(ceild(I1+1,7),ceild(-2*I1+3*N1,3));I2<=floord(I1-2,6);I2++) {
11271 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
11272 J3 = -I1-2*(I2)+2*I3 ;
11275 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
11276 J3 = -I1-2*(I2)+2*I3 ;
11278 J3 = I1-(I2)-(I3) ;
11281 if ((2*I1+I2)%3 == 0) {
11284 if ((2*I1+J1)%3 == 0) {
11291 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
11292 J3 = I1-(I2)-(I3) ;
11294 J3 = -I1-2*(I2)+2*I3 ;
11299 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
11300 J3 = -I1-2*(I2)+2*I3 ;
11302 J3 = I1-(I2)-(I3) ;
11305 if (13*I1%18 == 0) {
11308 if ((2*I1+J1)%3 == 0) {
11315 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
11316 J3 = I1-(I2)-(I3) ;
11318 J3 = -I1-2*(I2)+2*I3 ;
11322 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
11323 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
11324 J3 = I1-(I2)-(I3) ;
11327 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
11328 J3 = -I1-2*(I2)+2*I3 ;
11330 J3 = I1-(I2)-(I3) ;
11333 if ((2*I1+I2)%3 == 0) {
11336 if ((2*I1+J1)%3 == 0) {
11343 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
11344 J3 = I1-(I2)-(I3) ;
11346 J3 = -I1-2*(I2)+2*I3 ;
11350 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
11351 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
11352 J3 = I1-(I2)-(I3) ;
11355 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
11356 J3 = -I1-2*(I2)+2*I3 ;
11358 J3 = I1-(I2)-(I3) ;
11361 if ((2*I1+I2)%3 == 0) {
11364 if ((2*I1+J1)%3 == 0) {
11371 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
11372 J3 = I1-(I2)-(I3) ;
11374 J3 = -I1-2*(I2)+2*I3 ;
11377 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
11378 J3 = -I1-2*(I2)+2*I3 ;
11382 if ((I1-1)%4 == 0) {
11384 for (I3=2*I2+1;I3<=3*I2;I3++) {
11385 J3 = I1-(I2)-(I3) ;
11388 if ((9*I1-1)%12 == 0) {
11391 if ((2*I1+J1)%3 == 0) {
11398 if ((3*I1+1)%4 == 0) {
11400 J3 = I1-(I2)-(I3) ;
11402 J3 = -I1-2*(I2)+2*I3 ;
11405 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
11406 J3 = -I1-2*(I2)+2*I3 ;
11411 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
11412 J3 = I1-(I2)-(I3) ;
11418 if ((2*I1+J1)%3 == 0) {
11425 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
11426 J3 = -I1-2*(I2)+2*I3 ;
11430 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
11431 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
11432 J3 = I1-(I2)-(I3) ;
11435 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
11436 J3 = -I1-2*(I2)+2*I3 ;
11440 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
11441 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
11442 J3 = I1-(I2)-(I3) ;
11447 for (I1=ceild(21*N1,17);I1<=min(floord(6*N1+4,5),floord(4*N1-6,3));I1++) {
11448 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
11449 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
11450 J3 = -I1-2*(I2)+2*I3 ;
11454 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) {
11455 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
11456 J3 = -I1-2*(I2)+2*I3 ;
11459 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
11460 J3 = I1-(I2)-(I3) ;
11464 for (I2=ceild(I1,9);I2<=floord(-2*I1+3*N1-1,3);I2++) {
11465 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
11466 J3 = -I1-2*(I2)+2*I3 ;
11469 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
11470 J3 = I1-(I2)-(I3) ;
11472 J3 = -I1-2*(I2)+2*I3 ;
11475 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
11476 J3 = I1-(I2)-(I3) ;
11481 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
11482 J3 = -I1-2*(I2)+2*I3 ;
11488 if ((2*I1+J1)%3 == 0) {
11495 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
11496 J3 = I1-(I2)-(I3) ;
11498 J3 = -I1-2*(I2)+2*I3 ;
11502 for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) {
11503 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
11504 J3 = -I1-2*(I2)+2*I3 ;
11507 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
11508 J3 = -I1-2*(I2)+2*I3 ;
11510 J3 = I1-(I2)-(I3) ;
11513 if ((2*I1+I2)%3 == 0) {
11516 if ((2*I1+J1)%3 == 0) {
11523 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
11524 J3 = I1-(I2)-(I3) ;
11526 J3 = -I1-2*(I2)+2*I3 ;
11531 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
11532 J3 = -I1-2*(I2)+2*I3 ;
11534 J3 = I1-(I2)-(I3) ;
11537 if (13*I1%18 == 0) {
11540 if ((2*I1+J1)%3 == 0) {
11547 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
11548 J3 = I1-(I2)-(I3) ;
11550 J3 = -I1-2*(I2)+2*I3 ;
11554 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
11555 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
11556 J3 = I1-(I2)-(I3) ;
11559 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
11560 J3 = -I1-2*(I2)+2*I3 ;
11562 J3 = I1-(I2)-(I3) ;
11565 if ((2*I1+I2)%3 == 0) {
11568 if ((2*I1+J1)%3 == 0) {
11575 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
11576 J3 = I1-(I2)-(I3) ;
11578 J3 = -I1-2*(I2)+2*I3 ;
11582 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
11583 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
11584 J3 = I1-(I2)-(I3) ;
11587 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
11588 J3 = -I1-2*(I2)+2*I3 ;
11590 J3 = I1-(I2)-(I3) ;
11593 if ((2*I1+I2)%3 == 0) {
11596 if ((2*I1+J1)%3 == 0) {
11603 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
11604 J3 = I1-(I2)-(I3) ;
11606 J3 = -I1-2*(I2)+2*I3 ;
11609 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
11610 J3 = -I1-2*(I2)+2*I3 ;
11614 if ((I1-1)%4 == 0) {
11616 for (I3=2*I2+1;I3<=3*I2;I3++) {
11617 J3 = I1-(I2)-(I3) ;
11620 if ((9*I1-1)%12 == 0) {
11623 if ((2*I1+J1)%3 == 0) {
11630 if ((3*I1+1)%4 == 0) {
11632 J3 = I1-(I2)-(I3) ;
11634 J3 = -I1-2*(I2)+2*I3 ;
11637 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
11638 J3 = -I1-2*(I2)+2*I3 ;
11643 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
11644 J3 = I1-(I2)-(I3) ;
11650 if ((2*I1+J1)%3 == 0) {
11657 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
11658 J3 = -I1-2*(I2)+2*I3 ;
11662 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
11663 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
11664 J3 = I1-(I2)-(I3) ;
11667 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
11668 J3 = -I1-2*(I2)+2*I3 ;
11672 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
11673 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
11674 J3 = I1-(I2)-(I3) ;
11679 if ((N1 <= 18) && (N1 >= 17)) {
11680 if ((4*N1-5)%3 == 0) {
11682 for (I2=1;I2<=floord(N1-8,6);I2++) {
11683 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
11684 J3 = -I1-2*(I2)+2*I3 ;
11688 for (I2=ceild(N1-5,6);I2<=floord(4*N1-8,27);I2++) {
11689 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
11690 J3 = -I1-2*(I2)+2*I3 ;
11693 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
11694 J3 = I1-(I2)-(I3) ;
11698 for (I2=ceild(4*N1-5,27);I2<=floord(N1+7,9);I2++) {
11699 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
11700 J3 = -I1-2*(I2)+2*I3 ;
11703 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
11704 J3 = I1-(I2)-(I3) ;
11706 J3 = -I1-2*(I2)+2*I3 ;
11709 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
11710 J3 = I1-(I2)-(I3) ;
11714 if ((4*N1-5)%21 == 0) {
11716 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
11717 J3 = -I1-2*(I2)+2*I3 ;
11723 if ((2*I1+J1)%3 == 0) {
11730 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
11731 J3 = I1-(I2)-(I3) ;
11733 J3 = -I1-2*(I2)+2*I3 ;
11737 for (I2=ceild(4*N1-2,21);I2<=floord(4*N1-11,18);I2++) {
11738 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
11739 J3 = -I1-2*(I2)+2*I3 ;
11742 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
11743 J3 = -I1-2*(I2)+2*I3 ;
11745 J3 = I1-(I2)-(I3) ;
11748 if ((2*I1+I2)%3 == 0) {
11751 if ((2*I1+J1)%3 == 0) {
11758 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
11759 J3 = I1-(I2)-(I3) ;
11761 J3 = -I1-2*(I2)+2*I3 ;
11765 if ((4*N1-5)%18 == 0) {
11767 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
11768 J3 = -I1-2*(I2)+2*I3 ;
11770 J3 = I1-(I2)-(I3) ;
11773 if (13*I1%18 == 0) {
11776 if ((2*I1+J1)%3 == 0) {
11783 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
11784 J3 = I1-(I2)-(I3) ;
11786 J3 = -I1-2*(I2)+2*I3 ;
11790 for (I2=ceild(2*N1-1,9);I2<=floord(N1-5,3);I2++) {
11791 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
11792 J3 = I1-(I2)-(I3) ;
11795 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
11796 J3 = -I1-2*(I2)+2*I3 ;
11798 J3 = I1-(I2)-(I3) ;
11801 if ((2*I1+I2)%3 == 0) {
11804 if ((2*I1+J1)%3 == 0) {
11811 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
11812 J3 = I1-(I2)-(I3) ;
11814 J3 = -I1-2*(I2)+2*I3 ;
11818 if ((N1-2)%3 == 0) {
11820 for (I3=2*I2+1;I3<=3*I2;I3++) {
11821 J3 = I1-(I2)-(I3) ;
11824 if ((9*I1-1)%12 == 0) {
11827 if ((2*I1+J1)%3 == 0) {
11834 if ((3*I1+1)%4 == 0) {
11836 J3 = I1-(I2)-(I3) ;
11838 J3 = -I1-2*(I2)+2*I3 ;
11841 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
11842 J3 = -I1-2*(I2)+2*I3 ;
11846 if ((4*N1-5)%12 == 0) {
11848 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
11849 J3 = I1-(I2)-(I3) ;
11855 if ((2*I1+J1)%3 == 0) {
11862 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
11863 J3 = -I1-2*(I2)+2*I3 ;
11867 for (I2=ceild(2*N1-1,6);I2<=floord(2*N1+5,6);I2++) {
11868 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
11869 J3 = I1-(I2)-(I3) ;
11872 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
11873 J3 = -I1-2*(I2)+2*I3 ;
11877 for (I2=ceild(N1+4,3);I2<=N1;I2++) {
11878 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
11879 J3 = I1-(I2)-(I3) ;
11885 for (I1=max(ceild(21*N1-6,17),ceild(6*N1+5,5));I1<=floord(21*N1-1,17);I1++) {
11886 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
11887 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
11888 J3 = -I1-2*(I2)+2*I3 ;
11892 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) {
11893 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
11894 J3 = -I1-2*(I2)+2*I3 ;
11897 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
11898 J3 = I1-(I2)-(I3) ;
11902 for (I2=ceild(I1,9);I2<=min(floord(I1-1,7),floord(-2*I1+3*N1-1,3));I2++) {
11903 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
11904 J3 = -I1-2*(I2)+2*I3 ;
11907 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
11908 J3 = I1-(I2)-(I3) ;
11910 J3 = -I1-2*(I2)+2*I3 ;
11913 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
11914 J3 = I1-(I2)-(I3) ;
11918 for (I2=max(ceild(I1+1,7),ceild(-2*I1+3*N1,3));I2<=floord(I1-2,6);I2++) {
11919 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
11920 J3 = -I1-2*(I2)+2*I3 ;
11923 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
11924 J3 = -I1-2*(I2)+2*I3 ;
11926 J3 = I1-(I2)-(I3) ;
11929 if ((2*I1+I2)%3 == 0) {
11932 if ((2*I1+J1)%3 == 0) {
11939 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
11940 J3 = I1-(I2)-(I3) ;
11942 J3 = -I1-2*(I2)+2*I3 ;
11946 if ((I1-1)%6 == 0) {
11948 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
11949 J3 = -I1-2*(I2)+2*I3 ;
11951 J3 = I1-(I2)-(I3) ;
11954 if ((13*I1-1)%18 == 0) {
11955 I3 = (13*I1-1)/18 ;
11957 if ((2*I1+J1)%3 == 0) {
11964 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
11965 J3 = I1-(I2)-(I3) ;
11967 J3 = -I1-2*(I2)+2*I3 ;
11972 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
11973 J3 = -I1-2*(I2)+2*I3 ;
11975 J3 = I1-(I2)-(I3) ;
11978 if (13*I1%18 == 0) {
11981 if ((2*I1+J1)%3 == 0) {
11988 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
11989 J3 = I1-(I2)-(I3) ;
11991 J3 = -I1-2*(I2)+2*I3 ;
11995 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
11996 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
11997 J3 = I1-(I2)-(I3) ;
12000 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
12001 J3 = -I1-2*(I2)+2*I3 ;
12003 J3 = I1-(I2)-(I3) ;
12006 if ((2*I1+I2)%3 == 0) {
12009 if ((2*I1+J1)%3 == 0) {
12016 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
12017 J3 = I1-(I2)-(I3) ;
12019 J3 = -I1-2*(I2)+2*I3 ;
12023 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
12024 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
12025 J3 = I1-(I2)-(I3) ;
12028 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
12029 J3 = -I1-2*(I2)+2*I3 ;
12031 J3 = I1-(I2)-(I3) ;
12034 if ((2*I1+I2)%3 == 0) {
12037 if ((2*I1+J1)%3 == 0) {
12044 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
12045 J3 = I1-(I2)-(I3) ;
12047 J3 = -I1-2*(I2)+2*I3 ;
12050 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
12051 J3 = -I1-2*(I2)+2*I3 ;
12055 if ((I1-1)%4 == 0) {
12057 for (I3=2*I2+1;I3<=3*I2;I3++) {
12058 J3 = I1-(I2)-(I3) ;
12061 if ((9*I1-1)%12 == 0) {
12064 if ((2*I1+J1)%3 == 0) {
12071 if ((3*I1+1)%4 == 0) {
12073 J3 = I1-(I2)-(I3) ;
12075 J3 = -I1-2*(I2)+2*I3 ;
12078 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
12079 J3 = -I1-2*(I2)+2*I3 ;
12084 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
12085 J3 = I1-(I2)-(I3) ;
12091 if ((2*I1+J1)%3 == 0) {
12098 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
12099 J3 = -I1-2*(I2)+2*I3 ;
12103 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
12104 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
12105 J3 = I1-(I2)-(I3) ;
12108 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
12109 J3 = -I1-2*(I2)+2*I3 ;
12113 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
12114 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
12115 J3 = I1-(I2)-(I3) ;
12120 if ((N1 >= 18) && (N1 <= 19)) {
12121 if ((4*N1-4)%3 == 0) {
12123 for (I2=1;I2<=floord(N1-7,6);I2++) {
12124 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
12125 J3 = -I1-2*(I2)+2*I3 ;
12129 for (I2=ceild(N1-4,6);I2<=floord(4*N1-7,27);I2++) {
12130 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
12131 J3 = -I1-2*(I2)+2*I3 ;
12134 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
12135 J3 = I1-(I2)-(I3) ;
12139 for (I2=ceild(4*N1-4,27);I2<=floord(N1+5,9);I2++) {
12140 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
12141 J3 = -I1-2*(I2)+2*I3 ;
12144 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
12145 J3 = I1-(I2)-(I3) ;
12147 J3 = -I1-2*(I2)+2*I3 ;
12150 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
12151 J3 = I1-(I2)-(I3) ;
12155 for (I2=ceild(N1+8,9);I2<=floord(4*N1-7,21);I2++) {
12156 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
12157 J3 = -I1-2*(I2)+2*I3 ;
12160 for (I3=I1-2*I2;I3<=N1;I3++) {
12161 J3 = I1-(I2)-(I3) ;
12163 J3 = -I1-2*(I2)+2*I3 ;
12167 if ((4*N1-4)%21 == 0) {
12169 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
12170 J3 = -I1-2*(I2)+2*I3 ;
12176 if ((2*I1+J1)%3 == 0) {
12183 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
12184 J3 = I1-(I2)-(I3) ;
12186 J3 = -I1-2*(I2)+2*I3 ;
12190 for (I2=ceild(4*N1-1,21);I2<=floord(2*N1-5,9);I2++) {
12191 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
12192 J3 = -I1-2*(I2)+2*I3 ;
12195 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
12196 J3 = -I1-2*(I2)+2*I3 ;
12198 J3 = I1-(I2)-(I3) ;
12201 if ((2*I1+I2)%3 == 0) {
12204 if ((2*I1+J1)%3 == 0) {
12211 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
12212 J3 = I1-(I2)-(I3) ;
12214 J3 = -I1-2*(I2)+2*I3 ;
12218 if ((4*N1-7)%18 == 0) {
12220 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
12221 J3 = -I1-2*(I2)+2*I3 ;
12223 J3 = I1-(I2)-(I3) ;
12226 if ((13*I1-1)%18 == 0) {
12227 I3 = (13*I1-1)/18 ;
12229 if ((2*I1+J1)%3 == 0) {
12236 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
12237 J3 = I1-(I2)-(I3) ;
12239 J3 = -I1-2*(I2)+2*I3 ;
12243 if ((2*N1-2)%9 == 0) {
12245 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
12246 J3 = -I1-2*(I2)+2*I3 ;
12248 J3 = I1-(I2)-(I3) ;
12251 if (13*I1%18 == 0) {
12254 if ((2*I1+J1)%3 == 0) {
12261 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
12262 J3 = I1-(I2)-(I3) ;
12264 J3 = -I1-2*(I2)+2*I3 ;
12268 for (I2=ceild(4*N1-1,18);I2<=floord(N1-4,3);I2++) {
12269 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
12270 J3 = I1-(I2)-(I3) ;
12273 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
12274 J3 = -I1-2*(I2)+2*I3 ;
12276 J3 = I1-(I2)-(I3) ;
12279 if ((2*I1+I2)%3 == 0) {
12282 if ((2*I1+J1)%3 == 0) {
12289 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
12290 J3 = I1-(I2)-(I3) ;
12292 J3 = -I1-2*(I2)+2*I3 ;
12296 if ((N1-1)%3 == 0) {
12298 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
12299 J3 = I1-(I2)-(I3) ;
12305 if ((2*I1+J1)%3 == 0) {
12312 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
12313 J3 = -I1-2*(I2)+2*I3 ;
12317 for (I2=ceild(4*N1-1,12);I2<=floord(N1+2,3);I2++) {
12318 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
12319 J3 = I1-(I2)-(I3) ;
12322 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
12323 J3 = -I1-2*(I2)+2*I3 ;
12327 for (I2=ceild(2*N1+7,6);I2<=N1;I2++) {
12328 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
12329 J3 = I1-(I2)-(I3) ;
12335 for (I1=max(ceild(21*N1,17),ceild(6*N1+5,5));I1<=floord(21*N1+2,17);I1++) {
12336 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
12337 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
12338 J3 = -I1-2*(I2)+2*I3 ;
12342 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) {
12343 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
12344 J3 = -I1-2*(I2)+2*I3 ;
12347 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
12348 J3 = I1-(I2)-(I3) ;
12352 for (I2=ceild(I1,9);I2<=floord(-2*I1+3*N1-1,3);I2++) {
12353 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
12354 J3 = -I1-2*(I2)+2*I3 ;
12357 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
12358 J3 = I1-(I2)-(I3) ;
12360 J3 = -I1-2*(I2)+2*I3 ;
12363 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
12364 J3 = I1-(I2)-(I3) ;
12369 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
12370 J3 = -I1-2*(I2)+2*I3 ;
12376 if ((2*I1+J1)%3 == 0) {
12383 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
12384 J3 = I1-(I2)-(I3) ;
12386 J3 = -I1-2*(I2)+2*I3 ;
12390 for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) {
12391 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
12392 J3 = -I1-2*(I2)+2*I3 ;
12395 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
12396 J3 = -I1-2*(I2)+2*I3 ;
12398 J3 = I1-(I2)-(I3) ;
12401 if ((2*I1+I2)%3 == 0) {
12404 if ((2*I1+J1)%3 == 0) {
12411 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
12412 J3 = I1-(I2)-(I3) ;
12414 J3 = -I1-2*(I2)+2*I3 ;
12418 if ((I1-1)%6 == 0) {
12420 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
12421 J3 = -I1-2*(I2)+2*I3 ;
12423 J3 = I1-(I2)-(I3) ;
12426 if ((13*I1-1)%18 == 0) {
12427 I3 = (13*I1-1)/18 ;
12429 if ((2*I1+J1)%3 == 0) {
12436 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
12437 J3 = I1-(I2)-(I3) ;
12439 J3 = -I1-2*(I2)+2*I3 ;
12444 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
12445 J3 = -I1-2*(I2)+2*I3 ;
12447 J3 = I1-(I2)-(I3) ;
12450 if (13*I1%18 == 0) {
12453 if ((2*I1+J1)%3 == 0) {
12460 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
12461 J3 = I1-(I2)-(I3) ;
12463 J3 = -I1-2*(I2)+2*I3 ;
12467 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
12468 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
12469 J3 = I1-(I2)-(I3) ;
12472 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
12473 J3 = -I1-2*(I2)+2*I3 ;
12475 J3 = I1-(I2)-(I3) ;
12478 if ((2*I1+I2)%3 == 0) {
12481 if ((2*I1+J1)%3 == 0) {
12488 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
12489 J3 = I1-(I2)-(I3) ;
12491 J3 = -I1-2*(I2)+2*I3 ;
12495 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
12496 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
12497 J3 = I1-(I2)-(I3) ;
12500 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
12501 J3 = -I1-2*(I2)+2*I3 ;
12503 J3 = I1-(I2)-(I3) ;
12506 if ((2*I1+I2)%3 == 0) {
12509 if ((2*I1+J1)%3 == 0) {
12516 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
12517 J3 = I1-(I2)-(I3) ;
12519 J3 = -I1-2*(I2)+2*I3 ;
12522 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
12523 J3 = -I1-2*(I2)+2*I3 ;
12527 if ((I1-1)%4 == 0) {
12529 for (I3=2*I2+1;I3<=3*I2;I3++) {
12530 J3 = I1-(I2)-(I3) ;
12533 if ((9*I1-1)%12 == 0) {
12536 if ((2*I1+J1)%3 == 0) {
12543 if ((3*I1+1)%4 == 0) {
12545 J3 = I1-(I2)-(I3) ;
12547 J3 = -I1-2*(I2)+2*I3 ;
12550 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
12551 J3 = -I1-2*(I2)+2*I3 ;
12556 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
12557 J3 = I1-(I2)-(I3) ;
12563 if ((2*I1+J1)%3 == 0) {
12570 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
12571 J3 = -I1-2*(I2)+2*I3 ;
12575 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
12576 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
12577 J3 = I1-(I2)-(I3) ;
12580 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
12581 J3 = -I1-2*(I2)+2*I3 ;
12585 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
12586 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
12587 J3 = I1-(I2)-(I3) ;
12592 for (I1=max(ceild(21*N1+3,17),ceild(6*N1+5,5));I1<=min(floord(9*N1-3,7),floord(4*N1-6,3));I1++) {
12593 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
12594 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
12595 J3 = -I1-2*(I2)+2*I3 ;
12599 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) {
12600 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
12601 J3 = -I1-2*(I2)+2*I3 ;
12604 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
12605 J3 = I1-(I2)-(I3) ;
12609 for (I2=ceild(I1,9);I2<=floord(-2*I1+3*N1-1,3);I2++) {
12610 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
12611 J3 = -I1-2*(I2)+2*I3 ;
12614 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
12615 J3 = I1-(I2)-(I3) ;
12617 J3 = -I1-2*(I2)+2*I3 ;
12620 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
12621 J3 = I1-(I2)-(I3) ;
12625 for (I2=ceild(-2*I1+3*N1,3);I2<=floord(I1-1,7);I2++) {
12626 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
12627 J3 = -I1-2*(I2)+2*I3 ;
12630 for (I3=I1-2*I2;I3<=N1;I3++) {
12631 J3 = I1-(I2)-(I3) ;
12633 J3 = -I1-2*(I2)+2*I3 ;
12638 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
12639 J3 = -I1-2*(I2)+2*I3 ;
12645 if ((2*I1+J1)%3 == 0) {
12652 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
12653 J3 = I1-(I2)-(I3) ;
12655 J3 = -I1-2*(I2)+2*I3 ;
12659 for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) {
12660 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
12661 J3 = -I1-2*(I2)+2*I3 ;
12664 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
12665 J3 = -I1-2*(I2)+2*I3 ;
12667 J3 = I1-(I2)-(I3) ;
12670 if ((2*I1+I2)%3 == 0) {
12673 if ((2*I1+J1)%3 == 0) {
12680 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
12681 J3 = I1-(I2)-(I3) ;
12683 J3 = -I1-2*(I2)+2*I3 ;
12687 if ((I1-1)%6 == 0) {
12689 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
12690 J3 = -I1-2*(I2)+2*I3 ;
12692 J3 = I1-(I2)-(I3) ;
12695 if ((13*I1-1)%18 == 0) {
12696 I3 = (13*I1-1)/18 ;
12698 if ((2*I1+J1)%3 == 0) {
12705 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
12706 J3 = I1-(I2)-(I3) ;
12708 J3 = -I1-2*(I2)+2*I3 ;
12713 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
12714 J3 = -I1-2*(I2)+2*I3 ;
12716 J3 = I1-(I2)-(I3) ;
12719 if (13*I1%18 == 0) {
12722 if ((2*I1+J1)%3 == 0) {
12729 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
12730 J3 = I1-(I2)-(I3) ;
12732 J3 = -I1-2*(I2)+2*I3 ;
12736 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
12737 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
12738 J3 = I1-(I2)-(I3) ;
12741 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
12742 J3 = -I1-2*(I2)+2*I3 ;
12744 J3 = I1-(I2)-(I3) ;
12747 if ((2*I1+I2)%3 == 0) {
12750 if ((2*I1+J1)%3 == 0) {
12757 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
12758 J3 = I1-(I2)-(I3) ;
12760 J3 = -I1-2*(I2)+2*I3 ;
12764 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
12765 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
12766 J3 = I1-(I2)-(I3) ;
12769 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
12770 J3 = -I1-2*(I2)+2*I3 ;
12772 J3 = I1-(I2)-(I3) ;
12775 if ((2*I1+I2)%3 == 0) {
12778 if ((2*I1+J1)%3 == 0) {
12785 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
12786 J3 = I1-(I2)-(I3) ;
12788 J3 = -I1-2*(I2)+2*I3 ;
12791 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
12792 J3 = -I1-2*(I2)+2*I3 ;
12796 if ((I1-1)%4 == 0) {
12798 for (I3=2*I2+1;I3<=3*I2;I3++) {
12799 J3 = I1-(I2)-(I3) ;
12802 if ((9*I1-1)%12 == 0) {
12805 if ((2*I1+J1)%3 == 0) {
12812 if ((3*I1+1)%4 == 0) {
12814 J3 = I1-(I2)-(I3) ;
12816 J3 = -I1-2*(I2)+2*I3 ;
12819 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
12820 J3 = -I1-2*(I2)+2*I3 ;
12825 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
12826 J3 = I1-(I2)-(I3) ;
12832 if ((2*I1+J1)%3 == 0) {
12839 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
12840 J3 = -I1-2*(I2)+2*I3 ;
12844 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
12845 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
12846 J3 = I1-(I2)-(I3) ;
12849 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
12850 J3 = -I1-2*(I2)+2*I3 ;
12854 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
12855 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
12856 J3 = I1-(I2)-(I3) ;
12861 if ((N1 >= 20) && (N1 <= 26)) {
12862 if ((4*N1-5)%3 == 0) {
12864 for (I2=1;I2<=floord(N1-8,6);I2++) {
12865 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
12866 J3 = -I1-2*(I2)+2*I3 ;
12870 for (I2=ceild(N1-5,6);I2<=floord(4*N1-8,27);I2++) {
12871 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
12872 J3 = -I1-2*(I2)+2*I3 ;
12875 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
12876 J3 = I1-(I2)-(I3) ;
12880 for (I2=ceild(4*N1-5,27);I2<=floord(N1+7,9);I2++) {
12881 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
12882 J3 = -I1-2*(I2)+2*I3 ;
12885 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
12886 J3 = I1-(I2)-(I3) ;
12888 J3 = -I1-2*(I2)+2*I3 ;
12891 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
12892 J3 = I1-(I2)-(I3) ;
12896 for (I2=ceild(N1+10,9);I2<=floord(4*N1-8,21);I2++) {
12897 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
12898 J3 = -I1-2*(I2)+2*I3 ;
12901 for (I3=I1-2*I2;I3<=N1;I3++) {
12902 J3 = I1-(I2)-(I3) ;
12904 J3 = -I1-2*(I2)+2*I3 ;
12908 if ((4*N1-5)%21 == 0) {
12910 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
12911 J3 = -I1-2*(I2)+2*I3 ;
12917 if ((2*I1+J1)%3 == 0) {
12924 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
12925 J3 = I1-(I2)-(I3) ;
12927 J3 = -I1-2*(I2)+2*I3 ;
12931 for (I2=ceild(4*N1-2,21);I2<=floord(4*N1-11,18);I2++) {
12932 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
12933 J3 = -I1-2*(I2)+2*I3 ;
12936 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
12937 J3 = -I1-2*(I2)+2*I3 ;
12939 J3 = I1-(I2)-(I3) ;
12942 if ((2*I1+I2)%3 == 0) {
12945 if ((2*I1+J1)%3 == 0) {
12952 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
12953 J3 = I1-(I2)-(I3) ;
12955 J3 = -I1-2*(I2)+2*I3 ;
12959 if ((2*N1-4)%9 == 0) {
12961 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
12962 J3 = -I1-2*(I2)+2*I3 ;
12964 J3 = I1-(I2)-(I3) ;
12967 if ((13*I1-1)%18 == 0) {
12968 I3 = (13*I1-1)/18 ;
12970 if ((2*I1+J1)%3 == 0) {
12977 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
12978 J3 = I1-(I2)-(I3) ;
12980 J3 = -I1-2*(I2)+2*I3 ;
12984 if ((4*N1-5)%18 == 0) {
12986 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
12987 J3 = -I1-2*(I2)+2*I3 ;
12989 J3 = I1-(I2)-(I3) ;
12992 if (13*I1%18 == 0) {
12995 if ((2*I1+J1)%3 == 0) {
13002 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
13003 J3 = I1-(I2)-(I3) ;
13005 J3 = -I1-2*(I2)+2*I3 ;
13009 for (I2=ceild(2*N1-1,9);I2<=floord(N1-5,3);I2++) {
13010 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
13011 J3 = I1-(I2)-(I3) ;
13014 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
13015 J3 = -I1-2*(I2)+2*I3 ;
13017 J3 = I1-(I2)-(I3) ;
13020 if ((2*I1+I2)%3 == 0) {
13023 if ((2*I1+J1)%3 == 0) {
13030 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
13031 J3 = I1-(I2)-(I3) ;
13033 J3 = -I1-2*(I2)+2*I3 ;
13037 if ((N1-2)%3 == 0) {
13039 for (I3=2*I2+1;I3<=3*I2;I3++) {
13040 J3 = I1-(I2)-(I3) ;
13043 if ((9*I1-1)%12 == 0) {
13046 if ((2*I1+J1)%3 == 0) {
13053 if ((3*I1+1)%4 == 0) {
13055 J3 = I1-(I2)-(I3) ;
13057 J3 = -I1-2*(I2)+2*I3 ;
13060 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
13061 J3 = -I1-2*(I2)+2*I3 ;
13065 if ((4*N1-5)%12 == 0) {
13067 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
13068 J3 = I1-(I2)-(I3) ;
13074 if ((2*I1+J1)%3 == 0) {
13081 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
13082 J3 = -I1-2*(I2)+2*I3 ;
13086 for (I2=ceild(2*N1-1,6);I2<=floord(2*N1+5,6);I2++) {
13087 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
13088 J3 = I1-(I2)-(I3) ;
13091 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
13092 J3 = -I1-2*(I2)+2*I3 ;
13096 for (I2=ceild(N1+4,3);I2<=N1;I2++) {
13097 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
13098 J3 = I1-(I2)-(I3) ;
13105 if ((9*N1-2)%7 == 0) {
13107 for (I2=1;I2<=floord(2*N1-9,14);I2++) {
13108 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
13109 J3 = -I1-2*(I2)+2*I3 ;
13113 if ((N1-1)%7 == 0) {
13115 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
13116 J3 = -I1-2*(I2)+2*I3 ;
13119 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
13120 J3 = I1-(I2)-(I3) ;
13124 for (I2=ceild(3*N1+4,21);I2<=floord(9*N1-9,49);I2++) {
13125 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
13126 J3 = -I1-2*(I2)+2*I3 ;
13129 for (I3=I1-2*I2;I3<=N1;I3++) {
13130 J3 = I1-(I2)-(I3) ;
13132 J3 = -I1-2*(I2)+2*I3 ;
13136 if ((9*N1-2)%49 == 0) {
13138 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
13139 J3 = -I1-2*(I2)+2*I3 ;
13145 if ((2*I1+J1)%3 == 0) {
13152 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
13153 J3 = I1-(I2)-(I3) ;
13155 J3 = -I1-2*(I2)+2*I3 ;
13159 for (I2=ceild(9*N1+5,49);I2<=floord(9*N1-16,42);I2++) {
13160 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
13161 J3 = -I1-2*(I2)+2*I3 ;
13164 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
13165 J3 = -I1-2*(I2)+2*I3 ;
13167 J3 = I1-(I2)-(I3) ;
13170 if ((2*I1+I2)%3 == 0) {
13173 if ((2*I1+J1)%3 == 0) {
13180 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
13181 J3 = I1-(I2)-(I3) ;
13183 J3 = -I1-2*(I2)+2*I3 ;
13187 if ((3*N1-3)%14 == 0) {
13189 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
13190 J3 = -I1-2*(I2)+2*I3 ;
13192 J3 = I1-(I2)-(I3) ;
13195 if ((13*I1-1)%18 == 0) {
13196 I3 = (13*I1-1)/18 ;
13198 if ((2*I1+J1)%3 == 0) {
13205 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
13206 J3 = I1-(I2)-(I3) ;
13208 J3 = -I1-2*(I2)+2*I3 ;
13212 if ((9*N1-2)%42 == 0) {
13214 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
13215 J3 = -I1-2*(I2)+2*I3 ;
13217 J3 = I1-(I2)-(I3) ;
13220 if (13*I1%18 == 0) {
13223 if ((2*I1+J1)%3 == 0) {
13230 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
13231 J3 = I1-(I2)-(I3) ;
13233 J3 = -I1-2*(I2)+2*I3 ;
13237 for (I2=ceild(9*N1+5,42);I2<=floord(2*N1-2,7);I2++) {
13238 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
13239 J3 = I1-(I2)-(I3) ;
13242 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
13243 J3 = -I1-2*(I2)+2*I3 ;
13245 J3 = I1-(I2)-(I3) ;
13248 if ((2*I1+I2)%3 == 0) {
13251 if ((2*I1+J1)%3 == 0) {
13258 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
13259 J3 = I1-(I2)-(I3) ;
13261 J3 = -I1-2*(I2)+2*I3 ;
13265 for (I2=ceild(2*N1+5,7);I2<=floord(9*N1-16,28);I2++) {
13266 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
13267 J3 = I1-(I2)-(I3) ;
13270 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
13271 J3 = -I1-2*(I2)+2*I3 ;
13273 J3 = I1-(I2)-(I3) ;
13276 if ((2*I1+I2)%3 == 0) {
13279 if ((2*I1+J1)%3 == 0) {
13286 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
13287 J3 = I1-(I2)-(I3) ;
13289 J3 = -I1-2*(I2)+2*I3 ;
13292 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
13293 J3 = -I1-2*(I2)+2*I3 ;
13297 if ((9*N1-9)%28 == 0) {
13299 for (I3=2*I2+1;I3<=3*I2;I3++) {
13300 J3 = I1-(I2)-(I3) ;
13303 if ((9*I1-1)%12 == 0) {
13306 if ((2*I1+J1)%3 == 0) {
13313 if ((3*I1+1)%4 == 0) {
13315 J3 = I1-(I2)-(I3) ;
13317 J3 = -I1-2*(I2)+2*I3 ;
13320 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
13321 J3 = -I1-2*(I2)+2*I3 ;
13325 if ((9*N1-2)%28 == 0) {
13327 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
13328 J3 = I1-(I2)-(I3) ;
13334 if ((2*I1+J1)%3 == 0) {
13341 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
13342 J3 = -I1-2*(I2)+2*I3 ;
13346 for (I2=ceild(9*N1+5,28);I2<=floord(5*N1+2,14);I2++) {
13347 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
13348 J3 = I1-(I2)-(I3) ;
13351 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
13352 J3 = -I1-2*(I2)+2*I3 ;
13356 for (I2=ceild(5*N1+9,14);I2<=N1;I2++) {
13357 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
13358 J3 = I1-(I2)-(I3) ;
13365 for (I2=1;I2<=3;I2++) {
13366 for (I3=ceild(37+2*I2,2);I3<=min(N1,floord(2*37+3*I2,3));I3++) {
13367 J3 = -(37)-2*(I2)+2*I3 ;
13371 for (I3=ceild(37+2*4,2);I3<=min(37-2*(4)-1,floord(2*37+3*4,3));I3++) {
13372 J3 = -(37)-2*(I2)+2*I3 ;
13375 for (I3=37-2*(4);I3<=min(N1,37-(4));I3++) {
13376 J3 = 37-(I2)-(I3) ;
13379 for (I3=ceild(37+2*5,2);I3<=37-2*(5)-1;I3++) {
13380 J3 = -(37)-2*(I2)+2*I3 ;
13383 for (I3=37-2*(5);I3<=N1;I3++) {
13384 J3 = 37-(I2)-(I3) ;
13386 J3 = -(37)-2*(I2)+2*I3 ;
13390 for (I3=ceild(9*37/7,2);I3<=5*37/7-1;I3++) {
13391 J3 = -(37)-2*(I2)+2*I3 ;
13396 J1 = -2*(37)+3*I3 ;
13397 if ((2*37+J1)%3 == 0) {
13404 for (I3=ceild(15*37/7+1,3);I3<=N1;I3++) {
13405 J3 = 37-(I2)-(I3) ;
13407 J3 = -(37)-2*(I2)+2*I3 ;
13411 for (I2=6;I2<=5;I2++) {
13412 for (I3=ceild(37+2*I2,2);I3<=37-2*I2-1;I3++) {
13413 J3 = -(37)-2*(I2)+2*I3 ;
13416 for (I3=37-2*I2;I3<=floord(2*37+I2-1,3);I3++) {
13417 J3 = -(37)-2*(I2)+2*I3 ;
13419 J3 = 37-(I2)-(I3) ;
13422 if ((2*37+I2)%3 == 0) {
13424 J1 = -2*(37)+3*I3 ;
13425 if ((2*37+J1)%3 == 0) {
13432 for (I3=ceild(2*37+I2+1,3);I3<=N1;I3++) {
13433 J3 = 37-(I2)-(I3) ;
13435 J3 = -(37)-2*(I2)+2*I3 ;
13439 for (I3=4*6+1;I3<=floord(13*6+1,3);I3++) {
13440 J3 = -(37)-2*(I2)+2*I3 ;
13442 J3 = 37-(I2)-(I3) ;
13445 if ((13*37-1)%18 == 0) {
13446 I3 = (13*37-1)/18 ;
13447 J1 = -2*(37)+3*I3 ;
13448 if ((2*37+J1)%3 == 0) {
13455 for (I3=ceild(13*6+3,3);I3<=N1;I3++) {
13456 J3 = 37-(I2)-(I3) ;
13458 J3 = -(37)-2*(I2)+2*I3 ;
13462 for (I3=4*37/6;I3<=floord(13*37/6-1,3);I3++) {
13463 J3 = -(37)-2*(I2)+2*I3 ;
13465 J3 = 37-(I2)-(I3) ;
13468 if (13*37%18 == 0) {
13470 J1 = -2*(37)+3*I3 ;
13471 if ((2*37+J1)%3 == 0) {
13478 for (I3=ceild(13*37/6+1,3);I3<=min(N1,5*37/6);I3++) {
13479 J3 = 37-(I2)-(I3) ;
13481 J3 = -(37)-2*(I2)+2*I3 ;
13485 for (I2=7;I2<=8;I2++) {
13486 for (I3=37-2*I2;I3<=floord(37+2*I2-1,2);I3++) {
13487 J3 = 37-(I2)-(I3) ;
13490 for (I3=ceild(37+2*I2,2);I3<=floord(2*37+I2-1,3);I3++) {
13491 J3 = -(37)-2*(I2)+2*I3 ;
13493 J3 = 37-(I2)-(I3) ;
13496 if ((2*37+I2)%3 == 0) {
13498 J1 = -2*(37)+3*I3 ;
13499 if ((2*37+J1)%3 == 0) {
13506 for (I3=ceild(2*37+I2+1,3);I3<=N1;I3++) {
13507 J3 = 37-(I2)-(I3) ;
13509 J3 = -(37)-2*(I2)+2*I3 ;
13513 for (I3=2*9+1;I3<=3*9;I3++) {
13514 J3 = 37-(I2)-(I3) ;
13517 if ((9*37-1)%12 == 0) {
13519 J1 = -2*(37)+3*I3 ;
13520 if ((2*37+J1)%3 == 0) {
13527 if ((3*37+1)%4 == 0) {
13529 J3 = 37-(I2)-(I3) ;
13531 J3 = -(37)-2*(I2)+2*I3 ;
13534 for (I3=3*9+2;I3<=min(N1,floord(11*9+2,3));I3++) {
13535 J3 = -(37)-2*(I2)+2*I3 ;
13539 for (I3=2*37/4;I3<=floord(6*37/4-1,2);I3++) {
13540 J3 = 37-(I2)-(I3) ;
13545 J1 = -2*(37)+3*I3 ;
13546 if ((2*37+J1)%3 == 0) {
13553 for (I3=3*37/4+1;I3<=min(N1,floord(11*37/4,3));I3++) {
13554 J3 = -(37)-2*(I2)+2*I3 ;
13558 for (I3=max(max(1,ceild(37-(10),2)),37-2*(10));I3<=37-(10);I3++) {
13559 J3 = 37-(I2)-(I3) ;
13562 for (I3=max(37-(10)+1,ceild(37+2*10,2));I3<=min(N1,floord(2*37+3*10,3));I3++) {
13563 J3 = -(37)-2*(I2)+2*I3 ;
13566 for (I2=11;I2<=29;I2++) {
13567 for (I3=max(max(ceild(37-I2,2),37-2*I2),1);I3<=min(37-I2,N1);I3++) {
13568 J3 = 37-(I2)-(I3) ;
13574 for (I2=1;I2<=2;I2++) {
13575 for (I3=ceild(28+2*I2,2);I3<=min(N1,floord(2*28+3*I2,3));I3++) {
13576 J3 = -(28)-2*(I2)+2*I3 ;
13580 for (I3=ceild(28+2*3,2);I3<=min(28-2*(3)-1,floord(2*28+3*3,3));I3++) {
13581 J3 = -(28)-2*(I2)+2*I3 ;
13584 for (I3=28-2*(3);I3<=min(N1,28-(3));I3++) {
13585 J3 = 28-(I2)-(I3) ;
13588 for (I2=4;I2<=3;I2++) {
13589 for (I3=ceild(28+2*I2,2);I3<=28-2*I2-1;I3++) {
13590 J3 = -(28)-2*(I2)+2*I3 ;
13593 for (I3=28-2*I2;I3<=N1;I3++) {
13594 J3 = 28-(I2)-(I3) ;
13596 J3 = -(28)-2*(I2)+2*I3 ;
13600 for (I3=ceild(9*4,2);I3<=5*4-1;I3++) {
13601 J3 = -(28)-2*(I2)+2*I3 ;
13606 J1 = -2*(28)+3*I3 ;
13607 if ((2*28+J1)%3 == 0) {
13614 for (I3=ceild(15*4+1,3);I3<=N1;I3++) {
13615 J3 = 28-(I2)-(I3) ;
13617 J3 = -(28)-2*(I2)+2*I3 ;
13620 for (I2=5;I2<=4;I2++) {
13621 for (I3=ceild(28+2*I2,2);I3<=28-2*I2-1;I3++) {
13622 J3 = -(28)-2*(I2)+2*I3 ;
13625 for (I3=28-2*I2;I3<=floord(2*28+I2-1,3);I3++) {
13626 J3 = -(28)-2*(I2)+2*I3 ;
13628 J3 = 28-(I2)-(I3) ;
13631 if ((2*28+I2)%3 == 0) {
13633 J1 = -2*(28)+3*I3 ;
13634 if ((2*28+J1)%3 == 0) {
13641 for (I3=ceild(2*28+I2+1,3);I3<=N1;I3++) {
13642 J3 = 28-(I2)-(I3) ;
13644 J3 = -(28)-2*(I2)+2*I3 ;
13649 for (I3=4*9/2+1;I3<=floord(13*9/2+1,3);I3++) {
13650 J3 = -(28)-2*(I2)+2*I3 ;
13652 J3 = 28-(I2)-(I3) ;
13655 if ((13*28-1)%18 == 0) {
13656 I3 = (13*28-1)/18 ;
13657 J1 = -2*(28)+3*I3 ;
13658 if ((2*28+J1)%3 == 0) {
13665 for (I3=ceild(13*9/2+3,3);I3<=N1;I3++) {
13666 J3 = 28-(I2)-(I3) ;
13668 J3 = -(28)-2*(I2)+2*I3 ;
13673 for (I3=4*14/3;I3<=floord(13*14/3-1,3);I3++) {
13674 J3 = -(28)-2*(I2)+2*I3 ;
13676 J3 = 28-(I2)-(I3) ;
13679 if (13*28%18 == 0) {
13681 J1 = -2*(28)+3*I3 ;
13682 if ((2*28+J1)%3 == 0) {
13689 for (I3=ceild(13*14/3+1,3);I3<=min(N1,5*14/3);I3++) {
13690 J3 = 28-(I2)-(I3) ;
13692 J3 = -(28)-2*(I2)+2*I3 ;
13696 for (I2=5;I2<=6;I2++) {
13697 for (I3=28-2*I2;I3<=floord(28+2*I2-1,2);I3++) {
13698 J3 = 28-(I2)-(I3) ;
13701 for (I3=ceild(28+2*I2,2);I3<=floord(2*28+I2-1,3);I3++) {
13702 J3 = -(28)-2*(I2)+2*I3 ;
13704 J3 = 28-(I2)-(I3) ;
13707 if ((2*28+I2)%3 == 0) {
13709 J1 = -2*(28)+3*I3 ;
13710 if ((2*28+J1)%3 == 0) {
13717 for (I3=ceild(2*28+I2+1,3);I3<=N1;I3++) {
13718 J3 = 28-(I2)-(I3) ;
13720 J3 = -(28)-2*(I2)+2*I3 ;
13724 for (I3=2*7;I3<=floord(6*7-1,2);I3++) {
13725 J3 = 28-(I2)-(I3) ;
13730 J1 = -2*(28)+3*I3 ;
13731 if ((2*28+J1)%3 == 0) {
13738 for (I3=3*7+1;I3<=min(N1,floord(11*7,3));I3++) {
13739 J3 = -(28)-2*(I2)+2*I3 ;
13742 for (I3=max(max(1,ceild(28-(8),2)),28-2*(8));I3<=28-(8);I3++) {
13743 J3 = 28-(I2)-(I3) ;
13746 for (I3=max(28-(8)+1,ceild(28+2*8,2));I3<=min(N1,floord(2*28+3*8,3));I3++) {
13747 J3 = -(28)-2*(I2)+2*I3 ;
13750 for (I2=9;I2<=22;I2++) {
13751 for (I3=max(max(ceild(28-I2,2),28-2*I2),1);I3<=min(28-I2,N1);I3++) {
13752 J3 = 28-(I2)-(I3) ;
13757 for (I1=ceild(9*N1-1,7);I1<=floord(4*N1-6,3);I1++) {
13758 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
13759 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
13760 J3 = -I1-2*(I2)+2*I3 ;
13764 for (I2=max(ceild(I1-N1,2),ceild(-2*I1+3*N1,3));I2<=floord(I1-1,7);I2++) {
13765 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
13766 J3 = -I1-2*(I2)+2*I3 ;
13769 for (I3=I1-2*I2;I3<=N1;I3++) {
13770 J3 = I1-(I2)-(I3) ;
13772 J3 = -I1-2*(I2)+2*I3 ;
13777 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
13778 J3 = -I1-2*(I2)+2*I3 ;
13784 if ((2*I1+J1)%3 == 0) {
13791 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
13792 J3 = I1-(I2)-(I3) ;
13794 J3 = -I1-2*(I2)+2*I3 ;
13798 for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) {
13799 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
13800 J3 = -I1-2*(I2)+2*I3 ;
13803 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
13804 J3 = -I1-2*(I2)+2*I3 ;
13806 J3 = I1-(I2)-(I3) ;
13809 if ((2*I1+I2)%3 == 0) {
13812 if ((2*I1+J1)%3 == 0) {
13819 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
13820 J3 = I1-(I2)-(I3) ;
13822 J3 = -I1-2*(I2)+2*I3 ;
13826 if ((I1-1)%6 == 0) {
13828 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
13829 J3 = -I1-2*(I2)+2*I3 ;
13831 J3 = I1-(I2)-(I3) ;
13834 if ((13*I1-1)%18 == 0) {
13835 I3 = (13*I1-1)/18 ;
13837 if ((2*I1+J1)%3 == 0) {
13844 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
13845 J3 = I1-(I2)-(I3) ;
13847 J3 = -I1-2*(I2)+2*I3 ;
13852 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
13853 J3 = -I1-2*(I2)+2*I3 ;
13855 J3 = I1-(I2)-(I3) ;
13858 if (13*I1%18 == 0) {
13861 if ((2*I1+J1)%3 == 0) {
13868 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
13869 J3 = I1-(I2)-(I3) ;
13871 J3 = -I1-2*(I2)+2*I3 ;
13875 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
13876 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
13877 J3 = I1-(I2)-(I3) ;
13880 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
13881 J3 = -I1-2*(I2)+2*I3 ;
13883 J3 = I1-(I2)-(I3) ;
13886 if ((2*I1+I2)%3 == 0) {
13889 if ((2*I1+J1)%3 == 0) {
13896 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
13897 J3 = I1-(I2)-(I3) ;
13899 J3 = -I1-2*(I2)+2*I3 ;
13903 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
13904 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
13905 J3 = I1-(I2)-(I3) ;
13908 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
13909 J3 = -I1-2*(I2)+2*I3 ;
13911 J3 = I1-(I2)-(I3) ;
13914 if ((2*I1+I2)%3 == 0) {
13917 if ((2*I1+J1)%3 == 0) {
13924 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
13925 J3 = I1-(I2)-(I3) ;
13927 J3 = -I1-2*(I2)+2*I3 ;
13930 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
13931 J3 = -I1-2*(I2)+2*I3 ;
13935 if ((I1-1)%4 == 0) {
13937 for (I3=2*I2+1;I3<=3*I2;I3++) {
13938 J3 = I1-(I2)-(I3) ;
13941 if ((9*I1-1)%12 == 0) {
13944 if ((2*I1+J1)%3 == 0) {
13951 if ((3*I1+1)%4 == 0) {
13953 J3 = I1-(I2)-(I3) ;
13955 J3 = -I1-2*(I2)+2*I3 ;
13958 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
13959 J3 = -I1-2*(I2)+2*I3 ;
13964 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
13965 J3 = I1-(I2)-(I3) ;
13971 if ((2*I1+J1)%3 == 0) {
13978 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
13979 J3 = -I1-2*(I2)+2*I3 ;
13983 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
13984 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
13985 J3 = I1-(I2)-(I3) ;
13988 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
13989 J3 = -I1-2*(I2)+2*I3 ;
13993 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
13994 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
13995 J3 = I1-(I2)-(I3) ;
14001 if ((4*N1-5)%3 == 0) {
14003 for (I2=1;I2<=floord(N1-8,6);I2++) {
14004 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
14005 J3 = -I1-2*(I2)+2*I3 ;
14009 for (I2=max(ceild(N1-5,6),ceild(N1+10,9));I2<=floord(4*N1-8,21);I2++) {
14010 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
14011 J3 = -I1-2*(I2)+2*I3 ;
14014 for (I3=I1-2*I2;I3<=N1;I3++) {
14015 J3 = I1-(I2)-(I3) ;
14017 J3 = -I1-2*(I2)+2*I3 ;
14021 if ((4*N1-5)%21 == 0) {
14023 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
14024 J3 = -I1-2*(I2)+2*I3 ;
14030 if ((2*I1+J1)%3 == 0) {
14037 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
14038 J3 = I1-(I2)-(I3) ;
14040 J3 = -I1-2*(I2)+2*I3 ;
14044 for (I2=ceild(4*N1-2,21);I2<=floord(4*N1-11,18);I2++) {
14045 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
14046 J3 = -I1-2*(I2)+2*I3 ;
14049 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
14050 J3 = -I1-2*(I2)+2*I3 ;
14052 J3 = I1-(I2)-(I3) ;
14055 if ((2*I1+I2)%3 == 0) {
14058 if ((2*I1+J1)%3 == 0) {
14065 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
14066 J3 = I1-(I2)-(I3) ;
14068 J3 = -I1-2*(I2)+2*I3 ;
14072 if ((2*N1-4)%9 == 0) {
14074 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
14075 J3 = -I1-2*(I2)+2*I3 ;
14077 J3 = I1-(I2)-(I3) ;
14080 if ((13*I1-1)%18 == 0) {
14081 I3 = (13*I1-1)/18 ;
14083 if ((2*I1+J1)%3 == 0) {
14090 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
14091 J3 = I1-(I2)-(I3) ;
14093 J3 = -I1-2*(I2)+2*I3 ;
14097 if ((4*N1-5)%18 == 0) {
14099 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
14100 J3 = -I1-2*(I2)+2*I3 ;
14102 J3 = I1-(I2)-(I3) ;
14105 if (13*I1%18 == 0) {
14108 if ((2*I1+J1)%3 == 0) {
14115 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
14116 J3 = I1-(I2)-(I3) ;
14118 J3 = -I1-2*(I2)+2*I3 ;
14122 for (I2=ceild(2*N1-1,9);I2<=floord(N1-5,3);I2++) {
14123 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
14124 J3 = I1-(I2)-(I3) ;
14127 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
14128 J3 = -I1-2*(I2)+2*I3 ;
14130 J3 = I1-(I2)-(I3) ;
14133 if ((2*I1+I2)%3 == 0) {
14136 if ((2*I1+J1)%3 == 0) {
14143 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
14144 J3 = I1-(I2)-(I3) ;
14146 J3 = -I1-2*(I2)+2*I3 ;
14150 if ((N1-2)%3 == 0) {
14152 for (I3=2*I2+1;I3<=3*I2;I3++) {
14153 J3 = I1-(I2)-(I3) ;
14156 if ((9*I1-1)%12 == 0) {
14159 if ((2*I1+J1)%3 == 0) {
14166 if ((3*I1+1)%4 == 0) {
14168 J3 = I1-(I2)-(I3) ;
14170 J3 = -I1-2*(I2)+2*I3 ;
14173 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
14174 J3 = -I1-2*(I2)+2*I3 ;
14178 if ((4*N1-5)%12 == 0) {
14180 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
14181 J3 = I1-(I2)-(I3) ;
14187 if ((2*I1+J1)%3 == 0) {
14194 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
14195 J3 = -I1-2*(I2)+2*I3 ;
14199 for (I2=ceild(2*N1-1,6);I2<=floord(2*N1+5,6);I2++) {
14200 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
14201 J3 = I1-(I2)-(I3) ;
14204 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
14205 J3 = -I1-2*(I2)+2*I3 ;
14209 for (I2=ceild(N1+4,3);I2<=N1;I2++) {
14210 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
14211 J3 = I1-(I2)-(I3) ;
14218 if ((4*N1-4)%3 == 0) {
14220 for (I2=1;I2<=floord(N1-7,6);I2++) {
14221 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
14222 J3 = -I1-2*(I2)+2*I3 ;
14226 for (I2=max(ceild(N1-4,6),ceild(N1+8,9));I2<=floord(4*N1-7,21);I2++) {
14227 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
14228 J3 = -I1-2*(I2)+2*I3 ;
14231 for (I3=I1-2*I2;I3<=N1;I3++) {
14232 J3 = I1-(I2)-(I3) ;
14234 J3 = -I1-2*(I2)+2*I3 ;
14238 if ((4*N1-4)%21 == 0) {
14240 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
14241 J3 = -I1-2*(I2)+2*I3 ;
14247 if ((2*I1+J1)%3 == 0) {
14254 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
14255 J3 = I1-(I2)-(I3) ;
14257 J3 = -I1-2*(I2)+2*I3 ;
14261 for (I2=ceild(4*N1-1,21);I2<=floord(2*N1-5,9);I2++) {
14262 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
14263 J3 = -I1-2*(I2)+2*I3 ;
14266 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
14267 J3 = -I1-2*(I2)+2*I3 ;
14269 J3 = I1-(I2)-(I3) ;
14272 if ((2*I1+I2)%3 == 0) {
14275 if ((2*I1+J1)%3 == 0) {
14282 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
14283 J3 = I1-(I2)-(I3) ;
14285 J3 = -I1-2*(I2)+2*I3 ;
14289 if ((4*N1-7)%18 == 0) {
14291 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
14292 J3 = -I1-2*(I2)+2*I3 ;
14294 J3 = I1-(I2)-(I3) ;
14297 if ((13*I1-1)%18 == 0) {
14298 I3 = (13*I1-1)/18 ;
14300 if ((2*I1+J1)%3 == 0) {
14307 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
14308 J3 = I1-(I2)-(I3) ;
14310 J3 = -I1-2*(I2)+2*I3 ;
14314 if ((2*N1-2)%9 == 0) {
14316 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
14317 J3 = -I1-2*(I2)+2*I3 ;
14319 J3 = I1-(I2)-(I3) ;
14322 if (13*I1%18 == 0) {
14325 if ((2*I1+J1)%3 == 0) {
14332 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
14333 J3 = I1-(I2)-(I3) ;
14335 J3 = -I1-2*(I2)+2*I3 ;
14339 for (I2=ceild(4*N1-1,18);I2<=floord(N1-4,3);I2++) {
14340 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
14341 J3 = I1-(I2)-(I3) ;
14344 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
14345 J3 = -I1-2*(I2)+2*I3 ;
14347 J3 = I1-(I2)-(I3) ;
14350 if ((2*I1+I2)%3 == 0) {
14353 if ((2*I1+J1)%3 == 0) {
14360 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
14361 J3 = I1-(I2)-(I3) ;
14363 J3 = -I1-2*(I2)+2*I3 ;
14367 if ((N1-1)%3 == 0) {
14369 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
14370 J3 = I1-(I2)-(I3) ;
14376 if ((2*I1+J1)%3 == 0) {
14383 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
14384 J3 = -I1-2*(I2)+2*I3 ;
14388 for (I2=ceild(4*N1-1,12);I2<=floord(N1+2,3);I2++) {
14389 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
14390 J3 = I1-(I2)-(I3) ;
14393 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
14394 J3 = -I1-2*(I2)+2*I3 ;
14398 for (I2=ceild(2*N1+7,6);I2<=N1;I2++) {
14399 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
14400 J3 = I1-(I2)-(I3) ;
14406 for (I1=max(max(20,ceild(9*N1-1,7)),ceild(4*N1-3,3));I1<=floord(4*N1-2,3);I1++) {
14407 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
14408 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
14409 J3 = -I1-2*(I2)+2*I3 ;
14413 for (I2=max(ceild(I1-N1,2),ceild(-2*I1+3*N1,3));I2<=floord(I1-1,7);I2++) {
14414 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
14415 J3 = -I1-2*(I2)+2*I3 ;
14418 for (I3=I1-2*I2;I3<=N1;I3++) {
14419 J3 = I1-(I2)-(I3) ;
14421 J3 = -I1-2*(I2)+2*I3 ;
14426 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
14427 J3 = -I1-2*(I2)+2*I3 ;
14433 if ((2*I1+J1)%3 == 0) {
14440 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
14441 J3 = I1-(I2)-(I3) ;
14443 J3 = -I1-2*(I2)+2*I3 ;
14447 for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) {
14448 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
14449 J3 = -I1-2*(I2)+2*I3 ;
14452 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
14453 J3 = -I1-2*(I2)+2*I3 ;
14455 J3 = I1-(I2)-(I3) ;
14458 if ((2*I1+I2)%3 == 0) {
14461 if ((2*I1+J1)%3 == 0) {
14468 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
14469 J3 = I1-(I2)-(I3) ;
14471 J3 = -I1-2*(I2)+2*I3 ;
14475 if ((I1-1)%6 == 0) {
14477 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
14478 J3 = -I1-2*(I2)+2*I3 ;
14480 J3 = I1-(I2)-(I3) ;
14483 if ((13*I1-1)%18 == 0) {
14484 I3 = (13*I1-1)/18 ;
14486 if ((2*I1+J1)%3 == 0) {
14493 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
14494 J3 = I1-(I2)-(I3) ;
14496 J3 = -I1-2*(I2)+2*I3 ;
14501 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
14502 J3 = -I1-2*(I2)+2*I3 ;
14504 J3 = I1-(I2)-(I3) ;
14507 if (13*I1%18 == 0) {
14510 if ((2*I1+J1)%3 == 0) {
14517 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
14518 J3 = I1-(I2)-(I3) ;
14520 J3 = -I1-2*(I2)+2*I3 ;
14524 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
14525 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
14526 J3 = I1-(I2)-(I3) ;
14529 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
14530 J3 = -I1-2*(I2)+2*I3 ;
14532 J3 = I1-(I2)-(I3) ;
14535 if ((2*I1+I2)%3 == 0) {
14538 if ((2*I1+J1)%3 == 0) {
14545 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
14546 J3 = I1-(I2)-(I3) ;
14548 J3 = -I1-2*(I2)+2*I3 ;
14552 for (I2=I1-N1+1;I2<=floord(-I1+2*N1,2);I2++) {
14553 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
14554 J3 = I1-(I2)-(I3) ;
14557 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
14558 J3 = -I1-2*(I2)+2*I3 ;
14562 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
14563 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
14564 J3 = I1-(I2)-(I3) ;
14570 if ((4*N1-1)%3 == 0) {
14572 for (I2=1;I2<=floord(N1-4,6);I2++) {
14573 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
14574 J3 = -I1-2*(I2)+2*I3 ;
14578 for (I2=ceild(N1-1,6);I2<=floord(4*N1-4,21);I2++) {
14579 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
14580 J3 = -I1-2*(I2)+2*I3 ;
14583 for (I3=I1-2*I2;I3<=N1;I3++) {
14584 J3 = I1-(I2)-(I3) ;
14586 J3 = -I1-2*(I2)+2*I3 ;
14590 if ((4*N1-1)%21 == 0) {
14592 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
14593 J3 = -I1-2*(I2)+2*I3 ;
14599 if ((2*I1+J1)%3 == 0) {
14606 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
14607 J3 = I1-(I2)-(I3) ;
14609 J3 = -I1-2*(I2)+2*I3 ;
14613 for (I2=ceild(4*N1+2,21);I2<=floord(4*N1-7,18);I2++) {
14614 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
14615 J3 = -I1-2*(I2)+2*I3 ;
14618 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
14619 J3 = -I1-2*(I2)+2*I3 ;
14621 J3 = I1-(I2)-(I3) ;
14624 if ((2*I1+I2)%3 == 0) {
14627 if ((2*I1+J1)%3 == 0) {
14634 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
14635 J3 = I1-(I2)-(I3) ;
14637 J3 = -I1-2*(I2)+2*I3 ;
14641 if ((2*N1-2)%9 == 0) {
14643 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
14644 J3 = -I1-2*(I2)+2*I3 ;
14646 J3 = I1-(I2)-(I3) ;
14649 if ((13*I1-1)%18 == 0) {
14650 I3 = (13*I1-1)/18 ;
14652 if ((2*I1+J1)%3 == 0) {
14659 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
14660 J3 = I1-(I2)-(I3) ;
14662 J3 = -I1-2*(I2)+2*I3 ;
14666 if ((4*N1-1)%18 == 0) {
14668 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
14669 J3 = -I1-2*(I2)+2*I3 ;
14671 J3 = I1-(I2)-(I3) ;
14674 if (13*I1%18 == 0) {
14677 if ((2*I1+J1)%3 == 0) {
14684 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
14685 J3 = I1-(I2)-(I3) ;
14687 J3 = -I1-2*(I2)+2*I3 ;
14691 for (I2=ceild(2*N1+1,9);I2<=floord(4*N1-7,12);I2++) {
14692 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
14693 J3 = I1-(I2)-(I3) ;
14696 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
14697 J3 = -I1-2*(I2)+2*I3 ;
14699 J3 = I1-(I2)-(I3) ;
14702 if ((2*I1+I2)%3 == 0) {
14705 if ((2*I1+J1)%3 == 0) {
14712 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
14713 J3 = I1-(I2)-(I3) ;
14715 J3 = -I1-2*(I2)+2*I3 ;
14719 if ((N1-1)%3 == 0) {
14721 for (I3=ceild(2*N1+1,3);I3<=N1-1;I3++) {
14722 J3 = I1-(I2)-(I3) ;
14728 if ((2*I1+J1)%3 == 0) {
14735 J3 = I1-(I2)-(I3) ;
14737 J3 = -I1-2*(I2)+2*I3 ;
14740 for (I2=ceild(N1+2,3);I2<=N1;I2++) {
14741 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
14742 J3 = I1-(I2)-(I3) ;
14751 for (I2=1;I2<=floord(N1-3,6);I2++) {
14752 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
14753 J3 = -I1-2*(I2)+2*I3 ;
14757 for (I2=ceild(N1,6);I2<=floord(4*N1-3,21);I2++) {
14758 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
14759 J3 = -I1-2*(I2)+2*I3 ;
14762 for (I3=I1-2*I2;I3<=N1;I3++) {
14763 J3 = I1-(I2)-(I3) ;
14765 J3 = -I1-2*(I2)+2*I3 ;
14769 if (4*N1%21 == 0) {
14771 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
14772 J3 = -I1-2*(I2)+2*I3 ;
14778 if ((2*I1+J1)%3 == 0) {
14785 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
14786 J3 = I1-(I2)-(I3) ;
14788 J3 = -I1-2*(I2)+2*I3 ;
14792 for (I2=ceild(4*N1+3,21);I2<=floord(2*N1-3,9);I2++) {
14793 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
14794 J3 = -I1-2*(I2)+2*I3 ;
14797 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
14798 J3 = -I1-2*(I2)+2*I3 ;
14800 J3 = I1-(I2)-(I3) ;
14803 if ((2*I1+I2)%3 == 0) {
14806 if ((2*I1+J1)%3 == 0) {
14813 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
14814 J3 = I1-(I2)-(I3) ;
14816 J3 = -I1-2*(I2)+2*I3 ;
14820 if ((4*N1-3)%18 == 0) {
14822 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
14823 J3 = -I1-2*(I2)+2*I3 ;
14825 J3 = I1-(I2)-(I3) ;
14828 if ((13*I1-1)%18 == 0) {
14829 I3 = (13*I1-1)/18 ;
14831 if ((2*I1+J1)%3 == 0) {
14838 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
14839 J3 = I1-(I2)-(I3) ;
14841 J3 = -I1-2*(I2)+2*I3 ;
14847 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
14848 J3 = -I1-2*(I2)+2*I3 ;
14850 J3 = I1-(I2)-(I3) ;
14853 if (13*I1%18 == 0) {
14856 if ((2*I1+J1)%3 == 0) {
14863 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
14864 J3 = I1-(I2)-(I3) ;
14866 J3 = -I1-2*(I2)+2*I3 ;
14870 for (I2=ceild(4*N1+3,18);I2<=floord(N1-3,3);I2++) {
14871 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
14872 J3 = I1-(I2)-(I3) ;
14875 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
14876 J3 = -I1-2*(I2)+2*I3 ;
14878 J3 = I1-(I2)-(I3) ;
14881 if ((2*I1+I2)%3 == 0) {
14884 if ((2*I1+J1)%3 == 0) {
14891 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
14892 J3 = I1-(I2)-(I3) ;
14894 J3 = -I1-2*(I2)+2*I3 ;
14899 for (I3=ceild(2*N1,3);I3<=floord(2*N1-1,2);I3++) {
14900 J3 = I1-(I2)-(I3) ;
14904 if ((2*I1+J1)%3 == 0) {
14911 for (I2=ceild(2*N1+3,6);I2<=N1;I2++) {
14912 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
14913 J3 = I1-(I2)-(I3) ;
14920 if ((4*N1+1)%3 == 0) {
14922 for (I2=1;I2<=floord(N1-2,6);I2++) {
14923 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
14924 J3 = -I1-2*(I2)+2*I3 ;
14928 for (I2=ceild(N1+1,6);I2<=floord(4*N1-2,21);I2++) {
14929 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
14930 J3 = -I1-2*(I2)+2*I3 ;
14933 for (I3=I1-2*I2;I3<=N1;I3++) {
14934 J3 = I1-(I2)-(I3) ;
14936 J3 = -I1-2*(I2)+2*I3 ;
14940 if ((4*N1+1)%21 == 0) {
14942 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
14943 J3 = -I1-2*(I2)+2*I3 ;
14949 if ((2*I1+J1)%3 == 0) {
14956 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
14957 J3 = I1-(I2)-(I3) ;
14959 J3 = -I1-2*(I2)+2*I3 ;
14963 for (I2=ceild(4*N1+4,21);I2<=floord(4*N1-5,18);I2++) {
14964 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
14965 J3 = -I1-2*(I2)+2*I3 ;
14968 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
14969 J3 = -I1-2*(I2)+2*I3 ;
14971 J3 = I1-(I2)-(I3) ;
14974 if ((2*I1+I2)%3 == 0) {
14977 if ((2*I1+J1)%3 == 0) {
14984 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
14985 J3 = I1-(I2)-(I3) ;
14987 J3 = -I1-2*(I2)+2*I3 ;
14991 if ((2*N1-1)%9 == 0) {
14993 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
14994 J3 = -I1-2*(I2)+2*I3 ;
14996 J3 = I1-(I2)-(I3) ;
14999 if ((13*I1-1)%18 == 0) {
15000 I3 = (13*I1-1)/18 ;
15002 if ((2*I1+J1)%3 == 0) {
15009 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
15010 J3 = I1-(I2)-(I3) ;
15012 J3 = -I1-2*(I2)+2*I3 ;
15016 if ((4*N1+1)%18 == 0) {
15018 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
15019 J3 = -I1-2*(I2)+2*I3 ;
15021 J3 = I1-(I2)-(I3) ;
15024 if (13*I1%18 == 0) {
15027 if ((2*I1+J1)%3 == 0) {
15034 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
15035 J3 = I1-(I2)-(I3) ;
15037 J3 = -I1-2*(I2)+2*I3 ;
15041 for (I2=ceild(2*N1+2,9);I2<=floord(N1-5,3);I2++) {
15042 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
15043 J3 = I1-(I2)-(I3) ;
15046 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
15047 J3 = -I1-2*(I2)+2*I3 ;
15049 J3 = I1-(I2)-(I3) ;
15052 if ((2*I1+I2)%3 == 0) {
15055 if ((2*I1+J1)%3 == 0) {
15062 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
15063 J3 = I1-(I2)-(I3) ;
15065 J3 = -I1-2*(I2)+2*I3 ;
15069 if ((N1-2)%3 == 0) {
15071 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) {
15072 J3 = I1-(I2)-(I3) ;
15075 for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
15076 J3 = -I1-2*(I2)+2*I3 ;
15078 J3 = I1-(I2)-(I3) ;
15082 if ((2*I1+J1)%3 == 0) {
15089 for (I2=ceild(N1+1,3);I2<=N1;I2++) {
15090 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
15091 J3 = I1-(I2)-(I3) ;
15097 for (I1=ceild(4*N1+2,3);I1<=floord(18*N1-7,13);I1++) {
15098 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
15099 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
15100 J3 = -I1-2*(I2)+2*I3 ;
15104 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,7);I2++) {
15105 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
15106 J3 = -I1-2*(I2)+2*I3 ;
15109 for (I3=I1-2*I2;I3<=N1;I3++) {
15110 J3 = I1-(I2)-(I3) ;
15112 J3 = -I1-2*(I2)+2*I3 ;
15117 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
15118 J3 = -I1-2*(I2)+2*I3 ;
15124 if ((2*I1+J1)%3 == 0) {
15131 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
15132 J3 = I1-(I2)-(I3) ;
15134 J3 = -I1-2*(I2)+2*I3 ;
15138 for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) {
15139 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
15140 J3 = -I1-2*(I2)+2*I3 ;
15143 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
15144 J3 = -I1-2*(I2)+2*I3 ;
15146 J3 = I1-(I2)-(I3) ;
15149 if ((2*I1+I2)%3 == 0) {
15152 if ((2*I1+J1)%3 == 0) {
15159 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
15160 J3 = I1-(I2)-(I3) ;
15162 J3 = -I1-2*(I2)+2*I3 ;
15166 if ((I1-1)%6 == 0) {
15168 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
15169 J3 = -I1-2*(I2)+2*I3 ;
15171 J3 = I1-(I2)-(I3) ;
15174 if ((13*I1-1)%18 == 0) {
15175 I3 = (13*I1-1)/18 ;
15177 if ((2*I1+J1)%3 == 0) {
15184 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
15185 J3 = I1-(I2)-(I3) ;
15187 J3 = -I1-2*(I2)+2*I3 ;
15192 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
15193 J3 = -I1-2*(I2)+2*I3 ;
15195 J3 = I1-(I2)-(I3) ;
15198 if (13*I1%18 == 0) {
15201 if ((2*I1+J1)%3 == 0) {
15208 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
15209 J3 = I1-(I2)-(I3) ;
15211 J3 = -I1-2*(I2)+2*I3 ;
15215 for (I2=ceild(I1+1,6);I2<=-2*I1+3*N1-1;I2++) {
15216 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
15217 J3 = I1-(I2)-(I3) ;
15220 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
15221 J3 = -I1-2*(I2)+2*I3 ;
15223 J3 = I1-(I2)-(I3) ;
15226 if ((2*I1+I2)%3 == 0) {
15229 if ((2*I1+J1)%3 == 0) {
15236 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
15237 J3 = I1-(I2)-(I3) ;
15239 J3 = -I1-2*(I2)+2*I3 ;
15244 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) {
15245 J3 = I1-(I2)-(I3) ;
15248 for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
15249 J3 = -I1-2*(I2)+2*I3 ;
15251 J3 = I1-(I2)-(I3) ;
15255 if ((2*I1+J1)%3 == 0) {
15261 for (I2=-2*I1+3*N1+1;I2<=floord(-I1+2*N1,2);I2++) {
15262 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
15263 J3 = I1-(I2)-(I3) ;
15266 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
15267 J3 = -I1-2*(I2)+2*I3 ;
15269 J3 = I1-(I2)-(I3) ;
15273 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
15274 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
15275 J3 = I1-(I2)-(I3) ;
15281 if ((18*N1-6)%13 == 0) {
15282 I1 = (18*N1-6)/13 ;
15283 for (I2=1;I2<=floord(5*N1-19,26);I2++) {
15284 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
15285 J3 = -I1-2*(I2)+2*I3 ;
15289 for (I2=ceild(5*N1-6,26);I2<=floord(18*N1-19,91);I2++) {
15290 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
15291 J3 = -I1-2*(I2)+2*I3 ;
15294 for (I3=I1-2*I2;I3<=N1;I3++) {
15295 J3 = I1-(I2)-(I3) ;
15297 J3 = -I1-2*(I2)+2*I3 ;
15301 if ((18*N1-6)%91 == 0) {
15302 I2 = (18*N1-6)/91 ;
15303 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
15304 J3 = -I1-2*(I2)+2*I3 ;
15310 if ((2*I1+J1)%3 == 0) {
15317 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
15318 J3 = I1-(I2)-(I3) ;
15320 J3 = -I1-2*(I2)+2*I3 ;
15324 for (I2=ceild(18*N1+7,91);I2<=floord(9*N1-16,39);I2++) {
15325 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
15326 J3 = -I1-2*(I2)+2*I3 ;
15329 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
15330 J3 = -I1-2*(I2)+2*I3 ;
15332 J3 = I1-(I2)-(I3) ;
15335 if ((2*I1+I2)%3 == 0) {
15338 if ((2*I1+J1)%3 == 0) {
15345 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
15346 J3 = I1-(I2)-(I3) ;
15348 J3 = -I1-2*(I2)+2*I3 ;
15352 if ((18*N1-19)%78 == 0) {
15353 I2 = (18*N1-19)/78 ;
15354 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
15355 J3 = -I1-2*(I2)+2*I3 ;
15357 J3 = I1-(I2)-(I3) ;
15360 if ((13*I1-1)%18 == 0) {
15361 I3 = (13*I1-1)/18 ;
15363 if ((2*I1+J1)%3 == 0) {
15370 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
15371 J3 = I1-(I2)-(I3) ;
15373 J3 = -I1-2*(I2)+2*I3 ;
15377 if ((3*N1-1)%13 == 0) {
15379 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
15380 J3 = -I1-2*(I2)+2*I3 ;
15382 J3 = I1-(I2)-(I3) ;
15385 if (13*I1%18 == 0) {
15388 if ((2*I1+J1)%3 == 0) {
15395 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
15396 J3 = I1-(I2)-(I3) ;
15398 J3 = -I1-2*(I2)+2*I3 ;
15402 if ((3*N1+12)%13 == 0) {
15403 I2 = (3*N1+12)/13 ;
15404 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) {
15405 J3 = I1-(I2)-(I3) ;
15408 for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
15409 J3 = -I1-2*(I2)+2*I3 ;
15411 J3 = I1-(I2)-(I3) ;
15415 if ((2*I1+J1)%3 == 0) {
15422 for (I2=ceild(3*N1+25,13);I2<=floord(4*N1+3,13);I2++) {
15423 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
15424 J3 = I1-(I2)-(I3) ;
15427 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
15428 J3 = -I1-2*(I2)+2*I3 ;
15430 J3 = I1-(I2)-(I3) ;
15434 for (I2=ceild(8*N1+19,26);I2<=N1;I2++) {
15435 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
15436 J3 = I1-(I2)-(I3) ;
15443 if ((18*N1-5)%13 == 0) {
15444 I1 = (18*N1-5)/13 ;
15445 for (I2=1;I2<=floord(5*N1-18,26);I2++) {
15446 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
15447 J3 = -I1-2*(I2)+2*I3 ;
15451 for (I2=ceild(5*N1-5,26);I2<=floord(18*N1-18,91);I2++) {
15452 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
15453 J3 = -I1-2*(I2)+2*I3 ;
15456 for (I3=I1-2*I2;I3<=N1;I3++) {
15457 J3 = I1-(I2)-(I3) ;
15459 J3 = -I1-2*(I2)+2*I3 ;
15463 if ((18*N1-5)%91 == 0) {
15464 I2 = (18*N1-5)/91 ;
15465 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
15466 J3 = -I1-2*(I2)+2*I3 ;
15472 if ((2*I1+J1)%3 == 0) {
15479 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
15480 J3 = I1-(I2)-(I3) ;
15482 J3 = -I1-2*(I2)+2*I3 ;
15486 for (I2=ceild(18*N1+8,91);I2<=floord(18*N1-31,78);I2++) {
15487 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
15488 J3 = -I1-2*(I2)+2*I3 ;
15491 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
15492 J3 = -I1-2*(I2)+2*I3 ;
15494 J3 = I1-(I2)-(I3) ;
15497 if ((2*I1+I2)%3 == 0) {
15500 if ((2*I1+J1)%3 == 0) {
15507 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
15508 J3 = I1-(I2)-(I3) ;
15510 J3 = -I1-2*(I2)+2*I3 ;
15514 if ((3*N1-3)%13 == 0) {
15516 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
15517 J3 = -I1-2*(I2)+2*I3 ;
15519 J3 = I1-(I2)-(I3) ;
15522 if ((13*I1-1)%18 == 0) {
15523 I3 = (13*I1-1)/18 ;
15525 if ((2*I1+J1)%3 == 0) {
15532 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
15533 J3 = I1-(I2)-(I3) ;
15535 J3 = -I1-2*(I2)+2*I3 ;
15539 if ((3*N1+10)%13 == 0) {
15540 I2 = (3*N1+10)/13 ;
15541 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) {
15542 J3 = I1-(I2)-(I3) ;
15545 for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
15546 J3 = -I1-2*(I2)+2*I3 ;
15548 J3 = I1-(I2)-(I3) ;
15552 if ((2*I1+J1)%3 == 0) {
15559 for (I2=ceild(3*N1+23,13);I2<=floord(8*N1+5,26);I2++) {
15560 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
15561 J3 = I1-(I2)-(I3) ;
15564 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
15565 J3 = -I1-2*(I2)+2*I3 ;
15567 J3 = I1-(I2)-(I3) ;
15571 for (I2=ceild(4*N1+9,13);I2<=N1;I2++) {
15572 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
15573 J3 = I1-(I2)-(I3) ;
15579 for (I1=max(ceild(18*N1-4,13),ceild(4*N1+2,3));I1<=min(floord(21*N1-8,15),floord(18*N1-1,13));I1++) {
15580 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
15581 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
15582 J3 = -I1-2*(I2)+2*I3 ;
15586 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,7);I2++) {
15587 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
15588 J3 = -I1-2*(I2)+2*I3 ;
15591 for (I3=I1-2*I2;I3<=N1;I3++) {
15592 J3 = I1-(I2)-(I3) ;
15594 J3 = -I1-2*(I2)+2*I3 ;
15599 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
15600 J3 = -I1-2*(I2)+2*I3 ;
15606 if ((2*I1+J1)%3 == 0) {
15613 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
15614 J3 = I1-(I2)-(I3) ;
15616 J3 = -I1-2*(I2)+2*I3 ;
15620 for (I2=ceild(I1+1,7);I2<=-2*I1+3*N1-1;I2++) {
15621 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
15622 J3 = -I1-2*(I2)+2*I3 ;
15625 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
15626 J3 = -I1-2*(I2)+2*I3 ;
15628 J3 = I1-(I2)-(I3) ;
15631 if ((2*I1+I2)%3 == 0) {
15634 if ((2*I1+J1)%3 == 0) {
15641 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
15642 J3 = I1-(I2)-(I3) ;
15644 J3 = -I1-2*(I2)+2*I3 ;
15649 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) {
15650 J3 = I1-(I2)-(I3) ;
15653 for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
15654 J3 = -I1-2*(I2)+2*I3 ;
15656 J3 = I1-(I2)-(I3) ;
15660 if ((2*I1+J1)%3 == 0) {
15666 for (I2=-2*I1+3*N1+1;I2<=floord(-I1+2*N1,2);I2++) {
15667 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
15668 J3 = I1-(I2)-(I3) ;
15671 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
15672 J3 = -I1-2*(I2)+2*I3 ;
15674 J3 = I1-(I2)-(I3) ;
15678 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
15679 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
15680 J3 = I1-(I2)-(I3) ;
15685 for (I1=ceild(18*N1,13);I1<=min(floord(21*N1-8,15),floord(18*N1+1,13));I1++) {
15686 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
15687 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
15688 J3 = -I1-2*(I2)+2*I3 ;
15692 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,7);I2++) {
15693 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
15694 J3 = -I1-2*(I2)+2*I3 ;
15697 for (I3=I1-2*I2;I3<=N1;I3++) {
15698 J3 = I1-(I2)-(I3) ;
15700 J3 = -I1-2*(I2)+2*I3 ;
15705 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
15706 J3 = -I1-2*(I2)+2*I3 ;
15712 if ((2*I1+J1)%3 == 0) {
15719 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
15720 J3 = I1-(I2)-(I3) ;
15722 J3 = -I1-2*(I2)+2*I3 ;
15726 for (I2=ceild(I1+1,7);I2<=-2*I1+3*N1-1;I2++) {
15727 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
15728 J3 = -I1-2*(I2)+2*I3 ;
15731 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
15732 J3 = -I1-2*(I2)+2*I3 ;
15734 J3 = I1-(I2)-(I3) ;
15737 if ((2*I1+I2)%3 == 0) {
15740 if ((2*I1+J1)%3 == 0) {
15747 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
15748 J3 = I1-(I2)-(I3) ;
15750 J3 = -I1-2*(I2)+2*I3 ;
15755 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
15756 J3 = -I1-2*(I2)+2*I3 ;
15758 J3 = I1-(I2)-(I3) ;
15762 if ((2*I1+J1)%3 == 0) {
15768 for (I2=-2*I1+3*N1+1;I2<=floord(-I1+2*N1,2);I2++) {
15769 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
15770 J3 = I1-(I2)-(I3) ;
15773 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
15774 J3 = -I1-2*(I2)+2*I3 ;
15776 J3 = I1-(I2)-(I3) ;
15780 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
15781 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
15782 J3 = I1-(I2)-(I3) ;
15787 if ((N1 >= 17) && (N1 <= 25)) {
15788 if ((21*N1-7)%15 == 0) {
15789 I1 = (21*N1-7)/15 ;
15790 for (I2=1;I2<=floord(3*N1-11,15);I2++) {
15791 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
15792 J3 = -I1-2*(I2)+2*I3 ;
15796 for (I2=ceild(6*N1-7,30);I2<=floord(21*N1-22,105);I2++) {
15797 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
15798 J3 = -I1-2*(I2)+2*I3 ;
15801 for (I3=I1-2*I2;I3<=N1;I3++) {
15802 J3 = I1-(I2)-(I3) ;
15804 J3 = -I1-2*(I2)+2*I3 ;
15808 if ((3*N1-1)%15 == 0) {
15810 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
15811 J3 = -I1-2*(I2)+2*I3 ;
15817 if ((2*I1+J1)%3 == 0) {
15824 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
15825 J3 = I1-(I2)-(I3) ;
15827 J3 = -I1-2*(I2)+2*I3 ;
15831 if ((3*N1+14)%15 == 0) {
15832 I2 = (3*N1+14)/15 ;
15833 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) {
15834 J3 = I1-(I2)-(I3) ;
15837 for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
15838 J3 = -I1-2*(I2)+2*I3 ;
15840 J3 = I1-(I2)-(I3) ;
15844 if ((2*I1+J1)%3 == 0) {
15851 for (I2=ceild(3*N1+29,15);I2<=floord(9*N1+7,30);I2++) {
15852 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
15853 J3 = I1-(I2)-(I3) ;
15856 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
15857 J3 = -I1-2*(I2)+2*I3 ;
15859 J3 = I1-(I2)-(I3) ;
15863 for (I2=ceild(9*N1+22,30);I2<=N1;I2++) {
15864 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
15865 J3 = I1-(I2)-(I3) ;
15871 for (I1=ceild(18*N1+2,13);I1<=min(floord(21*N1-8,15),floord(18*N1+5,13));I1++) {
15872 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
15873 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
15874 J3 = -I1-2*(I2)+2*I3 ;
15878 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,7);I2++) {
15879 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
15880 J3 = -I1-2*(I2)+2*I3 ;
15883 for (I3=I1-2*I2;I3<=N1;I3++) {
15884 J3 = I1-(I2)-(I3) ;
15886 J3 = -I1-2*(I2)+2*I3 ;
15891 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
15892 J3 = -I1-2*(I2)+2*I3 ;
15898 if ((2*I1+J1)%3 == 0) {
15905 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
15906 J3 = I1-(I2)-(I3) ;
15908 J3 = -I1-2*(I2)+2*I3 ;
15912 for (I2=ceild(I1+1,7);I2<=-2*I1+3*N1-1;I2++) {
15913 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
15914 J3 = -I1-2*(I2)+2*I3 ;
15917 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
15918 J3 = -I1-2*(I2)+2*I3 ;
15920 J3 = I1-(I2)-(I3) ;
15923 if ((2*I1+I2)%3 == 0) {
15926 if ((2*I1+J1)%3 == 0) {
15933 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
15934 J3 = I1-(I2)-(I3) ;
15936 J3 = -I1-2*(I2)+2*I3 ;
15941 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
15942 J3 = -I1-2*(I2)+2*I3 ;
15945 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
15946 J3 = -I1-2*(I2)+2*I3 ;
15948 J3 = I1-(I2)-(I3) ;
15952 if ((2*I1+J1)%3 == 0) {
15958 for (I2=-2*I1+3*N1+1;I2<=floord(-I1+2*N1,2);I2++) {
15959 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
15960 J3 = I1-(I2)-(I3) ;
15963 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
15964 J3 = -I1-2*(I2)+2*I3 ;
15966 J3 = I1-(I2)-(I3) ;
15970 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
15971 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
15972 J3 = I1-(I2)-(I3) ;
15977 if ((N1 <= 35) && (N1 >= 31)) {
15978 if ((21*N1-7)%15 == 0) {
15979 I1 = (21*N1-7)/15 ;
15980 for (I2=1;I2<=floord(3*N1-11,15);I2++) {
15981 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
15982 J3 = -I1-2*(I2)+2*I3 ;
15986 for (I2=ceild(6*N1-7,30);I2<=floord(21*N1-22,105);I2++) {
15987 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
15988 J3 = -I1-2*(I2)+2*I3 ;
15991 for (I3=I1-2*I2;I3<=N1;I3++) {
15992 J3 = I1-(I2)-(I3) ;
15994 J3 = -I1-2*(I2)+2*I3 ;
15998 if ((3*N1-1)%15 == 0) {
16000 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
16001 J3 = -I1-2*(I2)+2*I3 ;
16007 if ((2*I1+J1)%3 == 0) {
16014 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
16015 J3 = I1-(I2)-(I3) ;
16017 J3 = -I1-2*(I2)+2*I3 ;
16021 if ((3*N1+14)%15 == 0) {
16022 I2 = (3*N1+14)/15 ;
16023 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16024 J3 = -I1-2*(I2)+2*I3 ;
16026 J3 = I1-(I2)-(I3) ;
16030 if ((2*I1+J1)%3 == 0) {
16037 for (I2=ceild(3*N1+29,15);I2<=floord(9*N1+7,30);I2++) {
16038 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
16039 J3 = I1-(I2)-(I3) ;
16042 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16043 J3 = -I1-2*(I2)+2*I3 ;
16045 J3 = I1-(I2)-(I3) ;
16049 for (I2=ceild(9*N1+22,30);I2<=N1;I2++) {
16050 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
16051 J3 = I1-(I2)-(I3) ;
16057 if ((N1 >= 16) && (N1 <= 21)) {
16058 if ((7*N1-2)%5 == 0) {
16060 for (I2=1;I2<=floord(2*N1-7,10);I2++) {
16061 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
16062 J3 = -I1-2*(I2)+2*I3 ;
16066 if ((N1-1)%5 == 0) {
16068 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
16069 J3 = -I1-2*(I2)+2*I3 ;
16072 for (I3=I1-2*I2;I3<=N1;I3++) {
16073 J3 = I1-(I2)-(I3) ;
16075 J3 = -I1-2*(I2)+2*I3 ;
16079 if ((N1+4)%5 == 0) {
16081 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) {
16082 J3 = I1-(I2)-(I3) ;
16085 for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
16086 J3 = -I1-2*(I2)+2*I3 ;
16088 J3 = I1-(I2)-(I3) ;
16092 if ((2*I1+J1)%3 == 0) {
16099 for (I2=ceild(N1+9,5);I2<=floord(3*N1+2,10);I2++) {
16100 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
16101 J3 = I1-(I2)-(I3) ;
16104 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16105 J3 = -I1-2*(I2)+2*I3 ;
16107 J3 = I1-(I2)-(I3) ;
16111 for (I2=ceild(3*N1+7,10);I2<=N1;I2++) {
16112 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
16113 J3 = I1-(I2)-(I3) ;
16119 for (I1=ceild(18*N1+6,13);I1<=min(floord(21*N1-8,15),floord(18*N1+7,13));I1++) {
16120 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
16121 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
16122 J3 = -I1-2*(I2)+2*I3 ;
16126 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,7);I2++) {
16127 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
16128 J3 = -I1-2*(I2)+2*I3 ;
16131 for (I3=I1-2*I2;I3<=N1;I3++) {
16132 J3 = I1-(I2)-(I3) ;
16134 J3 = -I1-2*(I2)+2*I3 ;
16139 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
16140 J3 = -I1-2*(I2)+2*I3 ;
16146 if ((2*I1+J1)%3 == 0) {
16153 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
16154 J3 = I1-(I2)-(I3) ;
16156 J3 = -I1-2*(I2)+2*I3 ;
16160 for (I2=ceild(I1+1,7);I2<=-2*I1+3*N1-1;I2++) {
16161 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
16162 J3 = -I1-2*(I2)+2*I3 ;
16165 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
16166 J3 = -I1-2*(I2)+2*I3 ;
16168 J3 = I1-(I2)-(I3) ;
16171 if ((2*I1+I2)%3 == 0) {
16174 if ((2*I1+J1)%3 == 0) {
16181 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
16182 J3 = I1-(I2)-(I3) ;
16184 J3 = -I1-2*(I2)+2*I3 ;
16189 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
16190 J3 = -I1-2*(I2)+2*I3 ;
16193 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16194 J3 = -I1-2*(I2)+2*I3 ;
16196 J3 = I1-(I2)-(I3) ;
16200 if ((2*I1+J1)%3 == 0) {
16206 for (I2=-2*I1+3*N1+1;I2<=floord(I1,6);I2++) {
16207 for (I3=I1-2*I2;I3<=N1;I3++) {
16208 J3 = -I1-2*(I2)+2*I3 ;
16210 J3 = I1-(I2)-(I3) ;
16214 for (I2=ceild(I1+1,6);I2<=floord(-I1+2*N1,2);I2++) {
16215 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
16216 J3 = I1-(I2)-(I3) ;
16219 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16220 J3 = -I1-2*(I2)+2*I3 ;
16222 J3 = I1-(I2)-(I3) ;
16226 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
16227 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
16228 J3 = I1-(I2)-(I3) ;
16233 if ((N1 <= 55) && (N1 >= 41)) {
16234 if ((21*N1-7)%15 == 0) {
16235 I1 = (21*N1-7)/15 ;
16236 for (I2=1;I2<=floord(3*N1-11,15);I2++) {
16237 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
16238 J3 = -I1-2*(I2)+2*I3 ;
16242 for (I2=ceild(6*N1-7,30);I2<=floord(21*N1-22,105);I2++) {
16243 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
16244 J3 = -I1-2*(I2)+2*I3 ;
16247 for (I3=I1-2*I2;I3<=N1;I3++) {
16248 J3 = I1-(I2)-(I3) ;
16250 J3 = -I1-2*(I2)+2*I3 ;
16254 if ((3*N1-1)%15 == 0) {
16256 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
16257 J3 = -I1-2*(I2)+2*I3 ;
16263 if ((2*I1+J1)%3 == 0) {
16270 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
16271 J3 = I1-(I2)-(I3) ;
16273 J3 = -I1-2*(I2)+2*I3 ;
16277 if ((3*N1+14)%15 == 0) {
16278 I2 = (3*N1+14)/15 ;
16279 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
16280 J3 = -I1-2*(I2)+2*I3 ;
16283 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16284 J3 = -I1-2*(I2)+2*I3 ;
16286 J3 = I1-(I2)-(I3) ;
16290 if ((2*I1+J1)%3 == 0) {
16297 for (I2=ceild(3*N1+29,15);I2<=floord(9*N1+7,30);I2++) {
16298 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
16299 J3 = I1-(I2)-(I3) ;
16302 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16303 J3 = -I1-2*(I2)+2*I3 ;
16305 J3 = I1-(I2)-(I3) ;
16309 for (I2=ceild(9*N1+22,30);I2<=N1;I2++) {
16310 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
16311 J3 = I1-(I2)-(I3) ;
16317 if ((N1 <= 31) && (N1 >= 26)) {
16318 if ((7*N1-2)%5 == 0) {
16320 for (I2=1;I2<=floord(2*N1-7,10);I2++) {
16321 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
16322 J3 = -I1-2*(I2)+2*I3 ;
16326 if ((N1-1)%5 == 0) {
16328 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
16329 J3 = -I1-2*(I2)+2*I3 ;
16332 for (I3=I1-2*I2;I3<=N1;I3++) {
16333 J3 = I1-(I2)-(I3) ;
16335 J3 = -I1-2*(I2)+2*I3 ;
16339 if ((N1+4)%5 == 0) {
16341 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16342 J3 = -I1-2*(I2)+2*I3 ;
16344 J3 = I1-(I2)-(I3) ;
16348 if ((2*I1+J1)%3 == 0) {
16355 for (I2=ceild(N1+9,5);I2<=floord(3*N1+2,10);I2++) {
16356 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
16357 J3 = I1-(I2)-(I3) ;
16360 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16361 J3 = -I1-2*(I2)+2*I3 ;
16363 J3 = I1-(I2)-(I3) ;
16367 for (I2=ceild(3*N1+7,10);I2<=N1;I2++) {
16368 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
16369 J3 = I1-(I2)-(I3) ;
16375 if ((N1 <= 18) && (N1 >= 13)) {
16376 if ((7*N1-1)%5 == 0) {
16378 for (I2=1;I2<=floord(N1-3,5);I2++) {
16379 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
16380 J3 = -I1-2*(I2)+2*I3 ;
16384 if ((N1+2)%5 == 0) {
16386 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16387 J3 = -I1-2*(I2)+2*I3 ;
16389 J3 = I1-(I2)-(I3) ;
16393 if ((2*I1+J1)%3 == 0) {
16400 for (I2=ceild(N1+7,5);I2<=floord(3*N1+1,10);I2++) {
16401 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
16402 J3 = I1-(I2)-(I3) ;
16405 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16406 J3 = -I1-2*(I2)+2*I3 ;
16408 J3 = I1-(I2)-(I3) ;
16412 for (I2=ceild(3*N1+6,10);I2<=N1;I2++) {
16413 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
16414 J3 = I1-(I2)-(I3) ;
16420 for (I1=ceild(18*N1+8,13);I1<=floord(21*N1-8,15);I1++) {
16421 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
16422 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
16423 J3 = -I1-2*(I2)+2*I3 ;
16427 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,7);I2++) {
16428 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
16429 J3 = -I1-2*(I2)+2*I3 ;
16432 for (I3=I1-2*I2;I3<=N1;I3++) {
16433 J3 = I1-(I2)-(I3) ;
16435 J3 = -I1-2*(I2)+2*I3 ;
16440 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
16441 J3 = -I1-2*(I2)+2*I3 ;
16447 if ((2*I1+J1)%3 == 0) {
16454 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
16455 J3 = I1-(I2)-(I3) ;
16457 J3 = -I1-2*(I2)+2*I3 ;
16461 for (I2=ceild(I1+1,7);I2<=-2*I1+3*N1-1;I2++) {
16462 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
16463 J3 = -I1-2*(I2)+2*I3 ;
16466 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
16467 J3 = -I1-2*(I2)+2*I3 ;
16469 J3 = I1-(I2)-(I3) ;
16472 if ((2*I1+I2)%3 == 0) {
16475 if ((2*I1+J1)%3 == 0) {
16482 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
16483 J3 = I1-(I2)-(I3) ;
16485 J3 = -I1-2*(I2)+2*I3 ;
16490 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
16491 J3 = -I1-2*(I2)+2*I3 ;
16494 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16495 J3 = -I1-2*(I2)+2*I3 ;
16497 J3 = I1-(I2)-(I3) ;
16501 if ((2*I1+J1)%3 == 0) {
16507 for (I2=-2*I1+3*N1+1;I2<=floord(I1-2,6);I2++) {
16508 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
16509 J3 = -I1-2*(I2)+2*I3 ;
16512 for (I3=I1-2*I2;I3<=N1;I3++) {
16513 J3 = -I1-2*(I2)+2*I3 ;
16515 J3 = I1-(I2)-(I3) ;
16519 for (I2=ceild(I1-1,6);I2<=floord(I1,6);I2++) {
16520 for (I3=I1-2*I2;I3<=N1;I3++) {
16521 J3 = -I1-2*(I2)+2*I3 ;
16523 J3 = I1-(I2)-(I3) ;
16527 for (I2=ceild(I1+1,6);I2<=floord(-I1+2*N1,2);I2++) {
16528 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
16529 J3 = I1-(I2)-(I3) ;
16532 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16533 J3 = -I1-2*(I2)+2*I3 ;
16535 J3 = I1-(I2)-(I3) ;
16539 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
16540 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
16541 J3 = I1-(I2)-(I3) ;
16546 if ((N1 >= 61) && (N1 <= 65)) {
16547 if ((21*N1-7)%15 == 0) {
16548 I1 = (21*N1-7)/15 ;
16549 for (I2=1;I2<=floord(3*N1-11,15);I2++) {
16550 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
16551 J3 = -I1-2*(I2)+2*I3 ;
16555 for (I2=ceild(6*N1-7,30);I2<=floord(21*N1-22,105);I2++) {
16556 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
16557 J3 = -I1-2*(I2)+2*I3 ;
16560 for (I3=I1-2*I2;I3<=N1;I3++) {
16561 J3 = I1-(I2)-(I3) ;
16563 J3 = -I1-2*(I2)+2*I3 ;
16567 if ((3*N1-1)%15 == 0) {
16569 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
16570 J3 = -I1-2*(I2)+2*I3 ;
16576 if ((2*I1+J1)%3 == 0) {
16583 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
16584 J3 = I1-(I2)-(I3) ;
16586 J3 = -I1-2*(I2)+2*I3 ;
16590 if ((3*N1+14)%15 == 0) {
16591 I2 = (3*N1+14)/15 ;
16592 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
16593 J3 = -I1-2*(I2)+2*I3 ;
16596 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16597 J3 = -I1-2*(I2)+2*I3 ;
16599 J3 = I1-(I2)-(I3) ;
16603 if ((2*I1+J1)%3 == 0) {
16610 for (I2=ceild(3*N1+29,15);I2<=floord(21*N1-7,90);I2++) {
16611 for (I3=I1-2*I2;I3<=N1;I3++) {
16612 J3 = -I1-2*(I2)+2*I3 ;
16614 J3 = I1-(I2)-(I3) ;
16618 for (I2=ceild(21*N1+8,90);I2<=floord(9*N1+7,30);I2++) {
16619 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
16620 J3 = I1-(I2)-(I3) ;
16623 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16624 J3 = -I1-2*(I2)+2*I3 ;
16626 J3 = I1-(I2)-(I3) ;
16630 for (I2=ceild(9*N1+22,30);I2<=N1;I2++) {
16631 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
16632 J3 = I1-(I2)-(I3) ;
16638 if ((N1 <= 51) && (N1 >= 36)) {
16639 if ((7*N1-2)%5 == 0) {
16641 for (I2=1;I2<=floord(2*N1-7,10);I2++) {
16642 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
16643 J3 = -I1-2*(I2)+2*I3 ;
16647 if ((N1-1)%5 == 0) {
16649 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
16650 J3 = -I1-2*(I2)+2*I3 ;
16653 for (I3=I1-2*I2;I3<=N1;I3++) {
16654 J3 = I1-(I2)-(I3) ;
16656 J3 = -I1-2*(I2)+2*I3 ;
16660 if ((N1+4)%5 == 0) {
16662 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
16663 J3 = -I1-2*(I2)+2*I3 ;
16666 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16667 J3 = -I1-2*(I2)+2*I3 ;
16669 J3 = I1-(I2)-(I3) ;
16673 if ((2*I1+J1)%3 == 0) {
16680 for (I2=ceild(N1+9,5);I2<=floord(3*N1+2,10);I2++) {
16681 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
16682 J3 = I1-(I2)-(I3) ;
16685 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16686 J3 = -I1-2*(I2)+2*I3 ;
16688 J3 = I1-(I2)-(I3) ;
16692 for (I2=ceild(3*N1+7,10);I2<=N1;I2++) {
16693 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
16694 J3 = I1-(I2)-(I3) ;
16701 if ((21*N1-7)%15 == 0) {
16702 I1 = (21*N1-7)/15 ;
16703 for (I2=1;I2<=floord(3*N1-11,15);I2++) {
16704 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
16705 J3 = -I1-2*(I2)+2*I3 ;
16709 for (I2=ceild(6*N1-7,30);I2<=floord(21*N1-22,105);I2++) {
16710 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
16711 J3 = -I1-2*(I2)+2*I3 ;
16714 for (I3=I1-2*I2;I3<=N1;I3++) {
16715 J3 = I1-(I2)-(I3) ;
16717 J3 = -I1-2*(I2)+2*I3 ;
16721 if ((3*N1-1)%15 == 0) {
16723 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
16724 J3 = -I1-2*(I2)+2*I3 ;
16730 if ((2*I1+J1)%3 == 0) {
16737 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
16738 J3 = I1-(I2)-(I3) ;
16740 J3 = -I1-2*(I2)+2*I3 ;
16744 if ((3*N1+14)%15 == 0) {
16745 I2 = (3*N1+14)/15 ;
16746 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
16747 J3 = -I1-2*(I2)+2*I3 ;
16750 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16751 J3 = -I1-2*(I2)+2*I3 ;
16753 J3 = I1-(I2)-(I3) ;
16757 if ((2*I1+J1)%3 == 0) {
16764 for (I2=ceild(3*N1+29,15);I2<=floord(21*N1-37,90);I2++) {
16765 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
16766 J3 = -I1-2*(I2)+2*I3 ;
16769 for (I3=I1-2*I2;I3<=N1;I3++) {
16770 J3 = -I1-2*(I2)+2*I3 ;
16772 J3 = I1-(I2)-(I3) ;
16776 for (I2=ceild(21*N1-22,90);I2<=floord(21*N1-7,90);I2++) {
16777 for (I3=I1-2*I2;I3<=N1;I3++) {
16778 J3 = -I1-2*(I2)+2*I3 ;
16780 J3 = I1-(I2)-(I3) ;
16784 for (I2=ceild(21*N1+8,90);I2<=floord(9*N1+7,30);I2++) {
16785 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
16786 J3 = I1-(I2)-(I3) ;
16789 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16790 J3 = -I1-2*(I2)+2*I3 ;
16792 J3 = I1-(I2)-(I3) ;
16796 for (I2=ceild(9*N1+22,30);I2<=N1;I2++) {
16797 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
16798 J3 = I1-(I2)-(I3) ;
16804 if ((N1 >= 56) && (N1 <= 61)) {
16805 if ((7*N1-2)%5 == 0) {
16807 for (I2=1;I2<=floord(2*N1-7,10);I2++) {
16808 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
16809 J3 = -I1-2*(I2)+2*I3 ;
16813 if ((N1-1)%5 == 0) {
16815 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
16816 J3 = -I1-2*(I2)+2*I3 ;
16819 for (I3=I1-2*I2;I3<=N1;I3++) {
16820 J3 = I1-(I2)-(I3) ;
16822 J3 = -I1-2*(I2)+2*I3 ;
16826 if ((N1+4)%5 == 0) {
16828 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
16829 J3 = -I1-2*(I2)+2*I3 ;
16832 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16833 J3 = -I1-2*(I2)+2*I3 ;
16835 J3 = I1-(I2)-(I3) ;
16839 if ((2*I1+J1)%3 == 0) {
16846 for (I2=ceild(N1+9,5);I2<=floord(7*N1-2,30);I2++) {
16847 for (I3=I1-2*I2;I3<=N1;I3++) {
16848 J3 = -I1-2*(I2)+2*I3 ;
16850 J3 = I1-(I2)-(I3) ;
16854 for (I2=ceild(7*N1+3,30);I2<=floord(3*N1+2,10);I2++) {
16855 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
16856 J3 = I1-(I2)-(I3) ;
16859 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16860 J3 = -I1-2*(I2)+2*I3 ;
16862 J3 = I1-(I2)-(I3) ;
16866 for (I2=ceild(3*N1+7,10);I2<=N1;I2++) {
16867 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
16868 J3 = I1-(I2)-(I3) ;
16874 if ((N1 >= 43) && (N1 <= 48)) {
16875 if ((7*N1-1)%5 == 0) {
16877 for (I2=1;I2<=floord(N1-3,5);I2++) {
16878 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
16879 J3 = -I1-2*(I2)+2*I3 ;
16883 if ((N1+2)%5 == 0) {
16885 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
16886 J3 = -I1-2*(I2)+2*I3 ;
16889 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16890 J3 = -I1-2*(I2)+2*I3 ;
16892 J3 = I1-(I2)-(I3) ;
16896 if ((2*I1+J1)%3 == 0) {
16903 for (I2=ceild(N1+7,5);I2<=floord(7*N1-1,30);I2++) {
16904 for (I3=I1-2*I2;I3<=N1;I3++) {
16905 J3 = -I1-2*(I2)+2*I3 ;
16907 J3 = I1-(I2)-(I3) ;
16911 for (I2=ceild(7*N1+4,30);I2<=floord(3*N1+1,10);I2++) {
16912 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
16913 J3 = I1-(I2)-(I3) ;
16916 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16917 J3 = -I1-2*(I2)+2*I3 ;
16919 J3 = I1-(I2)-(I3) ;
16923 for (I2=ceild(3*N1+6,10);I2<=N1;I2++) {
16924 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
16925 J3 = I1-(I2)-(I3) ;
16931 if ((N1 <= 38) && (N1 >= 23)) {
16932 if ((7*N1-1)%5 == 0) {
16934 for (I2=1;I2<=floord(N1-3,5);I2++) {
16935 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
16936 J3 = -I1-2*(I2)+2*I3 ;
16940 if ((N1+2)%5 == 0) {
16942 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
16943 J3 = -I1-2*(I2)+2*I3 ;
16946 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16947 J3 = -I1-2*(I2)+2*I3 ;
16949 J3 = I1-(I2)-(I3) ;
16953 if ((2*I1+J1)%3 == 0) {
16960 for (I2=ceild(N1+7,5);I2<=floord(3*N1+1,10);I2++) {
16961 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
16962 J3 = I1-(I2)-(I3) ;
16965 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16966 J3 = -I1-2*(I2)+2*I3 ;
16968 J3 = I1-(I2)-(I3) ;
16972 for (I2=ceild(3*N1+6,10);I2<=N1;I2++) {
16973 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
16974 J3 = I1-(I2)-(I3) ;
16980 if ((N1 >= 30) && (N1 <= 35)) {
16983 for (I2=1;I2<=floord(2*N1-5,10);I2++) {
16984 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
16985 J3 = -I1-2*(I2)+2*I3 ;
16990 for (I3=ceild(9*N1,10);I3<=N1-1;I3++) {
16991 J3 = -I1-2*(I2)+2*I3 ;
16995 if ((2*I1+J1)%3 == 0) {
17002 for (I2=ceild(N1+5,5);I2<=floord(7*N1,30);I2++) {
17003 for (I3=I1-2*I2;I3<=N1;I3++) {
17004 J3 = -I1-2*(I2)+2*I3 ;
17006 J3 = I1-(I2)-(I3) ;
17010 for (I2=ceild(7*N1+5,30);I2<=floord(3*N1,10);I2++) {
17011 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
17012 J3 = I1-(I2)-(I3) ;
17015 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
17016 J3 = -I1-2*(I2)+2*I3 ;
17018 J3 = I1-(I2)-(I3) ;
17022 for (I2=ceild(3*N1+5,10);I2<=N1;I2++) {
17023 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
17024 J3 = I1-(I2)-(I3) ;
17030 if ((N1 <= 25) && (N1 >= 10)) {
17033 for (I2=1;I2<=floord(2*N1-5,10);I2++) {
17034 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
17035 J3 = -I1-2*(I2)+2*I3 ;
17040 for (I3=ceild(9*N1,10);I3<=N1-1;I3++) {
17041 J3 = -I1-2*(I2)+2*I3 ;
17045 if ((2*I1+J1)%3 == 0) {
17052 for (I2=ceild(N1+5,5);I2<=floord(3*N1,10);I2++) {
17053 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
17054 J3 = I1-(I2)-(I3) ;
17057 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
17058 J3 = -I1-2*(I2)+2*I3 ;
17060 J3 = I1-(I2)-(I3) ;
17064 for (I2=ceild(3*N1+5,10);I2<=N1;I2++) {
17065 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
17066 J3 = I1-(I2)-(I3) ;
17073 if ((7*N1-2)%5 == 0) {
17075 for (I2=1;I2<=floord(2*N1-7,10);I2++) {
17076 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
17077 J3 = -I1-2*(I2)+2*I3 ;
17081 if ((N1-1)%5 == 0) {
17083 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
17084 J3 = -I1-2*(I2)+2*I3 ;
17087 for (I3=I1-2*I2;I3<=N1;I3++) {
17088 J3 = I1-(I2)-(I3) ;
17090 J3 = -I1-2*(I2)+2*I3 ;
17094 if ((N1+4)%5 == 0) {
17096 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
17097 J3 = -I1-2*(I2)+2*I3 ;
17100 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
17101 J3 = -I1-2*(I2)+2*I3 ;
17103 J3 = I1-(I2)-(I3) ;
17107 if ((2*I1+J1)%3 == 0) {
17114 for (I2=ceild(N1+9,5);I2<=floord(7*N1-12,30);I2++) {
17115 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
17116 J3 = -I1-2*(I2)+2*I3 ;
17119 for (I3=I1-2*I2;I3<=N1;I3++) {
17120 J3 = -I1-2*(I2)+2*I3 ;
17122 J3 = I1-(I2)-(I3) ;
17126 for (I2=ceild(7*N1-7,30);I2<=floord(7*N1-2,30);I2++) {
17127 for (I3=I1-2*I2;I3<=N1;I3++) {
17128 J3 = -I1-2*(I2)+2*I3 ;
17130 J3 = I1-(I2)-(I3) ;
17134 for (I2=ceild(7*N1+3,30);I2<=floord(3*N1+2,10);I2++) {
17135 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
17136 J3 = I1-(I2)-(I3) ;
17139 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
17140 J3 = -I1-2*(I2)+2*I3 ;
17142 J3 = I1-(I2)-(I3) ;
17146 for (I2=ceild(3*N1+7,10);I2<=N1;I2++) {
17147 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
17148 J3 = I1-(I2)-(I3) ;
17155 if ((7*N1-1)%5 == 0) {
17157 for (I2=1;I2<=floord(N1-3,5);I2++) {
17158 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
17159 J3 = -I1-2*(I2)+2*I3 ;
17163 if ((N1+2)%5 == 0) {
17165 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
17166 J3 = -I1-2*(I2)+2*I3 ;
17169 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
17170 J3 = -I1-2*(I2)+2*I3 ;
17172 J3 = I1-(I2)-(I3) ;
17176 if ((2*I1+J1)%3 == 0) {
17183 for (I2=ceild(N1+7,5);I2<=floord(7*N1-11,30);I2++) {
17184 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
17185 J3 = -I1-2*(I2)+2*I3 ;
17188 for (I3=I1-2*I2;I3<=N1;I3++) {
17189 J3 = -I1-2*(I2)+2*I3 ;
17191 J3 = I1-(I2)-(I3) ;
17195 for (I2=ceild(7*N1-6,30);I2<=floord(7*N1-1,30);I2++) {
17196 for (I3=I1-2*I2;I3<=N1;I3++) {
17197 J3 = -I1-2*(I2)+2*I3 ;
17199 J3 = I1-(I2)-(I3) ;
17203 for (I2=ceild(7*N1+4,30);I2<=floord(3*N1+1,10);I2++) {
17204 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
17205 J3 = I1-(I2)-(I3) ;
17208 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
17209 J3 = -I1-2*(I2)+2*I3 ;
17211 J3 = I1-(I2)-(I3) ;
17215 for (I2=ceild(3*N1+6,10);I2<=N1;I2++) {
17216 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
17217 J3 = I1-(I2)-(I3) ;
17223 for (I1=max(ceild(7*N1+1,5),ceild(18*N1+6,13));I1<=min(floord(18*N1+7,13),floord(3*N1-2,2));I1++) {
17224 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
17225 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
17226 J3 = -I1-2*(I2)+2*I3 ;
17230 for (I2=-2*I1+3*N1+1;I2<=floord(I1,6);I2++) {
17231 for (I3=I1-2*I2;I3<=N1;I3++) {
17232 J3 = -I1-2*(I2)+2*I3 ;
17234 J3 = I1-(I2)-(I3) ;
17238 for (I2=ceild(I1+1,6);I2<=floord(-I1+2*N1,2);I2++) {
17239 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
17240 J3 = I1-(I2)-(I3) ;
17243 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
17244 J3 = -I1-2*(I2)+2*I3 ;
17246 J3 = I1-(I2)-(I3) ;
17250 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
17251 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
17252 J3 = I1-(I2)-(I3) ;
17258 for (I2=1;I2<=2;I2++) {
17259 for (I3=ceild(17+2*I2,2);I3<=min(N1,floord(2*17+3*I2,3));I3++) {
17260 J3 = -(17)-2*(I2)+2*I3 ;
17264 for (I3=17-2*(3);I3<=floord(17+2*3-1,2);I3++) {
17265 J3 = 17-(I2)-(I3) ;
17268 for (I3=ceild(17+2*3,2);I3<=N1;I3++) {
17269 J3 = -(17)-2*(I2)+2*I3 ;
17271 J3 = 17-(I2)-(I3) ;
17274 for (I2=4;I2<=12;I2++) {
17275 for (I3=max(max(ceild(17-I2,2),17-2*I2),1);I3<=min(17-I2,N1);I3++) {
17276 J3 = 17-(I2)-(I3) ;
17284 for (I2=1;I2<=floord(2*N1-5,10);I2++) {
17285 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
17286 J3 = -I1-2*(I2)+2*I3 ;
17291 for (I3=ceild(9*N1,10);I3<=N1-1;I3++) {
17292 J3 = -I1-2*(I2)+2*I3 ;
17296 if ((2*I1+J1)%3 == 0) {
17303 for (I2=ceild(N1+5,5);I2<=floord(7*N1-10,30);I2++) {
17304 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
17305 J3 = -I1-2*(I2)+2*I3 ;
17308 for (I3=I1-2*I2;I3<=N1;I3++) {
17309 J3 = -I1-2*(I2)+2*I3 ;
17311 J3 = I1-(I2)-(I3) ;
17315 for (I2=ceild(7*N1-5,30);I2<=floord(7*N1,30);I2++) {
17316 for (I3=I1-2*I2;I3<=N1;I3++) {
17317 J3 = -I1-2*(I2)+2*I3 ;
17319 J3 = I1-(I2)-(I3) ;
17323 for (I2=ceild(7*N1+5,30);I2<=floord(3*N1,10);I2++) {
17324 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
17325 J3 = I1-(I2)-(I3) ;
17328 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
17329 J3 = -I1-2*(I2)+2*I3 ;
17331 J3 = I1-(I2)-(I3) ;
17335 for (I2=ceild(3*N1+5,10);I2<=N1;I2++) {
17336 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
17337 J3 = I1-(I2)-(I3) ;
17343 for (I1=max(ceild(7*N1+1,5),ceild(18*N1+8,13));I1<=floord(3*N1-2,2);I1++) {
17344 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
17345 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
17346 J3 = -I1-2*(I2)+2*I3 ;
17350 for (I2=max(ceild(I1-N1,2),-2*I1+3*N1+1);I2<=floord(I1-2,6);I2++) {
17351 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
17352 J3 = -I1-2*(I2)+2*I3 ;
17355 for (I3=I1-2*I2;I3<=N1;I3++) {
17356 J3 = -I1-2*(I2)+2*I3 ;
17358 J3 = I1-(I2)-(I3) ;
17362 for (I2=ceild(I1-1,6);I2<=floord(I1,6);I2++) {
17363 for (I3=I1-2*I2;I3<=N1;I3++) {
17364 J3 = -I1-2*(I2)+2*I3 ;
17366 J3 = I1-(I2)-(I3) ;
17370 for (I2=ceild(I1+1,6);I2<=floord(-I1+2*N1,2);I2++) {
17371 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
17372 J3 = I1-(I2)-(I3) ;
17375 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
17376 J3 = -I1-2*(I2)+2*I3 ;
17378 J3 = I1-(I2)-(I3) ;
17382 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
17383 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
17384 J3 = I1-(I2)-(I3) ;
17389 for (I1=max(max(N1+3,ceild(3*N1-1,2)),ceild(18*N1+6,13));I1<=floord(6*N1-1,4);I1++) {
17390 for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
17391 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
17392 J3 = -I1-2*(I2)+2*I3 ;
17396 for (I2=max(ceild(I1-N1,2),-2*I1+3*N1+1);I2<=floord(I1,6);I2++) {
17397 for (I3=I1-2*I2;I3<=N1;I3++) {
17398 J3 = -I1-2*(I2)+2*I3 ;
17400 J3 = I1-(I2)-(I3) ;
17404 for (I2=ceild(I1+1,6);I2<=floord(-I1+2*N1,2);I2++) {
17405 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
17406 J3 = I1-(I2)-(I3) ;
17409 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
17410 J3 = -I1-2*(I2)+2*I3 ;
17412 J3 = I1-(I2)-(I3) ;
17416 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
17417 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
17418 J3 = I1-(I2)-(I3) ;
17426 for (I2=1;I2<=floord(N1-2,4);I2++) {
17427 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
17428 J3 = -I1-2*(I2)+2*I3 ;
17433 for (I3=I1-2*(N1/4);I3<=N1;I3++) {
17434 J3 = -I1-2*(I2)+2*I3 ;
17436 J3 = I1-(I2)-(I3) ;
17440 for (I2=ceild(N1+2,4);I2<=N1;I2++) {
17441 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
17442 J3 = I1-(I2)-(I3) ;
17448 for (I1=ceild(3*N1+1,2);I1<=2*N1-2;I1++) {
17449 for (I2=1;I2<=floord(-I1+2*N1,2);I2++) {
17450 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
17451 J3 = -I1-2*(I2)+2*I3 ;
17455 for (I2=ceild(I1-N1,2);I2<=N1;I2++) {
17456 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
17457 J3 = I1-(I2)-(I3) ;
17462 for (I1=2*N1-1;I1<=3*N1;I1++) {
17463 for (I2=max(ceild(I1-N1,2),1);I2<=N1;I2++) {
17464 for (I3=max(max(I1-2*I2,ceild(I1-I2,2)),1);I3<=min(N1,I1-I2);I3++) {
17465 J3 = I1-(I2)-(I3) ;
17472 /* statements print */
17473 fprintf(stderr, "S1 : %d\n", S1);
17474 fprintf(stderr, "S2 : %d\n", S2);
17481 ------=_Part_1422_26966204.1114622640387
17482 Content-Type: application/octet-stream; name=LUDom_OSP.type2.c
17483 Content-Transfer-Encoding: 7bit
17484 Content-Disposition: attachment; filename="LUDom_OSP.type2.c"
17486 /* Author : DaeGon Kim
17487 Date : Tue Apr 26 20:28:07 MDT 2005 */
17490 #include <stdlib.h>
17492 #define max(x,y) ((x)>(y) ? (x) : (y))
17493 #define min(x,y) ((x)>(y) ? (y) : (x))
17494 #define ceild(x,y) ((x)+1) / (y)
17495 #define floord(x,y) (x) / (y)
17497 int main(int argc, char **argv) {
17499 /* parameters declaration */
17502 /* statements declaration */
17506 /* iterators declaration */
17514 /* check arguements and get values of parameters */
17515 if ( argc != 1 + 1) {
17516 printf("The number of arguements for %s is 1\n", argv[0]);
17520 N1 = atoi(argv[1]);
17522 /* Generated from ./INPUT/CLOOG/LUDom_OSP_cloog by CLooG v0.12.2 64 bits in 0.03s. */
17523 for (I1=0;I1<=3*N1;I1++) {
17524 for (I2=max(max(1,ceild(I1-2*N1+2,2)),I1-2*N1);I2<=N1;I2++) {
17525 for (I3=max(max(I1-2*I2,ceild(I1-I2,2)),1);I3<=min(min(N1,floord(I1+2*I2-1,2)),I1-I2);I3++) {
17526 J3 = I1-(I2)-(I3) ;
17529 for (I3=ceild(I1+2*I2,2);I3<=min(min(N1,I1-2*I2-1),floord(2*I1+3*I2,3));I3++) {
17530 J3 = -I1-2*(I2)+2*I3 ;
17533 for (I3=max(I1-2*I2,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+I2-1,3));I3++) {
17534 J3 = -I1-2*(I2)+2*I3 ;
17536 J3 = I1-(I2)-(I3) ;
17539 if ((2*I1+I2)%3 == 0) {
17542 if ((2*I1+J1)%3 == 0) {
17549 for (I3=max(I1-2*I2,ceild(2*I1+I2+1,3));I3<=min(min(N1,floord(2*I1+3*I2,3)),I1-I2);I3++) {
17550 J3 = I1-(I2)-(I3) ;
17552 J3 = -I1-2*(I2)+2*I3 ;
17555 for (I3=max(ceild(2*I1+3*I2+1,3),I1-2*I2);I3<=min(N1,I1-I2);I3++) {
17556 J3 = I1-(I2)-(I3) ;
17559 for (I3=max(ceild(I1+2*I2,2),I1-I2+1);I3<=min(floord(2*I1+3*I2,3),N1);I3++) {
17560 J3 = -I1-2*(I2)+2*I3 ;
17567 /* statements print */
17568 fprintf(stderr, "S1 : %d\n", S1);
17569 fprintf(stderr, "S2 : %d\n", S2);
17576 ------=_Part_1422_26966204.1114622640387--