1X-UIDL: 38762.1114626251
2X-Mozilla-Status: 0003
3X-Mozilla-Status2: 00000000
4Received: 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)
7Received: 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)
10Received: 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)
13Received: 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)
16Received: by wproxy.gmail.com with SMTP id 68so387084wri
17        for <cedric.bastoul@prism.uvsq.fr>; Wed, 27 Apr 2005 11:24:00 -0700 (PDT)
18DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws;
19        s=beta; d=gmail.com;
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=
22Received: by 10.54.121.20 with SMTP id t20mr277933wrc;
23        Wed, 27 Apr 2005 10:24:00 -0700 (PDT)
24Received: by 10.54.5.57 with HTTP; Wed, 27 Apr 2005 10:24:00 -0700 (PDT)
25Message-ID: <fc5f19de05042710245f9acadd@mail.gmail.com>
26Date: Wed, 27 Apr 2005 11:24:00 -0600
27From: DaeGon Kim <daegonk@gmail.com>
28Reply-To: DaeGon Kim <daegonk@gmail.com>
29To: cedric.bastoul@prism.uvsq.fr
30Subject: Question about Cloog
31Cc: svr@cs.colostate.edu
32Mime-Version: 1.0
33Content-Type: multipart/mixed; 
34	boundary="----=_Part_1422_26966204.1114622640387"
35X-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)
36X-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)
37X-Miltered: at soleil.uvsq.fr with ID 426FD8C9.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)!
38X-Miltered: at soleil.uvsq.fr with ID 426FD8C6.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)!
39X-Antivirus: scanned by sophie at soleil.uvsq.fr
40X-Antivirus: scanned by sophie at soleil.uvsq.fr
41Status:   
42X-Mmail: \Recent                                 
43X-M-Uid: 38762.1114626251
44
45------=_Part_1422_26966204.1114622640387
46Content-Type: text/plain; charset=ISO-8859-1
47Content-Transfer-Encoding: quoted-printable
48Content-Disposition: inline
49
50Hello Dr Cedric Bastoul,
51
52I am a graduate student in CSU working with Dr. Sanjay Rajopadhye.
53I am working on experiments on code generation software.=20
54A few days ago I wrote three cloog input files: LUDom_cloog,
55OSP_cloog, and LUDom_OSP_cloog. The last file is nothing but
56concatenation of two previous files. So it has two statements since
57each of the first two has one statement each.
58
59When I generated, I got something strange:=20
60 - The numbers of visited points are different between the first two
61and the last one.
62 - The numbers of visited points become different, if I use different
63options: default and "-f 3".
64  - Domains of all statements are 3-dimensional, but there are
65statements having only two indices inside one if block. I added
66generated code below.
67
68Also, I attached my three inputs and C programs in which generated
69code from cloog can be executed. type1 files contain generated code
70without any options and type2 files contains generated code with -f 3
71option.
72
73/* Generated from LUDom_OSP_cloog by CLooG v0.12.2 64 bits in 0.03s. */
74for (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++)
78{
79      J3 =3D I1-(I2)-(I3) ;
80      S1(J1 =3D I2,J2 =3D I3) ;
81    }
82    for (I3=3Dceild(I1+2*I2,2);I3<=3Dmin(min(N1,I1-2*I2-1),floord(2*I1+3*I2=
83,3));I3++)
84{
85      J3 =3D -I1-2*(I2)+2*I3 ;
86      S2(J1 =3D I2,J2 =3D I3) ;
87    }
88    for (I3=3Dmax(I1-2*I2,ceild(I1+2*I2,2));I3<=3Dmin(N1,floord(2*I1+I2-1,3=
89));I3++)
90{
91      J3 =3D -I1-2*(I2)+2*I3 ;
92      S2(J1 =3D I2,J2 =3D I3) ;
93      J3 =3D I1-(I2)-(I3) ;
94      S1(J1 =3D I2,J2 =3D I3) ;
95    }
96    if ((2*I1+I2)%3 =3D=3D 0) {
97      I3 =3D (2*I1+I2)/3 ;
98      J1 =3D -2*I1+3*I3 ;
99      if ((2*I1+J1)%3 =3D=3D 0) {
100        J2 =3D (2*I1+J1)/3 ;
101        J3 =3D 3*I1-4*J2 ;
102        S1 ;
103        S2 ;
104      }
105    }
106    for (I3=3Dmax(I1-2*I2,ceild(2*I1+I2+1,3));I3<=3Dmin(min(N1,floord(2*I1+=
1073*I2,3)),I1-I2);I3++)
108{
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) ;
113    }
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) ;
117    }
118    for (I3=3Dmax(ceild(I1+2*I2,2),I1-I2+1);I3<=3Dmin(floord(2*I1+3*I2,3),N=
1191);I3++)
120{
121      J3 =3D -I1-2*(I2)+2*I3 ;
122      S2(J1 =3D I2,J2 =3D I3) ;
123    }
124  }
125}
126
127
128Thank you for reading.
129
130--=20
131DaeGon Kim
132
133Graduate Student, Computer Science Department,
134Colorado State University, Fort Collins, CO
135Tel. Office: (1) 970 491 5937
136kim@cs.colostate.edu
137Personal Homepage : http://www.roadtohome.com/
138
139------=_Part_1422_26966204.1114622640387
140Content-Type: application/octet-stream; name=LUDom_cloog
141Content-Transfer-Encoding: 7bit
142Content-Disposition: attachment; filename="LUDom_cloog"
143
144###############################################################################
145#
146# Problem  : LU Decomposition
147# Date     : 2005. 4. 25
148# Author   : DaeGon Kim
149#
150###############################################################################
151
152### Context -------------------------------------------------------------------
153   c # language is c
154
155   1          # Context 
156   1 3	          # 1 lines and 3 coloumns
157   #  N1   1
158   1   1  -2      # N > 1
159
160   1              # 1 - Specify the names of parameters 
161   N1             # parameter names
162   
163### ----------------------------------------------------------------------------
164
165### Statements -----------------------------------------------------------------
166   1                             # number of statements
167   # first statement
168   1
169   7    6
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 
173    1       0       0       1       0       0        # 0 <= K
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
178    0       0       0
179
180    1                          # Iterators
181    J1  J2  J3                 # iterator names
182    
183### ----------------------------------------------------------------------------
184
185
186### Scattering Functions -------------------------------------------------------
187
188    1   # Number of scattering functions
189    
190    3 9
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
195
196    
197    1          # Specify scattering dimension names
198    I1  I2  I3 # Scattering dimension names
199
200### ----------------------------------------------------------------------------
201
202
203
204------=_Part_1422_26966204.1114622640387
205Content-Type: application/octet-stream; name=OSP_cloog
206Content-Transfer-Encoding: 7bit
207Content-Disposition: attachment; filename="OSP_cloog"
208
209###############################################################################
210#
211# Problem  : Optimal String Parentheses 
212# Date     : 2005. 4. 25
213# Author   : DaeGon Kim
214#
215###############################################################################
216
217### Context -------------------------------------------------------------------
218    c           # language is c
219    1           # Context 
220    1 3		# 1 lines and 3 coloumns
221    #  N1   1
222    1   1  -2 
223
224    1           # We want to set manually the parameter names
225   N1           # parameter names
226   
227### ----------------------------------------------------------------------------
228
229### Statements -----------------------------------------------------------------
230   1                 # number of statements
231   # first statement
232   1
233   6    6
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
237    1       0       0       1       0       0        # 0 <= K
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
241    0       0       0
242
243    1                # Iterators
244    J1  J2  J3       # Iterators name
245
246### ----------------------------------------------------------------------------
247
248    
249### Scattering Functions -------------------------------------------------------
250
251    1    # Number of scattering functions
252    
253    3 9
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
258
259    
260    1           # Specify scattering dimension names
261    I1  I2  I3  # Scattering dimension names
262
263### ----------------------------------------------------------------------------
264
265
266
267------=_Part_1422_26966204.1114622640387
268Content-Type: application/octet-stream; name=LUDom_OSP_cloog
269Content-Transfer-Encoding: 7bit
270Content-Disposition: attachment; filename="LUDom_OSP_cloog"
271
272###############################################################################
273#
274# Problem  : LU Decomposition + 
275# Date     : 2005. 4. 25
276# Author   : DaeGon Kim
277#
278###############################################################################
279
280### Context -------------------------------------------------------------------
281   c # language is c
282
283   1          # Context
284   1 3            # 1 lines and 3 coloumns
285   #  N1   1
286   1   1  -2      # N > 1
287
288   1              # 1 - Specify the names of parameters
289   N1             # parameter names
290
291### ----------------------------------------------------------------------------
292
293### Statements -----------------------------------------------------------------
294   2                             # number of statements
295   # first statement
296   1
297   7    6
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
301    1       0       0       1       0       0        # 0 <= K
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
306    0       0       0
307   
308   # second statement
309   1
310   6    6
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
314    1       0       0       1       0       0        # 0 <= K
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
318    0       0       0
319
320    1                # Iterators
321    J1  J2  J3       # Iterators name
322
323### ----------------------------------------------------------------------------
324
325    
326### Scattering Functions -------------------------------------------------------
327
328    2    # Number of scattering functions
329
330    # First statement
331    3 9 
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
336
337    # Second statement
338    3 9
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
343
344
345    1          # Specify scattering dimension names
346    I1  I2  I3 # Scattering dimension names
347
348### ----------------------------------------------------------------------------
349
350
351
352
353------=_Part_1422_26966204.1114622640387
354Content-Type: application/octet-stream; name=LUDom.type1.c
355Content-Transfer-Encoding: 7bit
356Content-Disposition: attachment; filename="LUDom.type1.c"
357
358/* Author : DaeGon Kim 
359   Date   : Tue Apr 26 20:03:32 MDT 2005 */
360
361#include <stdio.h>
362#include <stdlib.h>
363
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) 
368
369int main(int argc, char **argv) {
370
371    /* parameters declaration */
372    int N1 = 0;
373
374    /* statements declaration */
375    int S1 = 0;
376
377    /* iterators declaration */
378    int I1 = 0;
379    int J1 = 0;
380    int I2 = 0;
381    int J2 = 0;
382    int I3 = 0;
383    int J3 = 0;
384
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]);
388        exit(0);
389    }
390
391    N1 = atoi(argv[1]);
392
393/* Generated from ./INPUT/CLOOG/LUDom_cloog by CLooG v0.12.2 64 bits in 0.00s. */
394for (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++) {
397      J3 = I1-(I2)-(I3) ;
398      S1++;
399    }
400  }
401}
402
403
404    /* statements print */
405    fprintf(stderr, "S1 : %d\n", S1);
406
407
408}
409
410
411
412------=_Part_1422_26966204.1114622640387
413Content-Type: application/octet-stream; name=LUDom.type2.c
414Content-Transfer-Encoding: 7bit
415Content-Disposition: attachment; filename="LUDom.type2.c"
416
417/* Author : DaeGon Kim 
418   Date   : Tue Apr 26 20:03:33 MDT 2005 */
419
420#include <stdio.h>
421#include <stdlib.h>
422
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) 
427
428int main(int argc, char **argv) {
429
430    /* parameters declaration */
431    int N1 = 0;
432
433    /* statements declaration */
434    int S1 = 0;
435
436    /* iterators declaration */
437    int I1 = 0;
438    int J1 = 0;
439    int I2 = 0;
440    int J2 = 0;
441    int I3 = 0;
442    int J3 = 0;
443
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]);
447        exit(0);
448    }
449
450    N1 = atoi(argv[1]);
451
452/* Generated from ./INPUT/CLOOG/LUDom_cloog by CLooG v0.12.2 64 bits in 0.00s. */
453for (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++) {
456      J3 = I1-(I2)-(I3) ;
457      S1++;
458    }
459  }
460}
461
462    /* statements print */
463    fprintf(stderr, "S1 : %d\n", S1);
464
465
466}
467
468
469
470------=_Part_1422_26966204.1114622640387
471Content-Type: application/octet-stream; name=OSP.type1.c
472Content-Transfer-Encoding: 7bit
473Content-Disposition: attachment; filename="OSP.type1.c"
474
475/* Author : DaeGon Kim 
476   Date   : Tue Apr 26 20:04:18 MDT 2005 */
477
478#include <stdio.h>
479#include <stdlib.h>
480
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) 
485
486int main(int argc, char **argv) {
487
488    /* parameters declaration */
489    int N1 = 0;
490
491    /* statements declaration */
492    int S1 = 0;
493
494    /* iterators declaration */
495    int I1 = 0;
496    int J1 = 0;
497    int I2 = 0;
498    int J2 = 0;
499    int I3 = 0;
500    int J3 = 0;
501
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]);
505        exit(0);
506    }
507
508    N1 = atoi(argv[1]);
509
510/* Generated from ./INPUT/CLOOG/OSP_cloog by CLooG v0.12.2 64 bits in 0.00s. */
511for (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 ;
515      S1++;
516    }
517  }
518}
519
520
521    /* statements print */
522    fprintf(stderr, "S1 : %d\n", S1);
523
524}
525
526
527
528------=_Part_1422_26966204.1114622640387
529Content-Type: application/octet-stream; name=OSP.type2.c
530Content-Transfer-Encoding: 7bit
531Content-Disposition: attachment; filename="OSP.type2.c"
532
533/* Author : DaeGon Kim 
534   Date   : Tue Apr 26 20:04:19 MDT 2005 */
535
536#include <stdio.h>
537#include <stdlib.h>
538
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) 
543
544int main(int argc, char **argv) {
545
546    /* parameters declaration */
547    int N1 = 0;
548
549    /* statements declaration */
550    int S1 = 0;
551
552    /* iterators declaration */
553    int I1 = 0;
554    int J1 = 0;
555    int I2 = 0;
556    int J2 = 0;
557    int I3 = 0;
558    int J3 = 0;
559
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]);
563        exit(0);
564    }
565
566    N1 = atoi(argv[1]);
567
568/* Generated from ./INPUT/CLOOG/OSP_cloog by CLooG v0.12.2 64 bits in 0.00s. */
569for (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 ;
573      S1++;
574    }
575  }
576}
577
578
579    /* statements print */
580    fprintf(stderr, "S1 : %d\n", S1);
581
582
583}
584
585
586
587------=_Part_1422_26966204.1114622640387
588Content-Type: application/octet-stream; name=LUDom_OSP.type1.c
589Content-Transfer-Encoding: 7bit
590Content-Disposition: attachment; filename="LUDom_OSP.type1.c"
591
592/* Author : DaeGon Kim 
593   Date   : Tue Apr 26 20:28:05 MDT 2005 */
594
595#include <stdio.h>
596#include <stdlib.h>
597
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) 
602
603int main(int argc, char **argv) {
604
605    /* parameters declaration */
606    int N1 = 0;
607
608    /* statements declaration */
609    int S1 = 0;
610    int S2 = 0;
611
612    /* iterators declaration */
613    int I1 = 0;
614    int J1 = 0;
615    int I2 = 0;
616    int J2 = 0;
617    int I3 = 0;
618    int J3 = 0;
619
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]);
623        exit(0);
624    }
625
626    N1 = atoi(argv[1]);
627
628/* Generated from ./INPUT/CLOOG/LUDom_OSP_cloog by CLooG v0.12.2 64 bits in 0.76s. */
629for (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 ;
633      S2++;
634    }
635  }
636}
637for (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++) {
640      J3 = I1-(I2)-(I3) ;
641      S1++;
642    }
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 ;
645      S2++;
646    }
647  }
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 ;
651      S2++;
652    }
653  }
654}
655if (N1 >= 6) {
656  J3 = 4-(I2)-(I3) ;
657  S1++;
658  J1 = -2*(4)+3*3 ;
659  if ((2*4+J1)%3 == 0) {
660    J2 = (2*4+J1)/3 ;
661    J3 = 3*4-4*J2 ;
662    S1++;
663    S2++;
664  }
665  for (I2=2;I2<=3;I2++) {
666    for (I3=max(max(1,ceild(4-I2,2)),4-2*I2);I3<=4-I2;I3++) {
667      J3 = 4-(I2)-(I3) ;
668      S1++;
669    }
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 ;
672      S2++;
673    }
674  }
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 ;
678      S2++;
679    }
680  }
681}
682if ((N1 <= 5) && (N1 >= 5)) {
683  J3 = 4-(I2)-(I3) ;
684  S1++;
685  J1 = -2*(4)+3*3 ;
686  if ((2*4+J1)%3 == 0) {
687    J2 = (2*4+J1)/3 ;
688    J3 = 3*4-4*J2 ;
689    S1++;
690    S2++;
691  }
692  for (I2=2;I2<=3;I2++) {
693    for (I3=max(max(1,ceild(4-I2,2)),4-2*I2);I3<=4-I2;I3++) {
694      J3 = 4-(I2)-(I3) ;
695      S1++;
696    }
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 ;
699      S2++;
700    }
701  }
702}
703for (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++) {
706      J3 = I1-(I2)-(I3) ;
707      S1++;
708    }
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 ;
711      S2++;
712    }
713  }
714}
715if (N1 >= 8) {
716  for (I3=2*1+1;I3<=3*1;I3++) {
717    J3 = 5-(I2)-(I3) ;
718    S1++;
719  }
720  if ((9*5-1)%12 == 0) {
721    I3 = (9*5-1)/12 ;
722    J1 = -2*(5)+3*I3 ;
723    if ((2*5+J1)%3 == 0) {
724      J2 = (2*5+J1)/3 ;
725      J3 = 3*5-4*J2 ;
726      S1++;
727      S2++;
728    }
729  }
730  if ((3*5+1)%4 == 0) {
731    I3 = (3*5+1)/4 ;
732    J3 = 5-(I2)-(I3) ;
733    S1++;
734    J3 = -(5)-2*(I2)+2*I3 ;
735    S2++;
736  }
737  for (I2=2;I2<=4;I2++) {
738    for (I3=max(max(1,ceild(5-I2,2)),5-2*I2);I3<=5-I2;I3++) {
739      J3 = 5-(I2)-(I3) ;
740      S1++;
741    }
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 ;
744      S2++;
745    }
746  }
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 ;
750      S2++;
751    }
752  }
753}
754if ((N1 <= 7) && (N1 >= 7)) {
755  for (I3=2*1+1;I3<=3*1;I3++) {
756    J3 = 5-(I2)-(I3) ;
757    S1++;
758  }
759  if ((9*5-1)%12 == 0) {
760    I3 = (9*5-1)/12 ;
761    J1 = -2*(5)+3*I3 ;
762    if ((2*5+J1)%3 == 0) {
763      J2 = (2*5+J1)/3 ;
764      J3 = 3*5-4*J2 ;
765      S1++;
766      S2++;
767    }
768  }
769  if ((3*5+1)%4 == 0) {
770    I3 = (3*5+1)/4 ;
771    J3 = 5-(I2)-(I3) ;
772    S1++;
773    J3 = -(5)-2*(I2)+2*I3 ;
774    S2++;
775  }
776  for (I2=2;I2<=4;I2++) {
777    for (I3=max(max(1,ceild(5-I2,2)),5-2*I2);I3<=5-I2;I3++) {
778      J3 = 5-(I2)-(I3) ;
779      S1++;
780    }
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 ;
783      S2++;
784    }
785  }
786}
787for (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++) {
790      J3 = I1-(I2)-(I3) ;
791      S1++;
792    }
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 ;
795      S2++;
796    }
797  }
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++) {
800      J3 = I1-(I2)-(I3) ;
801      S1++;
802    }
803  }
804}
805if ((N1 <= 4) && (N1 >= 4)) {
806  J3 = 4-(I2)-(I3) ;
807  S1++;
808  J1 = -2*(4)+3*3 ;
809  if ((2*4+J1)%3 == 0) {
810    J2 = (2*4+J1)/3 ;
811    J3 = 3*4-4*J2 ;
812    S1++;
813    S2++;
814  }
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++) {
817      J3 = 4-(I2)-(I3) ;
818      S1++;
819    }
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 ;
822      S2++;
823    }
824  }
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++) {
827      J3 = 4-(I2)-(I3) ;
828      S1++;
829    }
830  }
831}
832if (N1 >= 9) {
833  for (I3=4*1;I3<=floord(13*1-1,3);I3++) {
834    J3 = -(6)-2*(I2)+2*I3 ;
835    S2++;
836    J3 = 6-(I2)-(I3) ;
837    S1++;
838  }
839  if (13*6%18 == 0) {
840    I3 = 13*6/18 ;
841    J1 = -2*(6)+3*I3 ;
842    if ((2*6+J1)%3 == 0) {
843      J2 = (2*6+J1)/3 ;
844      J3 = 3*6-4*J2 ;
845      S1++;
846      S2++;
847    }
848  }
849  for (I3=ceild(13*1+1,3);I3<=min(N1,5*1);I3++) {
850    J3 = 6-(I2)-(I3) ;
851    S1++;
852    J3 = -(6)-2*(I2)+2*I3 ;
853    S2++;
854  }
855  if (5%4 == 0) {
856    for (I3=2*5/4+1;I3<=3*5/4;I3++) {
857      J3 = 6-(I2)-(I3) ;
858      S1++;
859    }
860    if ((9*6-1)%12 == 0) {
861      I3 = (9*6-1)/12 ;
862      J1 = -2*(6)+3*I3 ;
863      if ((2*6+J1)%3 == 0) {
864        J2 = (2*6+J1)/3 ;
865        J3 = 3*6-4*J2 ;
866        S1++;
867        S2++;
868      }
869    }
870    if ((3*6+1)%4 == 0) {
871      I3 = (3*6+1)/4 ;
872      J3 = 6-(I2)-(I3) ;
873      S1++;
874      J3 = -(6)-2*(I2)+2*I3 ;
875      S2++;
876    }
877  }
878  if (3%2 == 0) {
879    for (I3=2*3/2;I3<=floord(6*3/2-1,2);I3++) {
880      J3 = 6-(I2)-(I3) ;
881      S1++;
882    }
883    if (3*6%4 == 0) {
884      I3 = 3*6/4 ;
885      J1 = -2*(6)+3*I3 ;
886      if ((2*6+J1)%3 == 0) {
887        J2 = (2*6+J1)/3 ;
888        J3 = 3*6-4*J2 ;
889        S1++;
890        S2++;
891      }
892    }
893    for (I3=3*3/2+1;I3<=min(N1,floord(11*3/2,3));I3++) {
894      J3 = -(6)-2*(I2)+2*I3 ;
895      S2++;
896    }
897  }
898  for (I2=2;I2<=5;I2++) {
899    for (I3=max(max(1,ceild(6-I2,2)),6-2*I2);I3<=6-I2;I3++) {
900      J3 = 6-(I2)-(I3) ;
901      S1++;
902    }
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 ;
905      S2++;
906    }
907  }
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 ;
911      S2++;
912    }
913  }
914}
915if ((N1 <= 8) && (N1 >= 8)) {
916  for (I3=4*1;I3<=floord(13*1-1,3);I3++) {
917    J3 = -(6)-2*(I2)+2*I3 ;
918    S2++;
919    J3 = 6-(I2)-(I3) ;
920    S1++;
921  }
922  if (13*6%18 == 0) {
923    I3 = 13*6/18 ;
924    J1 = -2*(6)+3*I3 ;
925    if ((2*6+J1)%3 == 0) {
926      J2 = (2*6+J1)/3 ;
927      J3 = 3*6-4*J2 ;
928      S1++;
929      S2++;
930    }
931  }
932  for (I3=ceild(13*1+1,3);I3<=min(N1,5*1);I3++) {
933    J3 = 6-(I2)-(I3) ;
934    S1++;
935    J3 = -(6)-2*(I2)+2*I3 ;
936    S2++;
937  }
938  if (5%4 == 0) {
939    for (I3=2*5/4+1;I3<=3*5/4;I3++) {
940      J3 = 6-(I2)-(I3) ;
941      S1++;
942    }
943    if ((9*6-1)%12 == 0) {
944      I3 = (9*6-1)/12 ;
945      J1 = -2*(6)+3*I3 ;
946      if ((2*6+J1)%3 == 0) {
947        J2 = (2*6+J1)/3 ;
948        J3 = 3*6-4*J2 ;
949        S1++;
950        S2++;
951      }
952    }
953    if ((3*6+1)%4 == 0) {
954      I3 = (3*6+1)/4 ;
955      J3 = 6-(I2)-(I3) ;
956      S1++;
957      J3 = -(6)-2*(I2)+2*I3 ;
958      S2++;
959    }
960  }
961  if (3%2 == 0) {
962    for (I3=2*3/2;I3<=floord(6*3/2-1,2);I3++) {
963      J3 = 6-(I2)-(I3) ;
964      S1++;
965    }
966    if (3*6%4 == 0) {
967      I3 = 3*6/4 ;
968      J1 = -2*(6)+3*I3 ;
969      if ((2*6+J1)%3 == 0) {
970        J2 = (2*6+J1)/3 ;
971        J3 = 3*6-4*J2 ;
972        S1++;
973        S2++;
974      }
975    }
976    for (I3=3*3/2+1;I3<=min(N1,floord(11*3/2,3));I3++) {
977      J3 = -(6)-2*(I2)+2*I3 ;
978      S2++;
979    }
980  }
981  for (I2=2;I2<=5;I2++) {
982    for (I3=max(max(1,ceild(6-I2,2)),6-2*I2);I3<=6-I2;I3++) {
983      J3 = 6-(I2)-(I3) ;
984      S1++;
985    }
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 ;
988      S2++;
989    }
990  }
991}
992if ((N1 <= 3) && (N1 >= 3)) {
993  if ((4*N1-1)%3 == 0) {
994    I1 = (4*N1-1)/3 ;
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++) {
997        J3 = I1-(I2)-(I3) ;
998        S1++;
999      }
1000    }
1001  }
1002}
1003if (N1 >= 11) {
1004  J1 = -2*(7)+3*5 ;
1005  if ((2*7+J1)%3 == 0) {
1006    J2 = (2*7+J1)/3 ;
1007    J3 = 3*7-4*J2 ;
1008    S1++;
1009    S2++;
1010  }
1011  for (I3=6;I3<=5;I3++) {
1012    J3 = 7-(I2)-(I3) ;
1013    S1++;
1014    J3 = -(7)-2*(I2)+2*I3 ;
1015    S2++;
1016  }
1017  J3 = 7-(I2)-(I3) ;
1018  S1++;
1019  if (7%6 == 0) {
1020    for (I3=4*7/6;I3<=floord(13*7/6-1,3);I3++) {
1021      J3 = -(7)-2*(I2)+2*I3 ;
1022      S2++;
1023      J3 = 7-(I2)-(I3) ;
1024      S1++;
1025    }
1026    if (13*7%18 == 0) {
1027      I3 = 13*7/18 ;
1028      J1 = -2*(7)+3*I3 ;
1029      if ((2*7+J1)%3 == 0) {
1030        J2 = (2*7+J1)/3 ;
1031        J3 = 3*7-4*J2 ;
1032        S1++;
1033        S2++;
1034      }
1035    }
1036    for (I3=ceild(13*7/6+1,3);I3<=min(N1,5*7/6);I3++) {
1037      J3 = 7-(I2)-(I3) ;
1038      S1++;
1039      J3 = -(7)-2*(I2)+2*I3 ;
1040      S2++;
1041    }
1042  }
1043  if (3%2 == 0) {
1044    for (I3=2*3/2+1;I3<=3*3/2;I3++) {
1045      J3 = 7-(I2)-(I3) ;
1046      S1++;
1047    }
1048    if ((9*7-1)%12 == 0) {
1049      I3 = (9*7-1)/12 ;
1050      J1 = -2*(7)+3*I3 ;
1051      if ((2*7+J1)%3 == 0) {
1052        J2 = (2*7+J1)/3 ;
1053        J3 = 3*7-4*J2 ;
1054        S1++;
1055        S2++;
1056      }
1057    }
1058    if ((3*7+1)%4 == 0) {
1059      I3 = (3*7+1)/4 ;
1060      J3 = 7-(I2)-(I3) ;
1061      S1++;
1062      J3 = -(7)-2*(I2)+2*I3 ;
1063      S2++;
1064    }
1065  }
1066  if (7%4 == 0) {
1067    for (I3=2*7/4;I3<=floord(6*7/4-1,2);I3++) {
1068      J3 = 7-(I2)-(I3) ;
1069      S1++;
1070    }
1071    if (3*7%4 == 0) {
1072      I3 = 3*7/4 ;
1073      J1 = -2*(7)+3*I3 ;
1074      if ((2*7+J1)%3 == 0) {
1075        J2 = (2*7+J1)/3 ;
1076        J3 = 3*7-4*J2 ;
1077        S1++;
1078        S2++;
1079      }
1080    }
1081    for (I3=3*7/4+1;I3<=min(N1,floord(11*7/4,3));I3++) {
1082      J3 = -(7)-2*(I2)+2*I3 ;
1083      S2++;
1084    }
1085  }
1086  for (I2=2;I2<=6;I2++) {
1087    for (I3=max(max(1,ceild(7-I2,2)),7-2*I2);I3<=7-I2;I3++) {
1088      J3 = 7-(I2)-(I3) ;
1089      S1++;
1090    }
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 ;
1093      S2++;
1094    }
1095  }
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 ;
1099      S2++;
1100    }
1101  }
1102}
1103if ((N1 <= 10) && (N1 >= 10)) {
1104  J1 = -2*(7)+3*5 ;
1105  if ((2*7+J1)%3 == 0) {
1106    J2 = (2*7+J1)/3 ;
1107    J3 = 3*7-4*J2 ;
1108    S1++;
1109    S2++;
1110  }
1111  for (I3=6;I3<=5;I3++) {
1112    J3 = 7-(I2)-(I3) ;
1113    S1++;
1114    J3 = -(7)-2*(I2)+2*I3 ;
1115    S2++;
1116  }
1117  J3 = 7-(I2)-(I3) ;
1118  S1++;
1119  if (7%6 == 0) {
1120    for (I3=4*7/6;I3<=floord(13*7/6-1,3);I3++) {
1121      J3 = -(7)-2*(I2)+2*I3 ;
1122      S2++;
1123      J3 = 7-(I2)-(I3) ;
1124      S1++;
1125    }
1126    if (13*7%18 == 0) {
1127      I3 = 13*7/18 ;
1128      J1 = -2*(7)+3*I3 ;
1129      if ((2*7+J1)%3 == 0) {
1130        J2 = (2*7+J1)/3 ;
1131        J3 = 3*7-4*J2 ;
1132        S1++;
1133        S2++;
1134      }
1135    }
1136    for (I3=ceild(13*7/6+1,3);I3<=min(N1,5*7/6);I3++) {
1137      J3 = 7-(I2)-(I3) ;
1138      S1++;
1139      J3 = -(7)-2*(I2)+2*I3 ;
1140      S2++;
1141    }
1142  }
1143  if (3%2 == 0) {
1144    for (I3=2*3/2+1;I3<=3*3/2;I3++) {
1145      J3 = 7-(I2)-(I3) ;
1146      S1++;
1147    }
1148    if ((9*7-1)%12 == 0) {
1149      I3 = (9*7-1)/12 ;
1150      J1 = -2*(7)+3*I3 ;
1151      if ((2*7+J1)%3 == 0) {
1152        J2 = (2*7+J1)/3 ;
1153        J3 = 3*7-4*J2 ;
1154        S1++;
1155        S2++;
1156      }
1157    }
1158    if ((3*7+1)%4 == 0) {
1159      I3 = (3*7+1)/4 ;
1160      J3 = 7-(I2)-(I3) ;
1161      S1++;
1162      J3 = -(7)-2*(I2)+2*I3 ;
1163      S2++;
1164    }
1165  }
1166  if (7%4 == 0) {
1167    for (I3=2*7/4;I3<=floord(6*7/4-1,2);I3++) {
1168      J3 = 7-(I2)-(I3) ;
1169      S1++;
1170    }
1171    if (3*7%4 == 0) {
1172      I3 = 3*7/4 ;
1173      J1 = -2*(7)+3*I3 ;
1174      if ((2*7+J1)%3 == 0) {
1175        J2 = (2*7+J1)/3 ;
1176        J3 = 3*7-4*J2 ;
1177        S1++;
1178        S2++;
1179      }
1180    }
1181    for (I3=3*7/4+1;I3<=min(N1,floord(11*7/4,3));I3++) {
1182      J3 = -(7)-2*(I2)+2*I3 ;
1183      S2++;
1184    }
1185  }
1186  for (I2=2;I2<=6;I2++) {
1187    for (I3=max(max(1,ceild(7-I2,2)),7-2*I2);I3<=7-I2;I3++) {
1188      J3 = 7-(I2)-(I3) ;
1189      S1++;
1190    }
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 ;
1193      S2++;
1194    }
1195  }
1196}
1197if ((N1 <= 6) && (N1 >= 5)) {
1198  for (I3=2*1+1;I3<=3*1;I3++) {
1199    J3 = 5-(I2)-(I3) ;
1200    S1++;
1201  }
1202  if ((9*5-1)%12 == 0) {
1203    I3 = (9*5-1)/12 ;
1204    J1 = -2*(5)+3*I3 ;
1205    if ((2*5+J1)%3 == 0) {
1206      J2 = (2*5+J1)/3 ;
1207      J3 = 3*5-4*J2 ;
1208      S1++;
1209      S2++;
1210    }
1211  }
1212  if ((3*5+1)%4 == 0) {
1213    I3 = (3*5+1)/4 ;
1214    J3 = 5-(I2)-(I3) ;
1215    S1++;
1216    J3 = -(5)-2*(I2)+2*I3 ;
1217    S2++;
1218  }
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++) {
1221      J3 = 5-(I2)-(I3) ;
1222      S1++;
1223    }
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 ;
1226      S2++;
1227    }
1228  }
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++) {
1231      J3 = 5-(I2)-(I3) ;
1232      S1++;
1233    }
1234  }
1235}
1236if (N1 == 4) {
1237  for (I3=ceild(2*N1+1,3);I3<=N1-1;I3++) {
1238    J3 = 5-(I2)-(I3) ;
1239    S1++;
1240  }
1241  if (-1%3 == 0) {
1242    I3 = (3*N1-1)/3 ;
1243    J1 = -2*(5)+3*I3 ;
1244    if ((2*5+J1)%3 == 0) {
1245      J2 = (2*5+J1)/3 ;
1246      J3 = 3*5-4*J2 ;
1247      S1++;
1248      S2++;
1249    }
1250  }
1251  J3 = 5-(I2)-(I3) ;
1252  S1++;
1253  J3 = -(5)-2*(I2)+2*I3 ;
1254  S2++;
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++) {
1257      J3 = 5-(I2)-(I3) ;
1258      S1++;
1259    }
1260  }
1261}
1262if (N1 >= 12) {
1263  for (I3=ceild(8+2*1,2);I3<=8-2*(1)-1;I3++) {
1264    J3 = -(8)-2*(I2)+2*I3 ;
1265    S2++;
1266  }
1267  for (I3=8-2*(1);I3<=floord(2*8+3*1,3);I3++) {
1268    J3 = 8-(I2)-(I3) ;
1269    S1++;
1270    J3 = -(8)-2*(I2)+2*I3 ;
1271    S2++;
1272  }
1273  for (I3=ceild(2*8+3*1+1,3);I3<=min(N1,8-(1));I3++) {
1274    J3 = 8-(I2)-(I3) ;
1275    S1++;
1276  }
1277  if (4%3 == 0) {
1278    for (I3=4*4/3;I3<=floord(13*4/3-1,3);I3++) {
1279      J3 = -(8)-2*(I2)+2*I3 ;
1280      S2++;
1281      J3 = 8-(I2)-(I3) ;
1282      S1++;
1283    }
1284    if (13*8%18 == 0) {
1285      I3 = 13*8/18 ;
1286      J1 = -2*(8)+3*I3 ;
1287      if ((2*8+J1)%3 == 0) {
1288        J2 = (2*8+J1)/3 ;
1289        J3 = 3*8-4*J2 ;
1290        S1++;
1291        S2++;
1292      }
1293    }
1294    for (I3=ceild(13*4/3+1,3);I3<=min(N1,5*4/3);I3++) {
1295      J3 = 8-(I2)-(I3) ;
1296      S1++;
1297      J3 = -(8)-2*(I2)+2*I3 ;
1298      S2++;
1299    }
1300  }
1301  if (3%2 == 0) {
1302    for (I3=8-2*(3/2);I3<=floord(8+2*3/2-1,2);I3++) {
1303      J3 = 8-(I2)-(I3) ;
1304      S1++;
1305    }
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 ;
1308      S2++;
1309      J3 = 8-(I2)-(I3) ;
1310      S1++;
1311    }
1312    if ((2*8+3/2)%3 == 0) {
1313      I3 = (2*8+3/2)/3 ;
1314      J1 = -2*(8)+3*I3 ;
1315      if ((2*8+J1)%3 == 0) {
1316        J2 = (2*8+J1)/3 ;
1317        J3 = 3*8-4*J2 ;
1318        S1++;
1319        S2++;
1320      }
1321    }
1322    for (I3=ceild(2*8+3/2+1,3);I3<=8-(3/2);I3++) {
1323      J3 = 8-(I2)-(I3) ;
1324      S1++;
1325      J3 = -(8)-2*(I2)+2*I3 ;
1326      S2++;
1327    }
1328  }
1329  for (I3=2*2;I3<=floord(6*2-1,2);I3++) {
1330    J3 = 8-(I2)-(I3) ;
1331    S1++;
1332  }
1333  if (3*8%4 == 0) {
1334    I3 = 3*8/4 ;
1335    J1 = -2*(8)+3*I3 ;
1336    if ((2*8+J1)%3 == 0) {
1337      J2 = (2*8+J1)/3 ;
1338      J3 = 3*8-4*J2 ;
1339      S1++;
1340      S2++;
1341    }
1342  }
1343  for (I3=3*2+1;I3<=min(N1,floord(11*2,3));I3++) {
1344    J3 = -(8)-2*(I2)+2*I3 ;
1345    S2++;
1346  }
1347  for (I2=3;I2<=7;I2++) {
1348    for (I3=max(max(1,ceild(8-I2,2)),8-2*I2);I3<=8-I2;I3++) {
1349      J3 = 8-(I2)-(I3) ;
1350      S1++;
1351    }
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 ;
1354      S2++;
1355    }
1356  }
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 ;
1360      S2++;
1361    }
1362  }
1363}
1364if ((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 ;
1367    S2++;
1368  }
1369  for (I3=8-2*(1);I3<=floord(2*8+3*1,3);I3++) {
1370    J3 = 8-(I2)-(I3) ;
1371    S1++;
1372    J3 = -(8)-2*(I2)+2*I3 ;
1373    S2++;
1374  }
1375  for (I3=ceild(2*8+3*1+1,3);I3<=min(N1,8-(1));I3++) {
1376    J3 = 8-(I2)-(I3) ;
1377    S1++;
1378  }
1379  if (4%3 == 0) {
1380    for (I3=4*4/3;I3<=floord(13*4/3-1,3);I3++) {
1381      J3 = -(8)-2*(I2)+2*I3 ;
1382      S2++;
1383      J3 = 8-(I2)-(I3) ;
1384      S1++;
1385    }
1386    if (13*8%18 == 0) {
1387      I3 = 13*8/18 ;
1388      J1 = -2*(8)+3*I3 ;
1389      if ((2*8+J1)%3 == 0) {
1390        J2 = (2*8+J1)/3 ;
1391        J3 = 3*8-4*J2 ;
1392        S1++;
1393        S2++;
1394      }
1395    }
1396    for (I3=ceild(13*4/3+1,3);I3<=min(N1,5*4/3);I3++) {
1397      J3 = 8-(I2)-(I3) ;
1398      S1++;
1399      J3 = -(8)-2*(I2)+2*I3 ;
1400      S2++;
1401    }
1402  }
1403  if (3%2 == 0) {
1404    for (I3=8-2*(3/2);I3<=floord(8+2*3/2-1,2);I3++) {
1405      J3 = 8-(I2)-(I3) ;
1406      S1++;
1407    }
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 ;
1410      S2++;
1411      J3 = 8-(I2)-(I3) ;
1412      S1++;
1413    }
1414    if ((2*8+3/2)%3 == 0) {
1415      I3 = (2*8+3/2)/3 ;
1416      J1 = -2*(8)+3*I3 ;
1417      if ((2*8+J1)%3 == 0) {
1418        J2 = (2*8+J1)/3 ;
1419        J3 = 3*8-4*J2 ;
1420        S1++;
1421        S2++;
1422      }
1423    }
1424    for (I3=ceild(2*8+3/2+1,3);I3<=8-(3/2);I3++) {
1425      J3 = 8-(I2)-(I3) ;
1426      S1++;
1427      J3 = -(8)-2*(I2)+2*I3 ;
1428      S2++;
1429    }
1430  }
1431  for (I3=2*2;I3<=floord(6*2-1,2);I3++) {
1432    J3 = 8-(I2)-(I3) ;
1433    S1++;
1434  }
1435  if (3*8%4 == 0) {
1436    I3 = 3*8/4 ;
1437    J1 = -2*(8)+3*I3 ;
1438    if ((2*8+J1)%3 == 0) {
1439      J2 = (2*8+J1)/3 ;
1440      J3 = 3*8-4*J2 ;
1441      S1++;
1442      S2++;
1443    }
1444  }
1445  for (I3=3*2+1;I3<=min(N1,floord(11*2,3));I3++) {
1446    J3 = -(8)-2*(I2)+2*I3 ;
1447    S2++;
1448  }
1449  for (I2=3;I2<=7;I2++) {
1450    for (I3=max(max(1,ceild(8-I2,2)),8-2*I2);I3<=8-I2;I3++) {
1451      J3 = 8-(I2)-(I3) ;
1452      S1++;
1453    }
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 ;
1456      S2++;
1457    }
1458  }
1459}
1460if ((N1 <= 7) && (N1 >= 6)) {
1461  for (I3=4*1;I3<=floord(13*1-1,3);I3++) {
1462    J3 = -(6)-2*(I2)+2*I3 ;
1463    S2++;
1464    J3 = 6-(I2)-(I3) ;
1465    S1++;
1466  }
1467  if (13*6%18 == 0) {
1468    I3 = 13*6/18 ;
1469    J1 = -2*(6)+3*I3 ;
1470    if ((2*6+J1)%3 == 0) {
1471      J2 = (2*6+J1)/3 ;
1472      J3 = 3*6-4*J2 ;
1473      S1++;
1474      S2++;
1475    }
1476  }
1477  for (I3=ceild(13*1+1,3);I3<=min(N1,5*1);I3++) {
1478    J3 = 6-(I2)-(I3) ;
1479    S1++;
1480    J3 = -(6)-2*(I2)+2*I3 ;
1481    S2++;
1482  }
1483  if (5%4 == 0) {
1484    for (I3=2*5/4+1;I3<=3*5/4;I3++) {
1485      J3 = 6-(I2)-(I3) ;
1486      S1++;
1487    }
1488    if ((9*6-1)%12 == 0) {
1489      I3 = (9*6-1)/12 ;
1490      J1 = -2*(6)+3*I3 ;
1491      if ((2*6+J1)%3 == 0) {
1492        J2 = (2*6+J1)/3 ;
1493        J3 = 3*6-4*J2 ;
1494        S1++;
1495        S2++;
1496      }
1497    }
1498    if ((3*6+1)%4 == 0) {
1499      I3 = (3*6+1)/4 ;
1500      J3 = 6-(I2)-(I3) ;
1501      S1++;
1502      J3 = -(6)-2*(I2)+2*I3 ;
1503      S2++;
1504    }
1505  }
1506  if (3%2 == 0) {
1507    for (I3=2*3/2;I3<=floord(6*3/2-1,2);I3++) {
1508      J3 = 6-(I2)-(I3) ;
1509      S1++;
1510    }
1511    if (3*6%4 == 0) {
1512      I3 = 3*6/4 ;
1513      J1 = -2*(6)+3*I3 ;
1514      if ((2*6+J1)%3 == 0) {
1515        J2 = (2*6+J1)/3 ;
1516        J3 = 3*6-4*J2 ;
1517        S1++;
1518        S2++;
1519      }
1520    }
1521    for (I3=3*3/2+1;I3<=min(N1,floord(11*3/2,3));I3++) {
1522      J3 = -(6)-2*(I2)+2*I3 ;
1523      S2++;
1524    }
1525  }
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++) {
1528      J3 = 6-(I2)-(I3) ;
1529      S1++;
1530    }
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 ;
1533      S2++;
1534    }
1535  }
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++) {
1538      J3 = 6-(I2)-(I3) ;
1539      S1++;
1540    }
1541  }
1542}
1543if ((N1 <= 5) && (N1 >= 5)) {
1544  for (I3=4*1;I3<=floord(13*1-1,3);I3++) {
1545    J3 = -(6)-2*(I2)+2*I3 ;
1546    S2++;
1547    J3 = 6-(I2)-(I3) ;
1548    S1++;
1549  }
1550  if (13*6%18 == 0) {
1551    I3 = 13*6/18 ;
1552    J1 = -2*(6)+3*I3 ;
1553    if ((2*6+J1)%3 == 0) {
1554      J2 = (2*6+J1)/3 ;
1555      J3 = 3*6-4*J2 ;
1556      S1++;
1557      S2++;
1558    }
1559  }
1560  for (I3=ceild(13*1+1,3);I3<=min(N1,5*1);I3++) {
1561    J3 = 6-(I2)-(I3) ;
1562    S1++;
1563    J3 = -(6)-2*(I2)+2*I3 ;
1564    S2++;
1565  }
1566  if (5%4 == 0) {
1567    for (I3=2*5/4+1;I3<=3*5/4;I3++) {
1568      J3 = 6-(I2)-(I3) ;
1569      S1++;
1570    }
1571    if ((9*6-1)%12 == 0) {
1572      I3 = (9*6-1)/12 ;
1573      J1 = -2*(6)+3*I3 ;
1574      if ((2*6+J1)%3 == 0) {
1575        J2 = (2*6+J1)/3 ;
1576        J3 = 3*6-4*J2 ;
1577        S1++;
1578        S2++;
1579      }
1580    }
1581    if ((3*6+1)%4 == 0) {
1582      I3 = (3*6+1)/4 ;
1583      J3 = 6-(I2)-(I3) ;
1584      S1++;
1585      J3 = -(6)-2*(I2)+2*I3 ;
1586      S2++;
1587    }
1588  }
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++) {
1591      J3 = 6-(I2)-(I3) ;
1592      S1++;
1593    }
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 ;
1596      S2++;
1597    }
1598  }
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++) {
1601      J3 = 6-(I2)-(I3) ;
1602      S1++;
1603    }
1604  }
1605}
1606if ((N1 <= 4) && (N1 >= 3)) {
1607  if (4*N1%3 == 0) {
1608    I1 = 4*N1/3 ;
1609    if (N1%3 == 0) {
1610      for (I3=ceild(2*N1,3);I3<=floord(2*N1-1,2);I3++) {
1611        J3 = I1-(I2)-(I3) ;
1612        S1++;
1613      }
1614      J1 = -2*I1+3*N1 ;
1615      if ((2*I1+J1)%3 == 0) {
1616        J2 = (2*I1+J1)/3 ;
1617        J3 = 3*I1-4*J2 ;
1618        S1++;
1619        S2++;
1620      }
1621    }
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++) {
1624        J3 = I1-(I2)-(I3) ;
1625        S1++;
1626      }
1627    }
1628  }
1629}
1630if ((N1 <= 9) && (N1 >= 7)) {
1631  J1 = -2*(7)+3*5 ;
1632  if ((2*7+J1)%3 == 0) {
1633    J2 = (2*7+J1)/3 ;
1634    J3 = 3*7-4*J2 ;
1635    S1++;
1636    S2++;
1637  }
1638  for (I3=6;I3<=5;I3++) {
1639    J3 = 7-(I2)-(I3) ;
1640    S1++;
1641    J3 = -(7)-2*(I2)+2*I3 ;
1642    S2++;
1643  }
1644  J3 = 7-(I2)-(I3) ;
1645  S1++;
1646  if (7%6 == 0) {
1647    for (I3=4*7/6;I3<=floord(13*7/6-1,3);I3++) {
1648      J3 = -(7)-2*(I2)+2*I3 ;
1649      S2++;
1650      J3 = 7-(I2)-(I3) ;
1651      S1++;
1652    }
1653    if (13*7%18 == 0) {
1654      I3 = 13*7/18 ;
1655      J1 = -2*(7)+3*I3 ;
1656      if ((2*7+J1)%3 == 0) {
1657        J2 = (2*7+J1)/3 ;
1658        J3 = 3*7-4*J2 ;
1659        S1++;
1660        S2++;
1661      }
1662    }
1663    for (I3=ceild(13*7/6+1,3);I3<=min(N1,5*7/6);I3++) {
1664      J3 = 7-(I2)-(I3) ;
1665      S1++;
1666      J3 = -(7)-2*(I2)+2*I3 ;
1667      S2++;
1668    }
1669  }
1670  if (3%2 == 0) {
1671    for (I3=2*3/2+1;I3<=3*3/2;I3++) {
1672      J3 = 7-(I2)-(I3) ;
1673      S1++;
1674    }
1675    if ((9*7-1)%12 == 0) {
1676      I3 = (9*7-1)/12 ;
1677      J1 = -2*(7)+3*I3 ;
1678      if ((2*7+J1)%3 == 0) {
1679        J2 = (2*7+J1)/3 ;
1680        J3 = 3*7-4*J2 ;
1681        S1++;
1682        S2++;
1683      }
1684    }
1685    if ((3*7+1)%4 == 0) {
1686      I3 = (3*7+1)/4 ;
1687      J3 = 7-(I2)-(I3) ;
1688      S1++;
1689      J3 = -(7)-2*(I2)+2*I3 ;
1690      S2++;
1691    }
1692  }
1693  if (7%4 == 0) {
1694    for (I3=2*7/4;I3<=floord(6*7/4-1,2);I3++) {
1695      J3 = 7-(I2)-(I3) ;
1696      S1++;
1697    }
1698    if (3*7%4 == 0) {
1699      I3 = 3*7/4 ;
1700      J1 = -2*(7)+3*I3 ;
1701      if ((2*7+J1)%3 == 0) {
1702        J2 = (2*7+J1)/3 ;
1703        J3 = 3*7-4*J2 ;
1704        S1++;
1705        S2++;
1706      }
1707    }
1708    for (I3=3*7/4+1;I3<=min(N1,floord(11*7/4,3));I3++) {
1709      J3 = -(7)-2*(I2)+2*I3 ;
1710      S2++;
1711    }
1712  }
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++) {
1715      J3 = 7-(I2)-(I3) ;
1716      S1++;
1717    }
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 ;
1720      S2++;
1721    }
1722  }
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++) {
1725      J3 = 7-(I2)-(I3) ;
1726      S1++;
1727    }
1728  }
1729}
1730if (N1 == 6) {
1731  J1 = -2*(7)+3*5 ;
1732  if ((2*7+J1)%3 == 0) {
1733    J2 = (2*7+J1)/3 ;
1734    J3 = 3*7-4*J2 ;
1735    S1++;
1736    S2++;
1737  }
1738  for (I3=6;I3<=5;I3++) {
1739    J3 = 7-(I2)-(I3) ;
1740    S1++;
1741    J3 = -(7)-2*(I2)+2*I3 ;
1742    S2++;
1743  }
1744  J3 = 7-(I2)-(I3) ;
1745  S1++;
1746  if (7%6 == 0) {
1747    for (I3=4*7/6;I3<=floord(13*7/6-1,3);I3++) {
1748      J3 = -(7)-2*(I2)+2*I3 ;
1749      S2++;
1750      J3 = 7-(I2)-(I3) ;
1751      S1++;
1752    }
1753    if (13*7%18 == 0) {
1754      I3 = 13*7/18 ;
1755      J1 = -2*(7)+3*I3 ;
1756      if ((2*7+J1)%3 == 0) {
1757        J2 = (2*7+J1)/3 ;
1758        J3 = 3*7-4*J2 ;
1759        S1++;
1760        S2++;
1761      }
1762    }
1763    for (I3=ceild(13*7/6+1,3);I3<=min(N1,5*7/6);I3++) {
1764      J3 = 7-(I2)-(I3) ;
1765      S1++;
1766      J3 = -(7)-2*(I2)+2*I3 ;
1767      S2++;
1768    }
1769  }
1770  if (3%2 == 0) {
1771    for (I3=2*3/2+1;I3<=3*3/2;I3++) {
1772      J3 = 7-(I2)-(I3) ;
1773      S1++;
1774    }
1775    if ((9*7-1)%12 == 0) {
1776      I3 = (9*7-1)/12 ;
1777      J1 = -2*(7)+3*I3 ;
1778      if ((2*7+J1)%3 == 0) {
1779        J2 = (2*7+J1)/3 ;
1780        J3 = 3*7-4*J2 ;
1781        S1++;
1782        S2++;
1783      }
1784    }
1785    if ((3*7+1)%4 == 0) {
1786      I3 = (3*7+1)/4 ;
1787      J3 = 7-(I2)-(I3) ;
1788      S1++;
1789      J3 = -(7)-2*(I2)+2*I3 ;
1790      S2++;
1791    }
1792  }
1793  for (I3=max(max(1,ceild(7-(2),2)),7-2*(2));I3<=7-(2);I3++) {
1794    J3 = 7-(I2)-(I3) ;
1795    S1++;
1796  }
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 ;
1799    S2++;
1800  }
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++) {
1803      J3 = 7-(I2)-(I3) ;
1804      S1++;
1805    }
1806  }
1807}
1808if (N1 == 5) {
1809  J1 = -2*(7)+3*5 ;
1810  if ((2*7+J1)%3 == 0) {
1811    J2 = (2*7+J1)/3 ;
1812    J3 = 3*7-4*J2 ;
1813    S1++;
1814    S2++;
1815  }
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++) {
1818      J3 = 7-(I2)-(I3) ;
1819      S1++;
1820    }
1821  }
1822}
1823if (N1 >= 14) {
1824  for (I3=ceild(9+2*1,2);I3<=9-2*(1)-1;I3++) {
1825    J3 = -(9)-2*(I2)+2*I3 ;
1826    S2++;
1827  }
1828  for (I3=9-2*(1);I3<=floord(2*9+3*1,3);I3++) {
1829    J3 = 9-(I2)-(I3) ;
1830    S1++;
1831    J3 = -(9)-2*(I2)+2*I3 ;
1832    S2++;
1833  }
1834  for (I3=ceild(2*9+3*1+1,3);I3<=min(N1,9-(1));I3++) {
1835    J3 = 9-(I2)-(I3) ;
1836    S1++;
1837  }
1838  if (3%2 == 0) {
1839    for (I3=4*3/2;I3<=floord(13*3/2-1,3);I3++) {
1840      J3 = -(9)-2*(I2)+2*I3 ;
1841      S2++;
1842      J3 = 9-(I2)-(I3) ;
1843      S1++;
1844    }
1845    if (13*9%18 == 0) {
1846      I3 = 13*9/18 ;
1847      J1 = -2*(9)+3*I3 ;
1848      if ((2*9+J1)%3 == 0) {
1849        J2 = (2*9+J1)/3 ;
1850        J3 = 3*9-4*J2 ;
1851        S1++;
1852        S2++;
1853      }
1854    }
1855    for (I3=ceild(13*3/2+1,3);I3<=min(N1,5*3/2);I3++) {
1856      J3 = 9-(I2)-(I3) ;
1857      S1++;
1858      J3 = -(9)-2*(I2)+2*I3 ;
1859      S2++;
1860    }
1861  }
1862  for (I2=2;I2<=1;I2++) {
1863    for (I3=9-2*I2;I3<=floord(9+2*I2-1,2);I3++) {
1864      J3 = 9-(I2)-(I3) ;
1865      S1++;
1866    }
1867    for (I3=ceild(9+2*I2,2);I3<=floord(2*9+I2-1,3);I3++) {
1868      J3 = -(9)-2*(I2)+2*I3 ;
1869      S2++;
1870      J3 = 9-(I2)-(I3) ;
1871      S1++;
1872    }
1873    if ((2*9+I2)%3 == 0) {
1874      I3 = (2*9+I2)/3 ;
1875      J1 = -2*(9)+3*I3 ;
1876      if ((2*9+J1)%3 == 0) {
1877        J2 = (2*9+J1)/3 ;
1878        J3 = 3*9-4*J2 ;
1879        S1++;
1880        S2++;
1881      }
1882    }
1883    for (I3=ceild(2*9+I2+1,3);I3<=9-I2;I3++) {
1884      J3 = 9-(I2)-(I3) ;
1885      S1++;
1886      J3 = -(9)-2*(I2)+2*I3 ;
1887      S2++;
1888    }
1889  }
1890  for (I3=2*2+1;I3<=3*2;I3++) {
1891    J3 = 9-(I2)-(I3) ;
1892    S1++;
1893  }
1894  if ((9*9-1)%12 == 0) {
1895    I3 = (9*9-1)/12 ;
1896    J1 = -2*(9)+3*I3 ;
1897    if ((2*9+J1)%3 == 0) {
1898      J2 = (2*9+J1)/3 ;
1899      J3 = 3*9-4*J2 ;
1900      S1++;
1901      S2++;
1902    }
1903  }
1904  if ((3*9+1)%4 == 0) {
1905    I3 = (3*9+1)/4 ;
1906    J3 = 9-(I2)-(I3) ;
1907    S1++;
1908    J3 = -(9)-2*(I2)+2*I3 ;
1909    S2++;
1910  }
1911  for (I3=3*2+2;I3<=min(N1,floord(11*2+2,3));I3++) {
1912    J3 = -(9)-2*(I2)+2*I3 ;
1913    S2++;
1914  }
1915  if (9%4 == 0) {
1916    for (I3=2*9/4;I3<=floord(6*9/4-1,2);I3++) {
1917      J3 = 9-(I2)-(I3) ;
1918      S1++;
1919    }
1920    if (3*9%4 == 0) {
1921      I3 = 3*9/4 ;
1922      J1 = -2*(9)+3*I3 ;
1923      if ((2*9+J1)%3 == 0) {
1924        J2 = (2*9+J1)/3 ;
1925        J3 = 3*9-4*J2 ;
1926        S1++;
1927        S2++;
1928      }
1929    }
1930    for (I3=3*9/4+1;I3<=min(N1,floord(11*9/4,3));I3++) {
1931      J3 = -(9)-2*(I2)+2*I3 ;
1932      S2++;
1933    }
1934  }
1935  for (I2=3;I2<=8;I2++) {
1936    for (I3=max(max(1,ceild(9-I2,2)),9-2*I2);I3<=9-I2;I3++) {
1937      J3 = 9-(I2)-(I3) ;
1938      S1++;
1939    }
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 ;
1942      S2++;
1943    }
1944  }
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 ;
1948      S2++;
1949    }
1950  }
1951}
1952if ((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 ;
1955    S2++;
1956  }
1957  for (I3=9-2*(1);I3<=floord(2*9+3*1,3);I3++) {
1958    J3 = 9-(I2)-(I3) ;
1959    S1++;
1960    J3 = -(9)-2*(I2)+2*I3 ;
1961    S2++;
1962  }
1963  for (I3=ceild(2*9+3*1+1,3);I3<=min(N1,9-(1));I3++) {
1964    J3 = 9-(I2)-(I3) ;
1965    S1++;
1966  }
1967  if (3%2 == 0) {
1968    for (I3=4*3/2;I3<=floord(13*3/2-1,3);I3++) {
1969      J3 = -(9)-2*(I2)+2*I3 ;
1970      S2++;
1971      J3 = 9-(I2)-(I3) ;
1972      S1++;
1973    }
1974    if (13*9%18 == 0) {
1975      I3 = 13*9/18 ;
1976      J1 = -2*(9)+3*I3 ;
1977      if ((2*9+J1)%3 == 0) {
1978        J2 = (2*9+J1)/3 ;
1979        J3 = 3*9-4*J2 ;
1980        S1++;
1981        S2++;
1982      }
1983    }
1984    for (I3=ceild(13*3/2+1,3);I3<=min(N1,5*3/2);I3++) {
1985      J3 = 9-(I2)-(I3) ;
1986      S1++;
1987      J3 = -(9)-2*(I2)+2*I3 ;
1988      S2++;
1989    }
1990  }
1991  for (I2=2;I2<=1;I2++) {
1992    for (I3=9-2*I2;I3<=floord(9+2*I2-1,2);I3++) {
1993      J3 = 9-(I2)-(I3) ;
1994      S1++;
1995    }
1996    for (I3=ceild(9+2*I2,2);I3<=floord(2*9+I2-1,3);I3++) {
1997      J3 = -(9)-2*(I2)+2*I3 ;
1998      S2++;
1999      J3 = 9-(I2)-(I3) ;
2000      S1++;
2001    }
2002    if ((2*9+I2)%3 == 0) {
2003      I3 = (2*9+I2)/3 ;
2004      J1 = -2*(9)+3*I3 ;
2005      if ((2*9+J1)%3 == 0) {
2006        J2 = (2*9+J1)/3 ;
2007        J3 = 3*9-4*J2 ;
2008        S1++;
2009        S2++;
2010      }
2011    }
2012    for (I3=ceild(2*9+I2+1,3);I3<=9-I2;I3++) {
2013      J3 = 9-(I2)-(I3) ;
2014      S1++;
2015      J3 = -(9)-2*(I2)+2*I3 ;
2016      S2++;
2017    }
2018  }
2019  for (I3=2*2+1;I3<=3*2;I3++) {
2020    J3 = 9-(I2)-(I3) ;
2021    S1++;
2022  }
2023  if ((9*9-1)%12 == 0) {
2024    I3 = (9*9-1)/12 ;
2025    J1 = -2*(9)+3*I3 ;
2026    if ((2*9+J1)%3 == 0) {
2027      J2 = (2*9+J1)/3 ;
2028      J3 = 3*9-4*J2 ;
2029      S1++;
2030      S2++;
2031    }
2032  }
2033  if ((3*9+1)%4 == 0) {
2034    I3 = (3*9+1)/4 ;
2035    J3 = 9-(I2)-(I3) ;
2036    S1++;
2037    J3 = -(9)-2*(I2)+2*I3 ;
2038    S2++;
2039  }
2040  for (I3=3*2+2;I3<=min(N1,floord(11*2+2,3));I3++) {
2041    J3 = -(9)-2*(I2)+2*I3 ;
2042    S2++;
2043  }
2044  if (9%4 == 0) {
2045    for (I3=2*9/4;I3<=floord(6*9/4-1,2);I3++) {
2046      J3 = 9-(I2)-(I3) ;
2047      S1++;
2048    }
2049    if (3*9%4 == 0) {
2050      I3 = 3*9/4 ;
2051      J1 = -2*(9)+3*I3 ;
2052      if ((2*9+J1)%3 == 0) {
2053        J2 = (2*9+J1)/3 ;
2054        J3 = 3*9-4*J2 ;
2055        S1++;
2056        S2++;
2057      }
2058    }
2059    for (I3=3*9/4+1;I3<=min(N1,floord(11*9/4,3));I3++) {
2060      J3 = -(9)-2*(I2)+2*I3 ;
2061      S2++;
2062    }
2063  }
2064  for (I2=3;I2<=8;I2++) {
2065    for (I3=max(max(1,ceild(9-I2,2)),9-2*I2);I3<=9-I2;I3++) {
2066      J3 = 9-(I2)-(I3) ;
2067      S1++;
2068    }
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 ;
2071      S2++;
2072    }
2073  }
2074}
2075if ((N1 <= 4) && (N1 >= 4)) {
2076  if ((4*N1+1)%3 == 0) {
2077    I1 = (4*N1+1)/3 ;
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++) {
2080        J3 = I1-(I2)-(I3) ;
2081        S1++;
2082      }
2083    }
2084  }
2085}
2086for (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 ;
2090      S2++;
2091    }
2092    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
2093      J3 = I1-(I2)-(I3) ;
2094      S1++;
2095    }
2096  }
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 ;
2100      S2++;
2101    }
2102    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
2103      J3 = I1-(I2)-(I3) ;
2104      S1++;
2105      J3 = -I1-2*(I2)+2*I3 ;
2106      S2++;
2107    }
2108    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
2109      J3 = I1-(I2)-(I3) ;
2110      S1++;
2111    }
2112  }
2113  if (I1%6 == 0) {
2114    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
2115      J3 = -I1-2*(I2)+2*I3 ;
2116      S2++;
2117      J3 = I1-(I2)-(I3) ;
2118      S1++;
2119    }
2120    if (13*I1%18 == 0) {
2121      I3 = 13*I1/18 ;
2122      J1 = -2*I1+3*I3 ;
2123      if ((2*I1+J1)%3 == 0) {
2124        J2 = (2*I1+J1)/3 ;
2125        J3 = 3*I1-4*J2 ;
2126        S1++;
2127        S2++;
2128      }
2129    }
2130    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
2131      J3 = I1-(I2)-(I3) ;
2132      S1++;
2133      J3 = -I1-2*(I2)+2*I3 ;
2134      S2++;
2135    }
2136  }
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++) {
2139      J3 = I1-(I2)-(I3) ;
2140      S1++;
2141    }
2142    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
2143      J3 = -I1-2*(I2)+2*I3 ;
2144      S2++;
2145      J3 = I1-(I2)-(I3) ;
2146      S1++;
2147    }
2148    if ((2*I1+I2)%3 == 0) {
2149      I3 = (2*I1+I2)/3 ;
2150      J1 = -2*I1+3*I3 ;
2151      if ((2*I1+J1)%3 == 0) {
2152        J2 = (2*I1+J1)/3 ;
2153        J3 = 3*I1-4*J2 ;
2154        S1++;
2155        S2++;
2156      }
2157    }
2158    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
2159      J3 = I1-(I2)-(I3) ;
2160      S1++;
2161      J3 = -I1-2*(I2)+2*I3 ;
2162      S2++;
2163    }
2164  }
2165  if ((I1-1)%4 == 0) {
2166    I2 = (I1-1)/4 ;
2167    for (I3=2*I2+1;I3<=3*I2;I3++) {
2168      J3 = I1-(I2)-(I3) ;
2169      S1++;
2170    }
2171    if ((9*I1-1)%12 == 0) {
2172      I3 = (9*I1-1)/12 ;
2173      J1 = -2*I1+3*I3 ;
2174      if ((2*I1+J1)%3 == 0) {
2175        J2 = (2*I1+J1)/3 ;
2176        J3 = 3*I1-4*J2 ;
2177        S1++;
2178        S2++;
2179      }
2180    }
2181    if ((3*I1+1)%4 == 0) {
2182      I3 = (3*I1+1)/4 ;
2183      J3 = I1-(I2)-(I3) ;
2184      S1++;
2185      J3 = -I1-2*(I2)+2*I3 ;
2186      S2++;
2187    }
2188    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
2189      J3 = -I1-2*(I2)+2*I3 ;
2190      S2++;
2191    }
2192  }
2193  if (I1%4 == 0) {
2194    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
2195      J3 = I1-(I2)-(I3) ;
2196      S1++;
2197    }
2198    if (3*I1%4 == 0) {
2199      I3 = 3*I1/4 ;
2200      J1 = -2*I1+3*I3 ;
2201      if ((2*I1+J1)%3 == 0) {
2202        J2 = (2*I1+J1)/3 ;
2203        J3 = 3*I1-4*J2 ;
2204        S1++;
2205        S2++;
2206      }
2207    }
2208    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
2209      J3 = -I1-2*(I2)+2*I3 ;
2210      S2++;
2211    }
2212  }
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++) {
2215      J3 = I1-(I2)-(I3) ;
2216      S1++;
2217    }
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 ;
2220      S2++;
2221    }
2222  }
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 ;
2226      S2++;
2227    }
2228  }
2229}
2230if ((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 ;
2233    S2++;
2234  }
2235  for (I3=8-2*(1);I3<=floord(2*8+3*1,3);I3++) {
2236    J3 = 8-(I2)-(I3) ;
2237    S1++;
2238    J3 = -(8)-2*(I2)+2*I3 ;
2239    S2++;
2240  }
2241  for (I3=ceild(2*8+3*1+1,3);I3<=min(N1,8-(1));I3++) {
2242    J3 = 8-(I2)-(I3) ;
2243    S1++;
2244  }
2245  if (4%3 == 0) {
2246    for (I3=4*4/3;I3<=floord(13*4/3-1,3);I3++) {
2247      J3 = -(8)-2*(I2)+2*I3 ;
2248      S2++;
2249      J3 = 8-(I2)-(I3) ;
2250      S1++;
2251    }
2252    if (13*8%18 == 0) {
2253      I3 = 13*8/18 ;
2254      J1 = -2*(8)+3*I3 ;
2255      if ((2*8+J1)%3 == 0) {
2256        J2 = (2*8+J1)/3 ;
2257        J3 = 3*8-4*J2 ;
2258        S1++;
2259        S2++;
2260      }
2261    }
2262    for (I3=ceild(13*4/3+1,3);I3<=min(N1,5*4/3);I3++) {
2263      J3 = 8-(I2)-(I3) ;
2264      S1++;
2265      J3 = -(8)-2*(I2)+2*I3 ;
2266      S2++;
2267    }
2268  }
2269  if (3%2 == 0) {
2270    for (I3=8-2*(3/2);I3<=floord(8+2*3/2-1,2);I3++) {
2271      J3 = 8-(I2)-(I3) ;
2272      S1++;
2273    }
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 ;
2276      S2++;
2277      J3 = 8-(I2)-(I3) ;
2278      S1++;
2279    }
2280    if ((2*8+3/2)%3 == 0) {
2281      I3 = (2*8+3/2)/3 ;
2282      J1 = -2*(8)+3*I3 ;
2283      if ((2*8+J1)%3 == 0) {
2284        J2 = (2*8+J1)/3 ;
2285        J3 = 3*8-4*J2 ;
2286        S1++;
2287        S2++;
2288      }
2289    }
2290    for (I3=ceild(2*8+3/2+1,3);I3<=8-(3/2);I3++) {
2291      J3 = 8-(I2)-(I3) ;
2292      S1++;
2293      J3 = -(8)-2*(I2)+2*I3 ;
2294      S2++;
2295    }
2296  }
2297  for (I3=2*2;I3<=floord(6*2-1,2);I3++) {
2298    J3 = 8-(I2)-(I3) ;
2299    S1++;
2300  }
2301  if (3*8%4 == 0) {
2302    I3 = 3*8/4 ;
2303    J1 = -2*(8)+3*I3 ;
2304    if ((2*8+J1)%3 == 0) {
2305      J2 = (2*8+J1)/3 ;
2306      J3 = 3*8-4*J2 ;
2307      S1++;
2308      S2++;
2309    }
2310  }
2311  for (I3=3*2+1;I3<=min(N1,floord(11*2,3));I3++) {
2312    J3 = -(8)-2*(I2)+2*I3 ;
2313    S2++;
2314  }
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++) {
2317      J3 = 8-(I2)-(I3) ;
2318      S1++;
2319    }
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 ;
2322      S2++;
2323    }
2324  }
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++) {
2327      J3 = 8-(I2)-(I3) ;
2328      S1++;
2329    }
2330  }
2331}
2332if (N1 == 6) {
2333  for (I3=ceild(8+2*1,2);I3<=8-2*(1)-1;I3++) {
2334    J3 = -(8)-2*(I2)+2*I3 ;
2335    S2++;
2336  }
2337  for (I3=8-2*(1);I3<=N1;I3++) {
2338    J3 = 8-(I2)-(I3) ;
2339    S1++;
2340    J3 = -(8)-2*(I2)+2*I3 ;
2341    S2++;
2342  }
2343  for (I3=ceild(2*N1,3);I3<=floord(2*N1-1,2);I3++) {
2344    J3 = 8-(I2)-(I3) ;
2345    S1++;
2346  }
2347  J1 = -2*(8)+3*N1 ;
2348  if ((2*8+J1)%3 == 0) {
2349    J2 = (2*8+J1)/3 ;
2350    J3 = 3*8-4*J2 ;
2351    S1++;
2352    S2++;
2353  }
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++) {
2356      J3 = 8-(I2)-(I3) ;
2357      S1++;
2358    }
2359  }
2360}
2361if (N1 == 4) {
2362  for (I3=6-2*(1);I3<=N1;I3++) {
2363    J3 = -(6)-2*(I2)+2*I3 ;
2364    S2++;
2365    J3 = 6-(I2)-(I3) ;
2366    S1++;
2367  }
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++) {
2370      J3 = 6-(I2)-(I3) ;
2371      S1++;
2372    }
2373  }
2374}
2375if (N1 >= 18) {
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 ;
2378    S2++;
2379  }
2380  for (I3=12-2*(1);I3<=min(N1,12-(1));I3++) {
2381    J3 = 12-(I2)-(I3) ;
2382    S1++;
2383  }
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 ;
2387      S2++;
2388    }
2389    for (I3=12-2*I2;I3<=floord(2*12+3*I2,3);I3++) {
2390      J3 = 12-(I2)-(I3) ;
2391      S1++;
2392      J3 = -(12)-2*(I2)+2*I3 ;
2393      S2++;
2394    }
2395    for (I3=ceild(2*12+3*I2+1,3);I3<=min(N1,12-I2);I3++) {
2396      J3 = 12-(I2)-(I3) ;
2397      S1++;
2398    }
2399  }
2400  for (I3=4*2;I3<=floord(13*2-1,3);I3++) {
2401    J3 = -(12)-2*(I2)+2*I3 ;
2402    S2++;
2403    J3 = 12-(I2)-(I3) ;
2404    S1++;
2405  }
2406  if (13*12%18 == 0) {
2407    I3 = 13*12/18 ;
2408    J1 = -2*(12)+3*I3 ;
2409    if ((2*12+J1)%3 == 0) {
2410      J2 = (2*12+J1)/3 ;
2411      J3 = 3*12-4*J2 ;
2412      S1++;
2413      S2++;
2414    }
2415  }
2416  for (I3=ceild(13*2+1,3);I3<=min(N1,5*2);I3++) {
2417    J3 = 12-(I2)-(I3) ;
2418    S1++;
2419    J3 = -(12)-2*(I2)+2*I3 ;
2420    S2++;
2421  }
2422  for (I2=3;I2<=2;I2++) {
2423    for (I3=12-2*I2;I3<=floord(12+2*I2-1,2);I3++) {
2424      J3 = 12-(I2)-(I3) ;
2425      S1++;
2426    }
2427    for (I3=ceild(12+2*I2,2);I3<=floord(2*12+I2-1,3);I3++) {
2428      J3 = -(12)-2*(I2)+2*I3 ;
2429      S2++;
2430      J3 = 12-(I2)-(I3) ;
2431      S1++;
2432    }
2433    if ((2*12+I2)%3 == 0) {
2434      I3 = (2*12+I2)/3 ;
2435      J1 = -2*(12)+3*I3 ;
2436      if ((2*12+J1)%3 == 0) {
2437        J2 = (2*12+J1)/3 ;
2438        J3 = 3*12-4*J2 ;
2439        S1++;
2440        S2++;
2441      }
2442    }
2443    for (I3=ceild(2*12+I2+1,3);I3<=12-I2;I3++) {
2444      J3 = 12-(I2)-(I3) ;
2445      S1++;
2446      J3 = -(12)-2*(I2)+2*I3 ;
2447      S2++;
2448    }
2449  }
2450  if (5%2 == 0) {
2451    for (I3=12-2*(5/2);I3<=floord(12+2*5/2-1,2);I3++) {
2452      J3 = 12-(I2)-(I3) ;
2453      S1++;
2454    }
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 ;
2457      S2++;
2458      J3 = 12-(I2)-(I3) ;
2459      S1++;
2460    }
2461    if ((2*12+5/2)%3 == 0) {
2462      I3 = (2*12+5/2)/3 ;
2463      J1 = -2*(12)+3*I3 ;
2464      if ((2*12+J1)%3 == 0) {
2465        J2 = (2*12+J1)/3 ;
2466        J3 = 3*12-4*J2 ;
2467        S1++;
2468        S2++;
2469      }
2470    }
2471    for (I3=ceild(2*12+5/2+1,3);I3<=12-(5/2);I3++) {
2472      J3 = 12-(I2)-(I3) ;
2473      S1++;
2474      J3 = -(12)-2*(I2)+2*I3 ;
2475      S2++;
2476    }
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 ;
2479      S2++;
2480    }
2481  }
2482  if (11%4 == 0) {
2483    for (I3=2*11/4+1;I3<=3*11/4;I3++) {
2484      J3 = 12-(I2)-(I3) ;
2485      S1++;
2486    }
2487    if ((9*12-1)%12 == 0) {
2488      I3 = (9*12-1)/12 ;
2489      J1 = -2*(12)+3*I3 ;
2490      if ((2*12+J1)%3 == 0) {
2491        J2 = (2*12+J1)/3 ;
2492        J3 = 3*12-4*J2 ;
2493        S1++;
2494        S2++;
2495      }
2496    }
2497    if ((3*12+1)%4 == 0) {
2498      I3 = (3*12+1)/4 ;
2499      J3 = 12-(I2)-(I3) ;
2500      S1++;
2501      J3 = -(12)-2*(I2)+2*I3 ;
2502      S2++;
2503    }
2504    for (I3=3*11/4+2;I3<=min(N1,floord(11*11/4+2,3));I3++) {
2505      J3 = -(12)-2*(I2)+2*I3 ;
2506      S2++;
2507    }
2508  }
2509  for (I3=2*3;I3<=floord(6*3-1,2);I3++) {
2510    J3 = 12-(I2)-(I3) ;
2511    S1++;
2512  }
2513  if (3*12%4 == 0) {
2514    I3 = 3*12/4 ;
2515    J1 = -2*(12)+3*I3 ;
2516    if ((2*12+J1)%3 == 0) {
2517      J2 = (2*12+J1)/3 ;
2518      J3 = 3*12-4*J2 ;
2519      S1++;
2520      S2++;
2521    }
2522  }
2523  for (I3=3*3+1;I3<=min(N1,floord(11*3,3));I3++) {
2524    J3 = -(12)-2*(I2)+2*I3 ;
2525    S2++;
2526  }
2527  for (I2=4;I2<=11;I2++) {
2528    for (I3=max(max(1,ceild(12-I2,2)),12-2*I2);I3<=12-I2;I3++) {
2529      J3 = 12-(I2)-(I3) ;
2530      S1++;
2531    }
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 ;
2534      S2++;
2535    }
2536  }
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 ;
2540      S2++;
2541    }
2542  }
2543}
2544if ((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 ;
2547    S2++;
2548  }
2549  for (I3=12-2*(1);I3<=min(N1,12-(1));I3++) {
2550    J3 = 12-(I2)-(I3) ;
2551    S1++;
2552  }
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 ;
2556      S2++;
2557    }
2558    for (I3=12-2*I2;I3<=floord(2*12+3*I2,3);I3++) {
2559      J3 = 12-(I2)-(I3) ;
2560      S1++;
2561      J3 = -(12)-2*(I2)+2*I3 ;
2562      S2++;
2563    }
2564    for (I3=ceild(2*12+3*I2+1,3);I3<=min(N1,12-I2);I3++) {
2565      J3 = 12-(I2)-(I3) ;
2566      S1++;
2567    }
2568  }
2569  for (I3=4*2;I3<=floord(13*2-1,3);I3++) {
2570    J3 = -(12)-2*(I2)+2*I3 ;
2571    S2++;
2572    J3 = 12-(I2)-(I3) ;
2573    S1++;
2574  }
2575  if (13*12%18 == 0) {
2576    I3 = 13*12/18 ;
2577    J1 = -2*(12)+3*I3 ;
2578    if ((2*12+J1)%3 == 0) {
2579      J2 = (2*12+J1)/3 ;
2580      J3 = 3*12-4*J2 ;
2581      S1++;
2582      S2++;
2583    }
2584  }
2585  for (I3=ceild(13*2+1,3);I3<=min(N1,5*2);I3++) {
2586    J3 = 12-(I2)-(I3) ;
2587    S1++;
2588    J3 = -(12)-2*(I2)+2*I3 ;
2589    S2++;
2590  }
2591  for (I2=3;I2<=2;I2++) {
2592    for (I3=12-2*I2;I3<=floord(12+2*I2-1,2);I3++) {
2593      J3 = 12-(I2)-(I3) ;
2594      S1++;
2595    }
2596    for (I3=ceild(12+2*I2,2);I3<=floord(2*12+I2-1,3);I3++) {
2597      J3 = -(12)-2*(I2)+2*I3 ;
2598      S2++;
2599      J3 = 12-(I2)-(I3) ;
2600      S1++;
2601    }
2602    if ((2*12+I2)%3 == 0) {
2603      I3 = (2*12+I2)/3 ;
2604      J1 = -2*(12)+3*I3 ;
2605      if ((2*12+J1)%3 == 0) {
2606        J2 = (2*12+J1)/3 ;
2607        J3 = 3*12-4*J2 ;
2608        S1++;
2609        S2++;
2610      }
2611    }
2612    for (I3=ceild(2*12+I2+1,3);I3<=12-I2;I3++) {
2613      J3 = 12-(I2)-(I3) ;
2614      S1++;
2615      J3 = -(12)-2*(I2)+2*I3 ;
2616      S2++;
2617    }
2618  }
2619  if (5%2 == 0) {
2620    for (I3=12-2*(5/2);I3<=floord(12+2*5/2-1,2);I3++) {
2621      J3 = 12-(I2)-(I3) ;
2622      S1++;
2623    }
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 ;
2626      S2++;
2627      J3 = 12-(I2)-(I3) ;
2628      S1++;
2629    }
2630    if ((2*12+5/2)%3 == 0) {
2631      I3 = (2*12+5/2)/3 ;
2632      J1 = -2*(12)+3*I3 ;
2633      if ((2*12+J1)%3 == 0) {
2634        J2 = (2*12+J1)/3 ;
2635        J3 = 3*12-4*J2 ;
2636        S1++;
2637        S2++;
2638      }
2639    }
2640    for (I3=ceild(2*12+5/2+1,3);I3<=12-(5/2);I3++) {
2641      J3 = 12-(I2)-(I3) ;
2642      S1++;
2643      J3 = -(12)-2*(I2)+2*I3 ;
2644      S2++;
2645    }
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 ;
2648      S2++;
2649    }
2650  }
2651  if (11%4 == 0) {
2652    for (I3=2*11/4+1;I3<=3*11/4;I3++) {
2653      J3 = 12-(I2)-(I3) ;
2654      S1++;
2655    }
2656    if ((9*12-1)%12 == 0) {
2657      I3 = (9*12-1)/12 ;
2658      J1 = -2*(12)+3*I3 ;
2659      if ((2*12+J1)%3 == 0) {
2660        J2 = (2*12+J1)/3 ;
2661        J3 = 3*12-4*J2 ;
2662        S1++;
2663        S2++;
2664      }
2665    }
2666    if ((3*12+1)%4 == 0) {
2667      I3 = (3*12+1)/4 ;
2668      J3 = 12-(I2)-(I3) ;
2669      S1++;
2670      J3 = -(12)-2*(I2)+2*I3 ;
2671      S2++;
2672    }
2673    for (I3=3*11/4+2;I3<=min(N1,floord(11*11/4+2,3));I3++) {
2674      J3 = -(12)-2*(I2)+2*I3 ;
2675      S2++;
2676    }
2677  }
2678  for (I3=2*3;I3<=floord(6*3-1,2);I3++) {
2679    J3 = 12-(I2)-(I3) ;
2680    S1++;
2681  }
2682  if (3*12%4 == 0) {
2683    I3 = 3*12/4 ;
2684    J1 = -2*(12)+3*I3 ;
2685    if ((2*12+J1)%3 == 0) {
2686      J2 = (2*12+J1)/3 ;
2687      J3 = 3*12-4*J2 ;
2688      S1++;
2689      S2++;
2690    }
2691  }
2692  for (I3=3*3+1;I3<=min(N1,floord(11*3,3));I3++) {
2693    J3 = -(12)-2*(I2)+2*I3 ;
2694    S2++;
2695  }
2696  for (I2=4;I2<=11;I2++) {
2697    for (I3=max(max(1,ceild(12-I2,2)),12-2*I2);I3<=12-I2;I3++) {
2698      J3 = 12-(I2)-(I3) ;
2699      S1++;
2700    }
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 ;
2703      S2++;
2704    }
2705  }
2706}
2707for (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 ;
2711      S2++;
2712    }
2713    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
2714      J3 = I1-(I2)-(I3) ;
2715      S1++;
2716    }
2717  }
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 ;
2721      S2++;
2722    }
2723    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
2724      J3 = I1-(I2)-(I3) ;
2725      S1++;
2726      J3 = -I1-2*(I2)+2*I3 ;
2727      S2++;
2728    }
2729    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
2730      J3 = I1-(I2)-(I3) ;
2731      S1++;
2732    }
2733  }
2734  if (I1%6 == 0) {
2735    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
2736      J3 = -I1-2*(I2)+2*I3 ;
2737      S2++;
2738      J3 = I1-(I2)-(I3) ;
2739      S1++;
2740    }
2741    if (13*I1%18 == 0) {
2742      I3 = 13*I1/18 ;
2743      J1 = -2*I1+3*I3 ;
2744      if ((2*I1+J1)%3 == 0) {
2745        J2 = (2*I1+J1)/3 ;
2746        J3 = 3*I1-4*J2 ;
2747        S1++;
2748        S2++;
2749      }
2750    }
2751    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
2752      J3 = I1-(I2)-(I3) ;
2753      S1++;
2754      J3 = -I1-2*(I2)+2*I3 ;
2755      S2++;
2756    }
2757  }
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++) {
2760      J3 = I1-(I2)-(I3) ;
2761      S1++;
2762    }
2763    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
2764      J3 = -I1-2*(I2)+2*I3 ;
2765      S2++;
2766      J3 = I1-(I2)-(I3) ;
2767      S1++;
2768    }
2769    if ((2*I1+I2)%3 == 0) {
2770      I3 = (2*I1+I2)/3 ;
2771      J1 = -2*I1+3*I3 ;
2772      if ((2*I1+J1)%3 == 0) {
2773        J2 = (2*I1+J1)/3 ;
2774        J3 = 3*I1-4*J2 ;
2775        S1++;
2776        S2++;
2777      }
2778    }
2779    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
2780      J3 = I1-(I2)-(I3) ;
2781      S1++;
2782      J3 = -I1-2*(I2)+2*I3 ;
2783      S2++;
2784    }
2785  }
2786  if ((I1-1)%4 == 0) {
2787    I2 = (I1-1)/4 ;
2788    for (I3=2*I2+1;I3<=3*I2;I3++) {
2789      J3 = I1-(I2)-(I3) ;
2790      S1++;
2791    }
2792    if ((9*I1-1)%12 == 0) {
2793      I3 = (9*I1-1)/12 ;
2794      J1 = -2*I1+3*I3 ;
2795      if ((2*I1+J1)%3 == 0) {
2796        J2 = (2*I1+J1)/3 ;
2797        J3 = 3*I1-4*J2 ;
2798        S1++;
2799        S2++;
2800      }
2801    }
2802    if ((3*I1+1)%4 == 0) {
2803      I3 = (3*I1+1)/4 ;
2804      J3 = I1-(I2)-(I3) ;
2805      S1++;
2806      J3 = -I1-2*(I2)+2*I3 ;
2807      S2++;
2808    }
2809    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
2810      J3 = -I1-2*(I2)+2*I3 ;
2811      S2++;
2812    }
2813  }
2814  if (I1%4 == 0) {
2815    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
2816      J3 = I1-(I2)-(I3) ;
2817      S1++;
2818    }
2819    if (3*I1%4 == 0) {
2820      I3 = 3*I1/4 ;
2821      J1 = -2*I1+3*I3 ;
2822      if ((2*I1+J1)%3 == 0) {
2823        J2 = (2*I1+J1)/3 ;
2824        J3 = 3*I1-4*J2 ;
2825        S1++;
2826        S2++;
2827      }
2828    }
2829    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
2830      J3 = -I1-2*(I2)+2*I3 ;
2831      S2++;
2832    }
2833  }
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++) {
2836      J3 = I1-(I2)-(I3) ;
2837      S1++;
2838    }
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 ;
2841      S2++;
2842    }
2843  }
2844}
2845if ((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 ;
2848    S2++;
2849  }
2850  for (I3=9-2*(1);I3<=floord(2*9+3*1,3);I3++) {
2851    J3 = 9-(I2)-(I3) ;
2852    S1++;
2853    J3 = -(9)-2*(I2)+2*I3 ;
2854    S2++;
2855  }
2856  for (I3=ceild(2*9+3*1+1,3);I3<=min(N1,9-(1));I3++) {
2857    J3 = 9-(I2)-(I3) ;
2858    S1++;
2859  }
2860  if (3%2 == 0) {
2861    for (I3=4*3/2;I3<=floord(13*3/2-1,3);I3++) {
2862      J3 = -(9)-2*(I2)+2*I3 ;
2863      S2++;
2864      J3 = 9-(I2)-(I3) ;
2865      S1++;
2866    }
2867    if (13*9%18 == 0) {
2868      I3 = 13*9/18 ;
2869      J1 = -2*(9)+3*I3 ;
2870      if ((2*9+J1)%3 == 0) {
2871        J2 = (2*9+J1)/3 ;
2872        J3 = 3*9-4*J2 ;
2873        S1++;
2874        S2++;
2875      }
2876    }
2877    for (I3=ceild(13*3/2+1,3);I3<=min(N1,5*3/2);I3++) {
2878      J3 = 9-(I2)-(I3) ;
2879      S1++;
2880      J3 = -(9)-2*(I2)+2*I3 ;
2881      S2++;
2882    }
2883  }
2884  for (I2=max(2,-N1+10);I2<=1;I2++) {
2885    for (I3=9-2*I2;I3<=floord(9+2*I2-1,2);I3++) {
2886      J3 = 9-(I2)-(I3) ;
2887      S1++;
2888    }
2889    for (I3=ceild(9+2*I2,2);I3<=floord(2*9+I2-1,3);I3++) {
2890      J3 = -(9)-2*(I2)+2*I3 ;
2891      S2++;
2892      J3 = 9-(I2)-(I3) ;
2893      S1++;
2894    }
2895    if ((2*9+I2)%3 == 0) {
2896      I3 = (2*9+I2)/3 ;
2897      J1 = -2*(9)+3*I3 ;
2898      if ((2*9+J1)%3 == 0) {
2899        J2 = (2*9+J1)/3 ;
2900        J3 = 3*9-4*J2 ;
2901        S1++;
2902        S2++;
2903      }
2904    }
2905    for (I3=ceild(2*9+I2+1,3);I3<=9-I2;I3++) {
2906      J3 = 9-(I2)-(I3) ;
2907      S1++;
2908      J3 = -(9)-2*(I2)+2*I3 ;
2909      S2++;
2910    }
2911  }
2912  for (I3=2*2+1;I3<=3*2;I3++) {
2913    J3 = 9-(I2)-(I3) ;
2914    S1++;
2915  }
2916  if ((9*9-1)%12 == 0) {
2917    I3 = (9*9-1)/12 ;
2918    J1 = -2*(9)+3*I3 ;
2919    if ((2*9+J1)%3 == 0) {
2920      J2 = (2*9+J1)/3 ;
2921      J3 = 3*9-4*J2 ;
2922      S1++;
2923      S2++;
2924    }
2925  }
2926  if ((3*9+1)%4 == 0) {
2927    I3 = (3*9+1)/4 ;
2928    J3 = 9-(I2)-(I3) ;
2929    S1++;
2930    J3 = -(9)-2*(I2)+2*I3 ;
2931    S2++;
2932  }
2933  for (I3=3*2+2;I3<=min(N1,floord(11*2+2,3));I3++) {
2934    J3 = -(9)-2*(I2)+2*I3 ;
2935    S2++;
2936  }
2937  if (9%4 == 0) {
2938    for (I3=2*9/4;I3<=floord(6*9/4-1,2);I3++) {
2939      J3 = 9-(I2)-(I3) ;
2940      S1++;
2941    }
2942    if (3*9%4 == 0) {
2943      I3 = 3*9/4 ;
2944      J1 = -2*(9)+3*I3 ;
2945      if ((2*9+J1)%3 == 0) {
2946        J2 = (2*9+J1)/3 ;
2947        J3 = 3*9-4*J2 ;
2948        S1++;
2949        S2++;
2950      }
2951    }
2952    for (I3=3*9/4+1;I3<=min(N1,floord(11*9/4,3));I3++) {
2953      J3 = -(9)-2*(I2)+2*I3 ;
2954      S2++;
2955    }
2956  }
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++) {
2959      J3 = 9-(I2)-(I3) ;
2960      S1++;
2961    }
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 ;
2964      S2++;
2965    }
2966  }
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++) {
2969      J3 = 9-(I2)-(I3) ;
2970      S1++;
2971    }
2972  }
2973}
2974if (N1 == 8) {
2975  for (I3=ceild(9+2*1,2);I3<=9-2*(1)-1;I3++) {
2976    J3 = -(9)-2*(I2)+2*I3 ;
2977    S2++;
2978  }
2979  for (I3=9-2*(1);I3<=floord(2*9+3*1,3);I3++) {
2980    J3 = 9-(I2)-(I3) ;
2981    S1++;
2982    J3 = -(9)-2*(I2)+2*I3 ;
2983    S2++;
2984  }
2985  for (I3=ceild(2*9+3*1+1,3);I3<=min(N1,9-(1));I3++) {
2986    J3 = 9-(I2)-(I3) ;
2987    S1++;
2988  }
2989  if (3%2 == 0) {
2990    for (I3=4*3/2;I3<=floord(13*3/2-1,3);I3++) {
2991      J3 = -(9)-2*(I2)+2*I3 ;
2992      S2++;
2993      J3 = 9-(I2)-(I3) ;
2994      S1++;
2995    }
2996    if (13*9%18 == 0) {
2997      I3 = 13*9/18 ;
2998      J1 = -2*(9)+3*I3 ;
2999      if ((2*9+J1)%3 == 0) {
3000        J2 = (2*9+J1)/3 ;
3001        J3 = 3*9-4*J2 ;
3002        S1++;
3003        S2++;
3004      }
3005    }
3006    for (I3=ceild(13*3/2+1,3);I3<=min(N1,5*3/2);I3++) {
3007      J3 = 9-(I2)-(I3) ;
3008      S1++;
3009      J3 = -(9)-2*(I2)+2*I3 ;
3010      S2++;
3011    }
3012  }
3013  for (I3=2*2+1;I3<=3*2;I3++) {
3014    J3 = 9-(I2)-(I3) ;
3015    S1++;
3016  }
3017  if ((9*9-1)%12 == 0) {
3018    I3 = (9*9-1)/12 ;
3019    J1 = -2*(9)+3*I3 ;
3020    if ((2*9+J1)%3 == 0) {
3021      J2 = (2*9+J1)/3 ;
3022      J3 = 3*9-4*J2 ;
3023      S1++;
3024      S2++;
3025    }
3026  }
3027  if ((3*9+1)%4 == 0) {
3028    I3 = (3*9+1)/4 ;
3029    J3 = 9-(I2)-(I3) ;
3030    S1++;
3031    J3 = -(9)-2*(I2)+2*I3 ;
3032    S2++;
3033  }
3034  for (I3=3*2+2;I3<=min(N1,floord(11*2+2,3));I3++) {
3035    J3 = -(9)-2*(I2)+2*I3 ;
3036    S2++;
3037  }
3038  if (9%4 == 0) {
3039    for (I3=2*9/4;I3<=floord(6*9/4-1,2);I3++) {
3040      J3 = 9-(I2)-(I3) ;
3041      S1++;
3042    }
3043    if (3*9%4 == 0) {
3044      I3 = 3*9/4 ;
3045      J1 = -2*(9)+3*I3 ;
3046      if ((2*9+J1)%3 == 0) {
3047        J2 = (2*9+J1)/3 ;
3048        J3 = 3*9-4*J2 ;
3049        S1++;
3050        S2++;
3051      }
3052    }
3053    for (I3=3*9/4+1;I3<=min(N1,floord(11*9/4,3));I3++) {
3054      J3 = -(9)-2*(I2)+2*I3 ;
3055      S2++;
3056    }
3057  }
3058  for (I3=max(max(1,ceild(9-(3),2)),9-2*(3));I3<=9-(3);I3++) {
3059    J3 = 9-(I2)-(I3) ;
3060    S1++;
3061  }
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 ;
3064    S2++;
3065  }
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++) {
3068      J3 = 9-(I2)-(I3) ;
3069      S1++;
3070    }
3071  }
3072}
3073for (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 ;
3077      S2++;
3078    }
3079    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
3080      J3 = I1-(I2)-(I3) ;
3081      S1++;
3082      J3 = -I1-2*(I2)+2*I3 ;
3083      S2++;
3084    }
3085    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
3086      J3 = I1-(I2)-(I3) ;
3087      S1++;
3088    }
3089  }
3090  if (I1%6 == 0) {
3091    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
3092      J3 = -I1-2*(I2)+2*I3 ;
3093      S2++;
3094      J3 = I1-(I2)-(I3) ;
3095      S1++;
3096    }
3097    if (13*I1%18 == 0) {
3098      I3 = 13*I1/18 ;
3099      J1 = -2*I1+3*I3 ;
3100      if ((2*I1+J1)%3 == 0) {
3101        J2 = (2*I1+J1)/3 ;
3102        J3 = 3*I1-4*J2 ;
3103        S1++;
3104        S2++;
3105      }
3106    }
3107    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
3108      J3 = I1-(I2)-(I3) ;
3109      S1++;
3110      J3 = -I1-2*(I2)+2*I3 ;
3111      S2++;
3112    }
3113  }
3114  if (I1%4 == 0) {
3115    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
3116      J3 = I1-(I2)-(I3) ;
3117      S1++;
3118    }
3119    if (3*I1%4 == 0) {
3120      I3 = 3*I1/4 ;
3121      J1 = -2*I1+3*I3 ;
3122      if ((2*I1+J1)%3 == 0) {
3123        J2 = (2*I1+J1)/3 ;
3124        J3 = 3*I1-4*J2 ;
3125        S1++;
3126        S2++;
3127      }
3128    }
3129    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
3130      J3 = -I1-2*(I2)+2*I3 ;
3131      S2++;
3132    }
3133  }
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++) {
3136      J3 = I1-(I2)-(I3) ;
3137      S1++;
3138    }
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 ;
3141      S2++;
3142    }
3143  }
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++) {
3146      J3 = I1-(I2)-(I3) ;
3147      S1++;
3148    }
3149  }
3150}
3151if (N1 >= 20) {
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 ;
3154    S2++;
3155  }
3156  for (I3=13-2*(1);I3<=min(N1,13-(1));I3++) {
3157    J3 = 13-(I2)-(I3) ;
3158    S1++;
3159  }
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 ;
3163      S2++;
3164    }
3165    for (I3=13-2*I2;I3<=floord(2*13+3*I2,3);I3++) {
3166      J3 = 13-(I2)-(I3) ;
3167      S1++;
3168      J3 = -(13)-2*(I2)+2*I3 ;
3169      S2++;
3170    }
3171    for (I3=ceild(2*13+3*I2+1,3);I3<=min(N1,13-I2);I3++) {
3172      J3 = 13-(I2)-(I3) ;
3173      S1++;
3174    }
3175  }
3176  for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) {
3177    J3 = -(13)-2*(I2)+2*I3 ;
3178    S2++;
3179    J3 = 13-(I2)-(I3) ;
3180    S1++;
3181  }
3182  if ((13*13-1)%18 == 0) {
3183    I3 = (13*13-1)/18 ;
3184    J1 = -2*(13)+3*I3 ;
3185    if ((2*13+J1)%3 == 0) {
3186      J2 = (2*13+J1)/3 ;
3187      J3 = 3*13-4*J2 ;
3188      S1++;
3189      S2++;
3190    }
3191  }
3192  for (I3=ceild(13*2+3,3);I3<=floord(15*2+2,3);I3++) {
3193    J3 = 13-(I2)-(I3) ;
3194    S1++;
3195    J3 = -(13)-2*(I2)+2*I3 ;
3196    S2++;
3197  }
3198  if ((5*13+1)%6 == 0) {
3199    I3 = (5*13+1)/6 ;
3200    J3 = 13-(I2)-(I3) ;
3201    S1++;
3202  }
3203  if (13%6 == 0) {
3204    for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) {
3205      J3 = -(13)-2*(I2)+2*I3 ;
3206      S2++;
3207      J3 = 13-(I2)-(I3) ;
3208      S1++;
3209    }
3210    if (13*13%18 == 0) {
3211      I3 = 13*13/18 ;
3212      J1 = -2*(13)+3*I3 ;
3213      if ((2*13+J1)%3 == 0) {
3214        J2 = (2*13+J1)/3 ;
3215        J3 = 3*13-4*J2 ;
3216        S1++;
3217        S2++;
3218      }
3219    }
3220    for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) {
3221      J3 = 13-(I2)-(I3) ;
3222      S1++;
3223      J3 = -(13)-2*(I2)+2*I3 ;
3224      S2++;
3225    }
3226  }
3227  for (I2=3;I2<=2;I2++) {
3228    for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
3229      J3 = 13-(I2)-(I3) ;
3230      S1++;
3231    }
3232    for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
3233      J3 = -(13)-2*(I2)+2*I3 ;
3234      S2++;
3235      J3 = 13-(I2)-(I3) ;
3236      S1++;
3237    }
3238    if ((2*13+I2)%3 == 0) {
3239      I3 = (2*13+I2)/3 ;
3240      J1 = -2*(13)+3*I3 ;
3241      if ((2*13+J1)%3 == 0) {
3242        J2 = (2*13+J1)/3 ;
3243        J3 = 3*13-4*J2 ;
3244        S1++;
3245        S2++;
3246      }
3247    }
3248    for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) {
3249      J3 = 13-(I2)-(I3) ;
3250      S1++;
3251      J3 = -(13)-2*(I2)+2*I3 ;
3252      S2++;
3253    }
3254  }
3255  for (I2=3;I2<=2;I2++) {
3256    for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
3257      J3 = 13-(I2)-(I3) ;
3258      S1++;
3259    }
3260    for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
3261      J3 = -(13)-2*(I2)+2*I3 ;
3262      S2++;
3263      J3 = 13-(I2)-(I3) ;
3264      S1++;
3265    }
3266    if ((2*13+I2)%3 == 0) {
3267      I3 = (2*13+I2)/3 ;
3268      J1 = -2*(13)+3*I3 ;
3269      if ((2*13+J1)%3 == 0) {
3270        J2 = (2*13+J1)/3 ;
3271        J3 = 3*13-4*J2 ;
3272        S1++;
3273        S2++;
3274      }
3275    }
3276    for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) {
3277      J3 = 13-(I2)-(I3) ;
3278      S1++;
3279      J3 = -(13)-2*(I2)+2*I3 ;
3280      S2++;
3281    }
3282    for (I3=13-I2+1;I3<=min(N1,floord(2*13+3*I2,3));I3++) {
3283      J3 = -(13)-2*(I2)+2*I3 ;
3284      S2++;
3285    }
3286  }
3287  for (I3=2*3+1;I3<=3*3;I3++) {
3288    J3 = 13-(I2)-(I3) ;
3289    S1++;
3290  }
3291  if ((9*13-1)%12 == 0) {
3292    I3 = (9*13-1)/12 ;
3293    J1 = -2*(13)+3*I3 ;
3294    if ((2*13+J1)%3 == 0) {
3295      J2 = (2*13+J1)/3 ;
3296      J3 = 3*13-4*J2 ;
3297      S1++;
3298      S2++;
3299    }
3300  }
3301  if ((3*13+1)%4 == 0) {
3302    I3 = (3*13+1)/4 ;
3303    J3 = 13-(I2)-(I3) ;
3304    S1++;
3305    J3 = -(13)-2*(I2)+2*I3 ;
3306    S2++;
3307  }
3308  for (I3=3*3+2;I3<=min(N1,floord(11*3+2,3));I3++) {
3309    J3 = -(13)-2*(I2)+2*I3 ;
3310    S2++;
3311  }
3312  if (13%4 == 0) {
3313    for (I3=2*13/4;I3<=floord(6*13/4-1,2);I3++) {
3314      J3 = 13-(I2)-(I3) ;
3315      S1++;
3316    }
3317    if (3*13%4 == 0) {
3318      I3 = 3*13/4 ;
3319      J1 = -2*(13)+3*I3 ;
3320      if ((2*13+J1)%3 == 0) {
3321        J2 = (2*13+J1)/3 ;
3322        J3 = 3*13-4*J2 ;
3323        S1++;
3324        S2++;
3325      }
3326    }
3327    for (I3=3*13/4+1;I3<=min(N1,floord(11*13/4,3));I3++) {
3328      J3 = -(13)-2*(I2)+2*I3 ;
3329      S2++;
3330    }
3331  }
3332  for (I2=4;I2<=12;I2++) {
3333    for (I3=max(max(1,ceild(13-I2,2)),13-2*I2);I3<=13-I2;I3++) {
3334      J3 = 13-(I2)-(I3) ;
3335      S1++;
3336    }
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 ;
3339      S2++;
3340    }
3341  }
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 ;
3345      S2++;
3346    }
3347  }
3348}
3349if ((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 ;
3352    S2++;
3353  }
3354  for (I3=13-2*(1);I3<=min(N1,13-(1));I3++) {
3355    J3 = 13-(I2)-(I3) ;
3356    S1++;
3357  }
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 ;
3361      S2++;
3362    }
3363    for (I3=13-2*I2;I3<=floord(2*13+3*I2,3);I3++) {
3364      J3 = 13-(I2)-(I3) ;
3365      S1++;
3366      J3 = -(13)-2*(I2)+2*I3 ;
3367      S2++;
3368    }
3369    for (I3=ceild(2*13+3*I2+1,3);I3<=min(N1,13-I2);I3++) {
3370      J3 = 13-(I2)-(I3) ;
3371      S1++;
3372    }
3373  }
3374  for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) {
3375    J3 = -(13)-2*(I2)+2*I3 ;
3376    S2++;
3377    J3 = 13-(I2)-(I3) ;
3378    S1++;
3379  }
3380  if ((13*13-1)%18 == 0) {
3381    I3 = (13*13-1)/18 ;
3382    J1 = -2*(13)+3*I3 ;
3383    if ((2*13+J1)%3 == 0) {
3384      J2 = (2*13+J1)/3 ;
3385      J3 = 3*13-4*J2 ;
3386      S1++;
3387      S2++;
3388    }
3389  }
3390  for (I3=ceild(13*2+3,3);I3<=floord(15*2+2,3);I3++) {
3391    J3 = 13-(I2)-(I3) ;
3392    S1++;
3393    J3 = -(13)-2*(I2)+2*I3 ;
3394    S2++;
3395  }
3396  if ((5*13+1)%6 == 0) {
3397    I3 = (5*13+1)/6 ;
3398    J3 = 13-(I2)-(I3) ;
3399    S1++;
3400  }
3401  if (13%6 == 0) {
3402    for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) {
3403      J3 = -(13)-2*(I2)+2*I3 ;
3404      S2++;
3405      J3 = 13-(I2)-(I3) ;
3406      S1++;
3407    }
3408    if (13*13%18 == 0) {
3409      I3 = 13*13/18 ;
3410      J1 = -2*(13)+3*I3 ;
3411      if ((2*13+J1)%3 == 0) {
3412        J2 = (2*13+J1)/3 ;
3413        J3 = 3*13-4*J2 ;
3414        S1++;
3415        S2++;
3416      }
3417    }
3418    for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) {
3419      J3 = 13-(I2)-(I3) ;
3420      S1++;
3421      J3 = -(13)-2*(I2)+2*I3 ;
3422      S2++;
3423    }
3424  }
3425  for (I2=3;I2<=2;I2++) {
3426    for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
3427      J3 = 13-(I2)-(I3) ;
3428      S1++;
3429    }
3430    for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
3431      J3 = -(13)-2*(I2)+2*I3 ;
3432      S2++;
3433      J3 = 13-(I2)-(I3) ;
3434      S1++;
3435    }
3436    if ((2*13+I2)%3 == 0) {
3437      I3 = (2*13+I2)/3 ;
3438      J1 = -2*(13)+3*I3 ;
3439      if ((2*13+J1)%3 == 0) {
3440        J2 = (2*13+J1)/3 ;
3441        J3 = 3*13-4*J2 ;
3442        S1++;
3443        S2++;
3444      }
3445    }
3446    for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) {
3447      J3 = 13-(I2)-(I3) ;
3448      S1++;
3449      J3 = -(13)-2*(I2)+2*I3 ;
3450      S2++;
3451    }
3452  }
3453  for (I2=3;I2<=2;I2++) {
3454    for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
3455      J3 = 13-(I2)-(I3) ;
3456      S1++;
3457    }
3458    for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
3459      J3 = -(13)-2*(I2)+2*I3 ;
3460      S2++;
3461      J3 = 13-(I2)-(I3) ;
3462      S1++;
3463    }
3464    if ((2*13+I2)%3 == 0) {
3465      I3 = (2*13+I2)/3 ;
3466      J1 = -2*(13)+3*I3 ;
3467      if ((2*13+J1)%3 == 0) {
3468        J2 = (2*13+J1)/3 ;
3469        J3 = 3*13-4*J2 ;
3470        S1++;
3471        S2++;
3472      }
3473    }
3474    for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) {
3475      J3 = 13-(I2)-(I3) ;
3476      S1++;
3477      J3 = -(13)-2*(I2)+2*I3 ;
3478      S2++;
3479    }
3480    for (I3=13-I2+1;I3<=min(N1,floord(2*13+3*I2,3));I3++) {
3481      J3 = -(13)-2*(I2)+2*I3 ;
3482      S2++;
3483    }
3484  }
3485  for (I3=2*3+1;I3<=3*3;I3++) {
3486    J3 = 13-(I2)-(I3) ;
3487    S1++;
3488  }
3489  if ((9*13-1)%12 == 0) {
3490    I3 = (9*13-1)/12 ;
3491    J1 = -2*(13)+3*I3 ;
3492    if ((2*13+J1)%3 == 0) {
3493      J2 = (2*13+J1)/3 ;
3494      J3 = 3*13-4*J2 ;
3495      S1++;
3496      S2++;
3497    }
3498  }
3499  if ((3*13+1)%4 == 0) {
3500    I3 = (3*13+1)/4 ;
3501    J3 = 13-(I2)-(I3) ;
3502    S1++;
3503    J3 = -(13)-2*(I2)+2*I3 ;
3504    S2++;
3505  }
3506  for (I3=3*3+2;I3<=min(N1,floord(11*3+2,3));I3++) {
3507    J3 = -(13)-2*(I2)+2*I3 ;
3508    S2++;
3509  }
3510  if (13%4 == 0) {
3511    for (I3=2*13/4;I3<=floord(6*13/4-1,2);I3++) {
3512      J3 = 13-(I2)-(I3) ;
3513      S1++;
3514    }
3515    if (3*13%4 == 0) {
3516      I3 = 3*13/4 ;
3517      J1 = -2*(13)+3*I3 ;
3518      if ((2*13+J1)%3 == 0) {
3519        J2 = (2*13+J1)/3 ;
3520        J3 = 3*13-4*J2 ;
3521        S1++;
3522        S2++;
3523      }
3524    }
3525    for (I3=3*13/4+1;I3<=min(N1,floord(11*13/4,3));I3++) {
3526      J3 = -(13)-2*(I2)+2*I3 ;
3527      S2++;
3528    }
3529  }
3530  for (I2=4;I2<=12;I2++) {
3531    for (I3=max(max(1,ceild(13-I2,2)),13-2*I2);I3<=13-I2;I3++) {
3532      J3 = 13-(I2)-(I3) ;
3533      S1++;
3534    }
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 ;
3537      S2++;
3538    }
3539  }
3540}
3541for (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 ;
3545      S2++;
3546    }
3547    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
3548      J3 = I1-(I2)-(I3) ;
3549      S1++;
3550    }
3551  }
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 ;
3555      S2++;
3556    }
3557    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
3558      J3 = I1-(I2)-(I3) ;
3559      S1++;
3560      J3 = -I1-2*(I2)+2*I3 ;
3561      S2++;
3562    }
3563    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
3564      J3 = I1-(I2)-(I3) ;
3565      S1++;
3566    }
3567  }
3568  if (I1%6 == 0) {
3569    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
3570      J3 = -I1-2*(I2)+2*I3 ;
3571      S2++;
3572      J3 = I1-(I2)-(I3) ;
3573      S1++;
3574    }
3575    if (13*I1%18 == 0) {
3576      I3 = 13*I1/18 ;
3577      J1 = -2*I1+3*I3 ;
3578      if ((2*I1+J1)%3 == 0) {
3579        J2 = (2*I1+J1)/3 ;
3580        J3 = 3*I1-4*J2 ;
3581        S1++;
3582        S2++;
3583      }
3584    }
3585    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
3586      J3 = I1-(I2)-(I3) ;
3587      S1++;
3588      J3 = -I1-2*(I2)+2*I3 ;
3589      S2++;
3590    }
3591  }
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++) {
3594      J3 = I1-(I2)-(I3) ;
3595      S1++;
3596    }
3597    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
3598      J3 = -I1-2*(I2)+2*I3 ;
3599      S2++;
3600      J3 = I1-(I2)-(I3) ;
3601      S1++;
3602    }
3603    if ((2*I1+I2)%3 == 0) {
3604      I3 = (2*I1+I2)/3 ;
3605      J1 = -2*I1+3*I3 ;
3606      if ((2*I1+J1)%3 == 0) {
3607        J2 = (2*I1+J1)/3 ;
3608        J3 = 3*I1-4*J2 ;
3609        S1++;
3610        S2++;
3611      }
3612    }
3613    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
3614      J3 = I1-(I2)-(I3) ;
3615      S1++;
3616      J3 = -I1-2*(I2)+2*I3 ;
3617      S2++;
3618    }
3619  }
3620  if ((I1-1)%4 == 0) {
3621    I2 = (I1-1)/4 ;
3622    for (I3=2*I2+1;I3<=3*I2;I3++) {
3623      J3 = I1-(I2)-(I3) ;
3624      S1++;
3625    }
3626    if ((9*I1-1)%12 == 0) {
3627      I3 = (9*I1-1)/12 ;
3628      J1 = -2*I1+3*I3 ;
3629      if ((2*I1+J1)%3 == 0) {
3630        J2 = (2*I1+J1)/3 ;
3631        J3 = 3*I1-4*J2 ;
3632        S1++;
3633        S2++;
3634      }
3635    }
3636    if ((3*I1+1)%4 == 0) {
3637      I3 = (3*I1+1)/4 ;
3638      J3 = I1-(I2)-(I3) ;
3639      S1++;
3640      J3 = -I1-2*(I2)+2*I3 ;
3641      S2++;
3642    }
3643    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
3644      J3 = -I1-2*(I2)+2*I3 ;
3645      S2++;
3646    }
3647  }
3648  if (I1%4 == 0) {
3649    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
3650      J3 = I1-(I2)-(I3) ;
3651      S1++;
3652    }
3653    if (3*I1%4 == 0) {
3654      I3 = 3*I1/4 ;
3655      J1 = -2*I1+3*I3 ;
3656      if ((2*I1+J1)%3 == 0) {
3657        J2 = (2*I1+J1)/3 ;
3658        J3 = 3*I1-4*J2 ;
3659        S1++;
3660        S2++;
3661      }
3662    }
3663    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
3664      J3 = -I1-2*(I2)+2*I3 ;
3665      S2++;
3666    }
3667  }
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++) {
3670      J3 = I1-(I2)-(I3) ;
3671      S1++;
3672    }
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 ;
3675      S2++;
3676    }
3677  }
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++) {
3680      J3 = I1-(I2)-(I3) ;
3681      S1++;
3682    }
3683  }
3684}
3685if (N1 == 8) {
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 ;
3688    S2++;
3689  }
3690  for (I3=10-2*(1);I3<=min(N1,10-(1));I3++) {
3691    J3 = 10-(I2)-(I3) ;
3692    S1++;
3693  }
3694  if (5%3 == 0) {
3695    for (I3=4*5/3;I3<=floord(13*5/3-1,3);I3++) {
3696      J3 = -(10)-2*(I2)+2*I3 ;
3697      S2++;
3698      J3 = 10-(I2)-(I3) ;
3699      S1++;
3700    }
3701    if (13*10%18 == 0) {
3702      I3 = 13*10/18 ;
3703      J1 = -2*(10)+3*I3 ;
3704      if ((2*10+J1)%3 == 0) {
3705        J2 = (2*10+J1)/3 ;
3706        J3 = 3*10-4*J2 ;
3707        S1++;
3708        S2++;
3709      }
3710    }
3711    for (I3=ceild(13*5/3+1,3);I3<=min(N1,5*5/3);I3++) {
3712      J3 = 10-(I2)-(I3) ;
3713      S1++;
3714      J3 = -(10)-2*(I2)+2*I3 ;
3715      S2++;
3716    }
3717  }
3718  for (I3=10-2*(2);I3<=floord(10+2*2-1,2);I3++) {
3719    J3 = 10-(I2)-(I3) ;
3720    S1++;
3721  }
3722  for (I3=ceild(10+2*2,2);I3<=floord(2*10+2-1,3);I3++) {
3723    J3 = -(10)-2*(I2)+2*I3 ;
3724    S2++;
3725    J3 = 10-(I2)-(I3) ;
3726    S1++;
3727  }
3728  if ((2*10+2)%3 == 0) {
3729    I3 = (2*10+2)/3 ;
3730    J1 = -2*(10)+3*I3 ;
3731    if ((2*10+J1)%3 == 0) {
3732      J2 = (2*10+J1)/3 ;
3733      J3 = 3*10-4*J2 ;
3734      S1++;
3735      S2++;
3736    }
3737  }
3738  for (I3=ceild(2*10+2+1,3);I3<=N1;I3++) {
3739    J3 = 10-(I2)-(I3) ;
3740    S1++;
3741    J3 = -(10)-2*(I2)+2*I3 ;
3742    S2++;
3743  }
3744  for (I3=max(max(1,ceild(10-(3),2)),10-2*(3));I3<=10-(3);I3++) {
3745    J3 = 10-(I2)-(I3) ;
3746    S1++;
3747  }
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 ;
3750    S2++;
3751  }
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++) {
3754      J3 = 10-(I2)-(I3) ;
3755      S1++;
3756    }
3757  }
3758}
3759for (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 ;
3763      S2++;
3764    }
3765    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
3766      J3 = I1-(I2)-(I3) ;
3767      S1++;
3768      J3 = -I1-2*(I2)+2*I3 ;
3769      S2++;
3770    }
3771    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
3772      J3 = I1-(I2)-(I3) ;
3773      S1++;
3774    }
3775  }
3776  if (I1%6 == 0) {
3777    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
3778      J3 = -I1-2*(I2)+2*I3 ;
3779      S2++;
3780      J3 = I1-(I2)-(I3) ;
3781      S1++;
3782    }
3783    if (13*I1%18 == 0) {
3784      I3 = 13*I1/18 ;
3785      J1 = -2*I1+3*I3 ;
3786      if ((2*I1+J1)%3 == 0) {
3787        J2 = (2*I1+J1)/3 ;
3788        J3 = 3*I1-4*J2 ;
3789        S1++;
3790        S2++;
3791      }
3792    }
3793    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
3794      J3 = I1-(I2)-(I3) ;
3795      S1++;
3796      J3 = -I1-2*(I2)+2*I3 ;
3797      S2++;
3798    }
3799  }
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++) {
3802      J3 = I1-(I2)-(I3) ;
3803      S1++;
3804    }
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 ;
3807      S2++;
3808    }
3809  }
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++) {
3812      J3 = I1-(I2)-(I3) ;
3813      S1++;
3814    }
3815  }
3816}
3817if (N1 == 8) {
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 ;
3820    S2++;
3821  }
3822  for (I3=ceild(-5*(2)+3*N1,2);I3<=floord(3*2+3*N1-2,4);I3++) {
3823    J3 = 11-(I2)-(I3) ;
3824    S1++;
3825  }
3826  for (I3=ceild(3*2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
3827    J3 = -(11)-2*(I2)+2*I3 ;
3828    S2++;
3829    J3 = 11-(I2)-(I3) ;
3830    S1++;
3831  }
3832  J1 = -2*(11)+3*N1 ;
3833  if ((2*11+J1)%3 == 0) {
3834    J2 = (2*11+J1)/3 ;
3835    J3 = 3*11-4*J2 ;
3836    S1++;
3837    S2++;
3838  }
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++) {
3841      J3 = 11-(I2)-(I3) ;
3842      S1++;
3843    }
3844  }
3845}
3846for (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 ;
3850      S2++;
3851    }
3852    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
3853      J3 = I1-(I2)-(I3) ;
3854      S1++;
3855    }
3856  }
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 ;
3860      S2++;
3861    }
3862    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
3863      J3 = I1-(I2)-(I3) ;
3864      S1++;
3865      J3 = -I1-2*(I2)+2*I3 ;
3866      S2++;
3867    }
3868    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
3869      J3 = I1-(I2)-(I3) ;
3870      S1++;
3871    }
3872  }
3873  if (I1%7 == 0) {
3874    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
3875      J3 = -I1-2*(I2)+2*I3 ;
3876      S2++;
3877    }
3878    if (5*I1%7 == 0) {
3879      I3 = 5*I1/7 ;
3880      J1 = -2*I1+3*I3 ;
3881      if ((2*I1+J1)%3 == 0) {
3882        J2 = (2*I1+J1)/3 ;
3883        J3 = 3*I1-4*J2 ;
3884        S1++;
3885        S2++;
3886      }
3887    }
3888    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
3889      J3 = I1-(I2)-(I3) ;
3890      S1++;
3891      J3 = -I1-2*(I2)+2*I3 ;
3892      S2++;
3893    }
3894    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
3895      J3 = I1-(I2)-(I3) ;
3896      S1++;
3897    }
3898  }
3899  if ((I1-1)%6 == 0) {
3900    I2 = (I1-1)/6 ;
3901    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
3902      J3 = -I1-2*(I2)+2*I3 ;
3903      S2++;
3904      J3 = I1-(I2)-(I3) ;
3905      S1++;
3906    }
3907    if ((13*I1-1)%18 == 0) {
3908      I3 = (13*I1-1)/18 ;
3909      J1 = -2*I1+3*I3 ;
3910      if ((2*I1+J1)%3 == 0) {
3911        J2 = (2*I1+J1)/3 ;
3912        J3 = 3*I1-4*J2 ;
3913        S1++;
3914        S2++;
3915      }
3916    }
3917    for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
3918      J3 = I1-(I2)-(I3) ;
3919      S1++;
3920      J3 = -I1-2*(I2)+2*I3 ;
3921      S2++;
3922    }
3923    if ((5*I1+1)%6 == 0) {
3924      I3 = (5*I1+1)/6 ;
3925      J3 = I1-(I2)-(I3) ;
3926      S1++;
3927    }
3928  }
3929  if (I1%6 == 0) {
3930    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
3931      J3 = -I1-2*(I2)+2*I3 ;
3932      S2++;
3933      J3 = I1-(I2)-(I3) ;
3934      S1++;
3935    }
3936    if (13*I1%18 == 0) {
3937      I3 = 13*I1/18 ;
3938      J1 = -2*I1+3*I3 ;
3939      if ((2*I1+J1)%3 == 0) {
3940        J2 = (2*I1+J1)/3 ;
3941        J3 = 3*I1-4*J2 ;
3942        S1++;
3943        S2++;
3944      }
3945    }
3946    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
3947      J3 = I1-(I2)-(I3) ;
3948      S1++;
3949      J3 = -I1-2*(I2)+2*I3 ;
3950      S2++;
3951    }
3952  }
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++) {
3955      J3 = I1-(I2)-(I3) ;
3956      S1++;
3957    }
3958    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
3959      J3 = -I1-2*(I2)+2*I3 ;
3960      S2++;
3961      J3 = I1-(I2)-(I3) ;
3962      S1++;
3963    }
3964    if ((2*I1+I2)%3 == 0) {
3965      I3 = (2*I1+I2)/3 ;
3966      J1 = -2*I1+3*I3 ;
3967      if ((2*I1+J1)%3 == 0) {
3968        J2 = (2*I1+J1)/3 ;
3969        J3 = 3*I1-4*J2 ;
3970        S1++;
3971        S2++;
3972      }
3973    }
3974    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
3975      J3 = I1-(I2)-(I3) ;
3976      S1++;
3977      J3 = -I1-2*(I2)+2*I3 ;
3978      S2++;
3979    }
3980  }
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++) {
3983      J3 = I1-(I2)-(I3) ;
3984      S1++;
3985    }
3986    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
3987      J3 = -I1-2*(I2)+2*I3 ;
3988      S2++;
3989      J3 = I1-(I2)-(I3) ;
3990      S1++;
3991    }
3992    if ((2*I1+I2)%3 == 0) {
3993      I3 = (2*I1+I2)/3 ;
3994      J1 = -2*I1+3*I3 ;
3995      if ((2*I1+J1)%3 == 0) {
3996        J2 = (2*I1+J1)/3 ;
3997        J3 = 3*I1-4*J2 ;
3998        S1++;
3999        S2++;
4000      }
4001    }
4002    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
4003      J3 = I1-(I2)-(I3) ;
4004      S1++;
4005      J3 = -I1-2*(I2)+2*I3 ;
4006      S2++;
4007    }
4008    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
4009      J3 = -I1-2*(I2)+2*I3 ;
4010      S2++;
4011    }
4012  }
4013  if ((I1-1)%4 == 0) {
4014    I2 = (I1-1)/4 ;
4015    for (I3=2*I2+1;I3<=3*I2;I3++) {
4016      J3 = I1-(I2)-(I3) ;
4017      S1++;
4018    }
4019    if ((9*I1-1)%12 == 0) {
4020      I3 = (9*I1-1)/12 ;
4021      J1 = -2*I1+3*I3 ;
4022      if ((2*I1+J1)%3 == 0) {
4023        J2 = (2*I1+J1)/3 ;
4024        J3 = 3*I1-4*J2 ;
4025        S1++;
4026        S2++;
4027      }
4028    }
4029    if ((3*I1+1)%4 == 0) {
4030      I3 = (3*I1+1)/4 ;
4031      J3 = I1-(I2)-(I3) ;
4032      S1++;
4033      J3 = -I1-2*(I2)+2*I3 ;
4034      S2++;
4035    }
4036    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
4037      J3 = -I1-2*(I2)+2*I3 ;
4038      S2++;
4039    }
4040  }
4041  if (I1%4 == 0) {
4042    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
4043      J3 = I1-(I2)-(I3) ;
4044      S1++;
4045    }
4046    if (3*I1%4 == 0) {
4047      I3 = 3*I1/4 ;
4048      J1 = -2*I1+3*I3 ;
4049      if ((2*I1+J1)%3 == 0) {
4050        J2 = (2*I1+J1)/3 ;
4051        J3 = 3*I1-4*J2 ;
4052        S1++;
4053        S2++;
4054      }
4055    }
4056    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
4057      J3 = -I1-2*(I2)+2*I3 ;
4058      S2++;
4059    }
4060  }
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++) {
4063      J3 = I1-(I2)-(I3) ;
4064      S1++;
4065    }
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 ;
4068      S2++;
4069    }
4070  }
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 ;
4074      S2++;
4075    }
4076  }
4077}
4078if ((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 ;
4081    S2++;
4082  }
4083  for (I3=12-2*(1);I3<=min(N1,12-(1));I3++) {
4084    J3 = 12-(I2)-(I3) ;
4085    S1++;
4086  }
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 ;
4090      S2++;
4091    }
4092    for (I3=12-2*I2;I3<=floord(2*12+3*I2,3);I3++) {
4093      J3 = 12-(I2)-(I3) ;
4094      S1++;
4095      J3 = -(12)-2*(I2)+2*I3 ;
4096      S2++;
4097    }
4098    for (I3=ceild(2*12+3*I2+1,3);I3<=min(N1,12-I2);I3++) {
4099      J3 = 12-(I2)-(I3) ;
4100      S1++;
4101    }
4102  }
4103  for (I3=4*2;I3<=floord(13*2-1,3);I3++) {
4104    J3 = -(12)-2*(I2)+2*I3 ;
4105    S2++;
4106    J3 = 12-(I2)-(I3) ;
4107    S1++;
4108  }
4109  if (13*12%18 == 0) {
4110    I3 = 13*12/18 ;
4111    J1 = -2*(12)+3*I3 ;
4112    if ((2*12+J1)%3 == 0) {
4113      J2 = (2*12+J1)/3 ;
4114      J3 = 3*12-4*J2 ;
4115      S1++;
4116      S2++;
4117    }
4118  }
4119  for (I3=ceild(13*2+1,3);I3<=min(N1,5*2);I3++) {
4120    J3 = 12-(I2)-(I3) ;
4121    S1++;
4122    J3 = -(12)-2*(I2)+2*I3 ;
4123    S2++;
4124  }
4125  for (I2=max(3,-N1+13);I2<=2;I2++) {
4126    for (I3=12-2*I2;I3<=floord(12+2*I2-1,2);I3++) {
4127      J3 = 12-(I2)-(I3) ;
4128      S1++;
4129    }
4130    for (I3=ceild(12+2*I2,2);I3<=floord(2*12+I2-1,3);I3++) {
4131      J3 = -(12)-2*(I2)+2*I3 ;
4132      S2++;
4133      J3 = 12-(I2)-(I3) ;
4134      S1++;
4135    }
4136    if ((2*12+I2)%3 == 0) {
4137      I3 = (2*12+I2)/3 ;
4138      J1 = -2*(12)+3*I3 ;
4139      if ((2*12+J1)%3 == 0) {
4140        J2 = (2*12+J1)/3 ;
4141        J3 = 3*12-4*J2 ;
4142        S1++;
4143        S2++;
4144      }
4145    }
4146    for (I3=ceild(2*12+I2+1,3);I3<=12-I2;I3++) {
4147      J3 = 12-(I2)-(I3) ;
4148      S1++;
4149      J3 = -(12)-2*(I2)+2*I3 ;
4150      S2++;
4151    }
4152  }
4153  if (5%2 == 0) {
4154    for (I3=12-2*(5/2);I3<=floord(12+2*5/2-1,2);I3++) {
4155      J3 = 12-(I2)-(I3) ;
4156      S1++;
4157    }
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 ;
4160      S2++;
4161      J3 = 12-(I2)-(I3) ;
4162      S1++;
4163    }
4164    if ((2*12+5/2)%3 == 0) {
4165      I3 = (2*12+5/2)/3 ;
4166      J1 = -2*(12)+3*I3 ;
4167      if ((2*12+J1)%3 == 0) {
4168        J2 = (2*12+J1)/3 ;
4169        J3 = 3*12-4*J2 ;
4170        S1++;
4171        S2++;
4172      }
4173    }
4174    for (I3=ceild(2*12+5/2+1,3);I3<=12-(5/2);I3++) {
4175      J3 = 12-(I2)-(I3) ;
4176      S1++;
4177      J3 = -(12)-2*(I2)+2*I3 ;
4178      S2++;
4179    }
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 ;
4182      S2++;
4183    }
4184  }
4185  if (11%4 == 0) {
4186    for (I3=2*11/4+1;I3<=3*11/4;I3++) {
4187      J3 = 12-(I2)-(I3) ;
4188      S1++;
4189    }
4190    if ((9*12-1)%12 == 0) {
4191      I3 = (9*12-1)/12 ;
4192      J1 = -2*(12)+3*I3 ;
4193      if ((2*12+J1)%3 == 0) {
4194        J2 = (2*12+J1)/3 ;
4195        J3 = 3*12-4*J2 ;
4196        S1++;
4197        S2++;
4198      }
4199    }
4200    if ((3*12+1)%4 == 0) {
4201      I3 = (3*12+1)/4 ;
4202      J3 = 12-(I2)-(I3) ;
4203      S1++;
4204      J3 = -(12)-2*(I2)+2*I3 ;
4205      S2++;
4206    }
4207    for (I3=3*11/4+2;I3<=min(N1,floord(11*11/4+2,3));I3++) {
4208      J3 = -(12)-2*(I2)+2*I3 ;
4209      S2++;
4210    }
4211  }
4212  for (I3=2*3;I3<=floord(6*3-1,2);I3++) {
4213    J3 = 12-(I2)-(I3) ;
4214    S1++;
4215  }
4216  if (3*12%4 == 0) {
4217    I3 = 3*12/4 ;
4218    J1 = -2*(12)+3*I3 ;
4219    if ((2*12+J1)%3 == 0) {
4220      J2 = (2*12+J1)/3 ;
4221      J3 = 3*12-4*J2 ;
4222      S1++;
4223      S2++;
4224    }
4225  }
4226  for (I3=3*3+1;I3<=min(N1,floord(11*3,3));I3++) {
4227    J3 = -(12)-2*(I2)+2*I3 ;
4228    S2++;
4229  }
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++) {
4232      J3 = 12-(I2)-(I3) ;
4233      S1++;
4234    }
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 ;
4237      S2++;
4238    }
4239  }
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++) {
4242      J3 = 12-(I2)-(I3) ;
4243      S1++;
4244    }
4245  }
4246}
4247for (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 ;
4251      S2++;
4252    }
4253    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
4254      J3 = I1-(I2)-(I3) ;
4255      S1++;
4256    }
4257  }
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 ;
4261      S2++;
4262    }
4263    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
4264      J3 = I1-(I2)-(I3) ;
4265      S1++;
4266      J3 = -I1-2*(I2)+2*I3 ;
4267      S2++;
4268    }
4269    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
4270      J3 = I1-(I2)-(I3) ;
4271      S1++;
4272    }
4273  }
4274  if (I1%6 == 0) {
4275    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
4276      J3 = -I1-2*(I2)+2*I3 ;
4277      S2++;
4278      J3 = I1-(I2)-(I3) ;
4279      S1++;
4280    }
4281    if (13*I1%18 == 0) {
4282      I3 = 13*I1/18 ;
4283      J1 = -2*I1+3*I3 ;
4284      if ((2*I1+J1)%3 == 0) {
4285        J2 = (2*I1+J1)/3 ;
4286        J3 = 3*I1-4*J2 ;
4287        S1++;
4288        S2++;
4289      }
4290    }
4291    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
4292      J3 = I1-(I2)-(I3) ;
4293      S1++;
4294      J3 = -I1-2*(I2)+2*I3 ;
4295      S2++;
4296    }
4297  }
4298  if ((I1-1)%4 == 0) {
4299    I2 = (I1-1)/4 ;
4300    for (I3=2*I2+1;I3<=3*I2;I3++) {
4301      J3 = I1-(I2)-(I3) ;
4302      S1++;
4303    }
4304    if ((9*I1-1)%12 == 0) {
4305      I3 = (9*I1-1)/12 ;
4306      J1 = -2*I1+3*I3 ;
4307      if ((2*I1+J1)%3 == 0) {
4308        J2 = (2*I1+J1)/3 ;
4309        J3 = 3*I1-4*J2 ;
4310        S1++;
4311        S2++;
4312      }
4313    }
4314    if ((3*I1+1)%4 == 0) {
4315      I3 = (3*I1+1)/4 ;
4316      J3 = I1-(I2)-(I3) ;
4317      S1++;
4318      J3 = -I1-2*(I2)+2*I3 ;
4319      S2++;
4320    }
4321    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
4322      J3 = -I1-2*(I2)+2*I3 ;
4323      S2++;
4324    }
4325  }
4326  if (I1%4 == 0) {
4327    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
4328      J3 = I1-(I2)-(I3) ;
4329      S1++;
4330    }
4331    if (3*I1%4 == 0) {
4332      I3 = 3*I1/4 ;
4333      J1 = -2*I1+3*I3 ;
4334      if ((2*I1+J1)%3 == 0) {
4335        J2 = (2*I1+J1)/3 ;
4336        J3 = 3*I1-4*J2 ;
4337        S1++;
4338        S2++;
4339      }
4340    }
4341    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
4342      J3 = -I1-2*(I2)+2*I3 ;
4343      S2++;
4344    }
4345  }
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++) {
4348      J3 = I1-(I2)-(I3) ;
4349      S1++;
4350    }
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 ;
4353      S2++;
4354    }
4355  }
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++) {
4358      J3 = I1-(I2)-(I3) ;
4359      S1++;
4360    }
4361  }
4362}
4363if ((N1 <= 7) && (N1 >= 7)) {
4364  if ((4*N1-1)%3 == 0) {
4365    I1 = (4*N1-1)/3 ;
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 ;
4369        S2++;
4370      }
4371      for (I3=I1-2*I2;I3<=N1;I3++) {
4372        J3 = I1-(I2)-(I3) ;
4373        S1++;
4374        J3 = -I1-2*(I2)+2*I3 ;
4375        S2++;
4376      }
4377    }
4378    if ((4*N1-1)%18 == 0) {
4379      I2 = (4*N1-1)/18 ;
4380      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
4381        J3 = -I1-2*(I2)+2*I3 ;
4382        S2++;
4383        J3 = I1-(I2)-(I3) ;
4384        S1++;
4385      }
4386      if (13*I1%18 == 0) {
4387        I3 = 13*I1/18 ;
4388        J1 = -2*I1+3*I3 ;
4389        if ((2*I1+J1)%3 == 0) {
4390          J2 = (2*I1+J1)/3 ;
4391          J3 = 3*I1-4*J2 ;
4392          S1++;
4393          S2++;
4394        }
4395      }
4396      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
4397        J3 = I1-(I2)-(I3) ;
4398        S1++;
4399        J3 = -I1-2*(I2)+2*I3 ;
4400        S2++;
4401      }
4402    }
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++) {
4405        J3 = I1-(I2)-(I3) ;
4406        S1++;
4407      }
4408      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
4409        J3 = -I1-2*(I2)+2*I3 ;
4410        S2++;
4411        J3 = I1-(I2)-(I3) ;
4412        S1++;
4413      }
4414      if ((2*I1+I2)%3 == 0) {
4415        I3 = (2*I1+I2)/3 ;
4416        J1 = -2*I1+3*I3 ;
4417        if ((2*I1+J1)%3 == 0) {
4418          J2 = (2*I1+J1)/3 ;
4419          J3 = 3*I1-4*J2 ;
4420          S1++;
4421          S2++;
4422        }
4423      }
4424      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
4425        J3 = I1-(I2)-(I3) ;
4426        S1++;
4427        J3 = -I1-2*(I2)+2*I3 ;
4428        S2++;
4429      }
4430    }
4431    if ((N1-1)%3 == 0) {
4432      I2 = (N1-1)/3 ;
4433      for (I3=ceild(2*N1+1,3);I3<=N1-1;I3++) {
4434        J3 = I1-(I2)-(I3) ;
4435        S1++;
4436      }
4437      if (-1%3 == 0) {
4438        I3 = (3*N1-1)/3 ;
4439        J1 = -2*I1+3*I3 ;
4440        if ((2*I1+J1)%3 == 0) {
4441          J2 = (2*I1+J1)/3 ;
4442          J3 = 3*I1-4*J2 ;
4443          S1++;
4444          S2++;
4445        }
4446      }
4447      J3 = I1-(I2)-(I3) ;
4448      S1++;
4449      J3 = -I1-2*(I2)+2*I3 ;
4450      S2++;
4451    }
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++) {
4454        J3 = I1-(I2)-(I3) ;
4455        S1++;
4456      }
4457    }
4458  }
4459}
4460for (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 ;
4464      S2++;
4465    }
4466  }
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++) {
4469      J3 = I1-(I2)-(I3) ;
4470      S1++;
4471    }
4472    for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
4473      J3 = -I1-2*(I2)+2*I3 ;
4474      S2++;
4475      J3 = I1-(I2)-(I3) ;
4476      S1++;
4477    }
4478  }
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++) {
4481      J3 = I1-(I2)-(I3) ;
4482      S1++;
4483    }
4484  }
4485}
4486for (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 ;
4490      S2++;
4491    }
4492    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
4493      J3 = I1-(I2)-(I3) ;
4494      S1++;
4495    }
4496  }
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 ;
4500      S2++;
4501    }
4502    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
4503      J3 = I1-(I2)-(I3) ;
4504      S1++;
4505      J3 = -I1-2*(I2)+2*I3 ;
4506      S2++;
4507    }
4508    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
4509      J3 = I1-(I2)-(I3) ;
4510      S1++;
4511    }
4512  }
4513  if (I1%7 == 0) {
4514    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
4515      J3 = -I1-2*(I2)+2*I3 ;
4516      S2++;
4517    }
4518    if (5*I1%7 == 0) {
4519      I3 = 5*I1/7 ;
4520      J1 = -2*I1+3*I3 ;
4521      if ((2*I1+J1)%3 == 0) {
4522        J2 = (2*I1+J1)/3 ;
4523        J3 = 3*I1-4*J2 ;
4524        S1++;
4525        S2++;
4526      }
4527    }
4528    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
4529      J3 = I1-(I2)-(I3) ;
4530      S1++;
4531      J3 = -I1-2*(I2)+2*I3 ;
4532      S2++;
4533    }
4534    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
4535      J3 = I1-(I2)-(I3) ;
4536      S1++;
4537    }
4538  }
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 ;
4542      S2++;
4543    }
4544    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
4545      J3 = -I1-2*(I2)+2*I3 ;
4546      S2++;
4547      J3 = I1-(I2)-(I3) ;
4548      S1++;
4549    }
4550    if ((2*I1+I2)%3 == 0) {
4551      I3 = (2*I1+I2)/3 ;
4552      J1 = -2*I1+3*I3 ;
4553      if ((2*I1+J1)%3 == 0) {
4554        J2 = (2*I1+J1)/3 ;
4555        J3 = 3*I1-4*J2 ;
4556        S1++;
4557        S2++;
4558      }
4559    }
4560    for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
4561      J3 = I1-(I2)-(I3) ;
4562      S1++;
4563      J3 = -I1-2*(I2)+2*I3 ;
4564      S2++;
4565    }
4566    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
4567      J3 = I1-(I2)-(I3) ;
4568      S1++;
4569    }
4570  }
4571  if ((I1-1)%6 == 0) {
4572    I2 = (I1-1)/6 ;
4573    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
4574      J3 = -I1-2*(I2)+2*I3 ;
4575      S2++;
4576      J3 = I1-(I2)-(I3) ;
4577      S1++;
4578    }
4579    if ((13*I1-1)%18 == 0) {
4580      I3 = (13*I1-1)/18 ;
4581      J1 = -2*I1+3*I3 ;
4582      if ((2*I1+J1)%3 == 0) {
4583        J2 = (2*I1+J1)/3 ;
4584        J3 = 3*I1-4*J2 ;
4585        S1++;
4586        S2++;
4587      }
4588    }
4589    for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
4590      J3 = I1-(I2)-(I3) ;
4591      S1++;
4592      J3 = -I1-2*(I2)+2*I3 ;
4593      S2++;
4594    }
4595    if ((5*I1+1)%6 == 0) {
4596      I3 = (5*I1+1)/6 ;
4597      J3 = I1-(I2)-(I3) ;
4598      S1++;
4599    }
4600  }
4601  if (I1%6 == 0) {
4602    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
4603      J3 = -I1-2*(I2)+2*I3 ;
4604      S2++;
4605      J3 = I1-(I2)-(I3) ;
4606      S1++;
4607    }
4608    if (13*I1%18 == 0) {
4609      I3 = 13*I1/18 ;
4610      J1 = -2*I1+3*I3 ;
4611      if ((2*I1+J1)%3 == 0) {
4612        J2 = (2*I1+J1)/3 ;
4613        J3 = 3*I1-4*J2 ;
4614        S1++;
4615        S2++;
4616      }
4617    }
4618    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
4619      J3 = I1-(I2)-(I3) ;
4620      S1++;
4621      J3 = -I1-2*(I2)+2*I3 ;
4622      S2++;
4623    }
4624  }
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++) {
4627      J3 = I1-(I2)-(I3) ;
4628      S1++;
4629    }
4630    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
4631      J3 = -I1-2*(I2)+2*I3 ;
4632      S2++;
4633      J3 = I1-(I2)-(I3) ;
4634      S1++;
4635    }
4636    if ((2*I1+I2)%3 == 0) {
4637      I3 = (2*I1+I2)/3 ;
4638      J1 = -2*I1+3*I3 ;
4639      if ((2*I1+J1)%3 == 0) {
4640        J2 = (2*I1+J1)/3 ;
4641        J3 = 3*I1-4*J2 ;
4642        S1++;
4643        S2++;
4644      }
4645    }
4646    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
4647      J3 = I1-(I2)-(I3) ;
4648      S1++;
4649      J3 = -I1-2*(I2)+2*I3 ;
4650      S2++;
4651    }
4652  }
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++) {
4655      J3 = I1-(I2)-(I3) ;
4656      S1++;
4657    }
4658    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
4659      J3 = -I1-2*(I2)+2*I3 ;
4660      S2++;
4661      J3 = I1-(I2)-(I3) ;
4662      S1++;
4663    }
4664    if ((2*I1+I2)%3 == 0) {
4665      I3 = (2*I1+I2)/3 ;
4666      J1 = -2*I1+3*I3 ;
4667      if ((2*I1+J1)%3 == 0) {
4668        J2 = (2*I1+J1)/3 ;
4669        J3 = 3*I1-4*J2 ;
4670        S1++;
4671        S2++;
4672      }
4673    }
4674    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
4675      J3 = I1-(I2)-(I3) ;
4676      S1++;
4677      J3 = -I1-2*(I2)+2*I3 ;
4678      S2++;
4679    }
4680    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
4681      J3 = -I1-2*(I2)+2*I3 ;
4682      S2++;
4683    }
4684  }
4685  if ((I1-1)%4 == 0) {
4686    I2 = (I1-1)/4 ;
4687    for (I3=2*I2+1;I3<=3*I2;I3++) {
4688      J3 = I1-(I2)-(I3) ;
4689      S1++;
4690    }
4691    if ((9*I1-1)%12 == 0) {
4692      I3 = (9*I1-1)/12 ;
4693      J1 = -2*I1+3*I3 ;
4694      if ((2*I1+J1)%3 == 0) {
4695        J2 = (2*I1+J1)/3 ;
4696        J3 = 3*I1-4*J2 ;
4697        S1++;
4698        S2++;
4699      }
4700    }
4701    if ((3*I1+1)%4 == 0) {
4702      I3 = (3*I1+1)/4 ;
4703      J3 = I1-(I2)-(I3) ;
4704      S1++;
4705      J3 = -I1-2*(I2)+2*I3 ;
4706      S2++;
4707    }
4708    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
4709      J3 = -I1-2*(I2)+2*I3 ;
4710      S2++;
4711    }
4712  }
4713  if (I1%4 == 0) {
4714    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
4715      J3 = I1-(I2)-(I3) ;
4716      S1++;
4717    }
4718    if (3*I1%4 == 0) {
4719      I3 = 3*I1/4 ;
4720      J1 = -2*I1+3*I3 ;
4721      if ((2*I1+J1)%3 == 0) {
4722        J2 = (2*I1+J1)/3 ;
4723        J3 = 3*I1-4*J2 ;
4724        S1++;
4725        S2++;
4726      }
4727    }
4728    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
4729      J3 = -I1-2*(I2)+2*I3 ;
4730      S2++;
4731    }
4732  }
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++) {
4735      J3 = I1-(I2)-(I3) ;
4736      S1++;
4737    }
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 ;
4740      S2++;
4741    }
4742  }
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 ;
4746      S2++;
4747    }
4748  }
4749}
4750for (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 ;
4754      S2++;
4755    }
4756    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
4757      J3 = I1-(I2)-(I3) ;
4758      S1++;
4759    }
4760  }
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 ;
4764      S2++;
4765    }
4766    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
4767      J3 = I1-(I2)-(I3) ;
4768      S1++;
4769      J3 = -I1-2*(I2)+2*I3 ;
4770      S2++;
4771    }
4772    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
4773      J3 = I1-(I2)-(I3) ;
4774      S1++;
4775    }
4776  }
4777  if (I1%7 == 0) {
4778    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
4779      J3 = -I1-2*(I2)+2*I3 ;
4780      S2++;
4781    }
4782    if (5*I1%7 == 0) {
4783      I3 = 5*I1/7 ;
4784      J1 = -2*I1+3*I3 ;
4785      if ((2*I1+J1)%3 == 0) {
4786        J2 = (2*I1+J1)/3 ;
4787        J3 = 3*I1-4*J2 ;
4788        S1++;
4789        S2++;
4790      }
4791    }
4792    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
4793      J3 = I1-(I2)-(I3) ;
4794      S1++;
4795      J3 = -I1-2*(I2)+2*I3 ;
4796      S2++;
4797    }
4798    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
4799      J3 = I1-(I2)-(I3) ;
4800      S1++;
4801    }
4802  }
4803  if ((I1-1)%6 == 0) {
4804    I2 = (I1-1)/6 ;
4805    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
4806      J3 = -I1-2*(I2)+2*I3 ;
4807      S2++;
4808      J3 = I1-(I2)-(I3) ;
4809      S1++;
4810    }
4811    if ((13*I1-1)%18 == 0) {
4812      I3 = (13*I1-1)/18 ;
4813      J1 = -2*I1+3*I3 ;
4814      if ((2*I1+J1)%3 == 0) {
4815        J2 = (2*I1+J1)/3 ;
4816        J3 = 3*I1-4*J2 ;
4817        S1++;
4818        S2++;
4819      }
4820    }
4821    for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
4822      J3 = I1-(I2)-(I3) ;
4823      S1++;
4824      J3 = -I1-2*(I2)+2*I3 ;
4825      S2++;
4826    }
4827    if ((5*I1+1)%6 == 0) {
4828      I3 = (5*I1+1)/6 ;
4829      J3 = I1-(I2)-(I3) ;
4830      S1++;
4831    }
4832  }
4833  if (I1%6 == 0) {
4834    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
4835      J3 = -I1-2*(I2)+2*I3 ;
4836      S2++;
4837      J3 = I1-(I2)-(I3) ;
4838      S1++;
4839    }
4840    if (13*I1%18 == 0) {
4841      I3 = 13*I1/18 ;
4842      J1 = -2*I1+3*I3 ;
4843      if ((2*I1+J1)%3 == 0) {
4844        J2 = (2*I1+J1)/3 ;
4845        J3 = 3*I1-4*J2 ;
4846        S1++;
4847        S2++;
4848      }
4849    }
4850    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
4851      J3 = I1-(I2)-(I3) ;
4852      S1++;
4853      J3 = -I1-2*(I2)+2*I3 ;
4854      S2++;
4855    }
4856  }
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++) {
4859      J3 = I1-(I2)-(I3) ;
4860      S1++;
4861    }
4862    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
4863      J3 = -I1-2*(I2)+2*I3 ;
4864      S2++;
4865      J3 = I1-(I2)-(I3) ;
4866      S1++;
4867    }
4868    if ((2*I1+I2)%3 == 0) {
4869      I3 = (2*I1+I2)/3 ;
4870      J1 = -2*I1+3*I3 ;
4871      if ((2*I1+J1)%3 == 0) {
4872        J2 = (2*I1+J1)/3 ;
4873        J3 = 3*I1-4*J2 ;
4874        S1++;
4875        S2++;
4876      }
4877    }
4878    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
4879      J3 = I1-(I2)-(I3) ;
4880      S1++;
4881      J3 = -I1-2*(I2)+2*I3 ;
4882      S2++;
4883    }
4884  }
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++) {
4887      J3 = I1-(I2)-(I3) ;
4888      S1++;
4889    }
4890    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
4891      J3 = -I1-2*(I2)+2*I3 ;
4892      S2++;
4893      J3 = I1-(I2)-(I3) ;
4894      S1++;
4895    }
4896    if ((2*I1+I2)%3 == 0) {
4897      I3 = (2*I1+I2)/3 ;
4898      J1 = -2*I1+3*I3 ;
4899      if ((2*I1+J1)%3 == 0) {
4900        J2 = (2*I1+J1)/3 ;
4901        J3 = 3*I1-4*J2 ;
4902        S1++;
4903        S2++;
4904      }
4905    }
4906    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
4907      J3 = I1-(I2)-(I3) ;
4908      S1++;
4909      J3 = -I1-2*(I2)+2*I3 ;
4910      S2++;
4911    }
4912    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
4913      J3 = -I1-2*(I2)+2*I3 ;
4914      S2++;
4915    }
4916  }
4917  if ((I1-1)%4 == 0) {
4918    I2 = (I1-1)/4 ;
4919    for (I3=2*I2+1;I3<=3*I2;I3++) {
4920      J3 = I1-(I2)-(I3) ;
4921      S1++;
4922    }
4923    if ((9*I1-1)%12 == 0) {
4924      I3 = (9*I1-1)/12 ;
4925      J1 = -2*I1+3*I3 ;
4926      if ((2*I1+J1)%3 == 0) {
4927        J2 = (2*I1+J1)/3 ;
4928        J3 = 3*I1-4*J2 ;
4929        S1++;
4930        S2++;
4931      }
4932    }
4933    if ((3*I1+1)%4 == 0) {
4934      I3 = (3*I1+1)/4 ;
4935      J3 = I1-(I2)-(I3) ;
4936      S1++;
4937      J3 = -I1-2*(I2)+2*I3 ;
4938      S2++;
4939    }
4940    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
4941      J3 = -I1-2*(I2)+2*I3 ;
4942      S2++;
4943    }
4944  }
4945  if (I1%4 == 0) {
4946    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
4947      J3 = I1-(I2)-(I3) ;
4948      S1++;
4949    }
4950    if (3*I1%4 == 0) {
4951      I3 = 3*I1/4 ;
4952      J1 = -2*I1+3*I3 ;
4953      if ((2*I1+J1)%3 == 0) {
4954        J2 = (2*I1+J1)/3 ;
4955        J3 = 3*I1-4*J2 ;
4956        S1++;
4957        S2++;
4958      }
4959    }
4960    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
4961      J3 = -I1-2*(I2)+2*I3 ;
4962      S2++;
4963    }
4964  }
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++) {
4967      J3 = I1-(I2)-(I3) ;
4968      S1++;
4969    }
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 ;
4972      S2++;
4973    }
4974  }
4975}
4976if ((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 ;
4979    S2++;
4980  }
4981  for (I3=13-2*(1);I3<=min(N1,13-(1));I3++) {
4982    J3 = 13-(I2)-(I3) ;
4983    S1++;
4984  }
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 ;
4988      S2++;
4989    }
4990    for (I3=13-2*I2;I3<=floord(2*13+3*I2,3);I3++) {
4991      J3 = 13-(I2)-(I3) ;
4992      S1++;
4993      J3 = -(13)-2*(I2)+2*I3 ;
4994      S2++;
4995    }
4996    for (I3=ceild(2*13+3*I2+1,3);I3<=min(N1,13-I2);I3++) {
4997      J3 = 13-(I2)-(I3) ;
4998      S1++;
4999    }
5000  }
5001  for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) {
5002    J3 = -(13)-2*(I2)+2*I3 ;
5003    S2++;
5004    J3 = 13-(I2)-(I3) ;
5005    S1++;
5006  }
5007  if ((13*13-1)%18 == 0) {
5008    I3 = (13*13-1)/18 ;
5009    J1 = -2*(13)+3*I3 ;
5010    if ((2*13+J1)%3 == 0) {
5011      J2 = (2*13+J1)/3 ;
5012      J3 = 3*13-4*J2 ;
5013      S1++;
5014      S2++;
5015    }
5016  }
5017  for (I3=ceild(13*2+3,3);I3<=floord(15*2+2,3);I3++) {
5018    J3 = 13-(I2)-(I3) ;
5019    S1++;
5020    J3 = -(13)-2*(I2)+2*I3 ;
5021    S2++;
5022  }
5023  if ((5*13+1)%6 == 0) {
5024    I3 = (5*13+1)/6 ;
5025    J3 = 13-(I2)-(I3) ;
5026    S1++;
5027  }
5028  if (13%6 == 0) {
5029    for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) {
5030      J3 = -(13)-2*(I2)+2*I3 ;
5031      S2++;
5032      J3 = 13-(I2)-(I3) ;
5033      S1++;
5034    }
5035    if (13*13%18 == 0) {
5036      I3 = 13*13/18 ;
5037      J1 = -2*(13)+3*I3 ;
5038      if ((2*13+J1)%3 == 0) {
5039        J2 = (2*13+J1)/3 ;
5040        J3 = 3*13-4*J2 ;
5041        S1++;
5042        S2++;
5043      }
5044    }
5045    for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) {
5046      J3 = 13-(I2)-(I3) ;
5047      S1++;
5048      J3 = -(13)-2*(I2)+2*I3 ;
5049      S2++;
5050    }
5051  }
5052  for (I2=max(3,-N1+14);I2<=2;I2++) {
5053    for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
5054      J3 = 13-(I2)-(I3) ;
5055      S1++;
5056    }
5057    for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
5058      J3 = -(13)-2*(I2)+2*I3 ;
5059      S2++;
5060      J3 = 13-(I2)-(I3) ;
5061      S1++;
5062    }
5063    if ((2*13+I2)%3 == 0) {
5064      I3 = (2*13+I2)/3 ;
5065      J1 = -2*(13)+3*I3 ;
5066      if ((2*13+J1)%3 == 0) {
5067        J2 = (2*13+J1)/3 ;
5068        J3 = 3*13-4*J2 ;
5069        S1++;
5070        S2++;
5071      }
5072    }
5073    for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) {
5074      J3 = 13-(I2)-(I3) ;
5075      S1++;
5076      J3 = -(13)-2*(I2)+2*I3 ;
5077      S2++;
5078    }
5079  }
5080  for (I2=3;I2<=2;I2++) {
5081    for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
5082      J3 = 13-(I2)-(I3) ;
5083      S1++;
5084    }
5085    for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
5086      J3 = -(13)-2*(I2)+2*I3 ;
5087      S2++;
5088      J3 = 13-(I2)-(I3) ;
5089      S1++;
5090    }
5091    if ((2*13+I2)%3 == 0) {
5092      I3 = (2*13+I2)/3 ;
5093      J1 = -2*(13)+3*I3 ;
5094      if ((2*13+J1)%3 == 0) {
5095        J2 = (2*13+J1)/3 ;
5096        J3 = 3*13-4*J2 ;
5097        S1++;
5098        S2++;
5099      }
5100    }
5101    for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) {
5102      J3 = 13-(I2)-(I3) ;
5103      S1++;
5104      J3 = -(13)-2*(I2)+2*I3 ;
5105      S2++;
5106    }
5107    for (I3=13-I2+1;I3<=min(N1,floord(2*13+3*I2,3));I3++) {
5108      J3 = -(13)-2*(I2)+2*I3 ;
5109      S2++;
5110    }
5111  }
5112  for (I3=2*3+1;I3<=3*3;I3++) {
5113    J3 = 13-(I2)-(I3) ;
5114    S1++;
5115  }
5116  if ((9*13-1)%12 == 0) {
5117    I3 = (9*13-1)/12 ;
5118    J1 = -2*(13)+3*I3 ;
5119    if ((2*13+J1)%3 == 0) {
5120      J2 = (2*13+J1)/3 ;
5121      J3 = 3*13-4*J2 ;
5122      S1++;
5123      S2++;
5124    }
5125  }
5126  if ((3*13+1)%4 == 0) {
5127    I3 = (3*13+1)/4 ;
5128    J3 = 13-(I2)-(I3) ;
5129    S1++;
5130    J3 = -(13)-2*(I2)+2*I3 ;
5131    S2++;
5132  }
5133  for (I3=3*3+2;I3<=min(N1,floord(11*3+2,3));I3++) {
5134    J3 = -(13)-2*(I2)+2*I3 ;
5135    S2++;
5136  }
5137  if (13%4 == 0) {
5138    for (I3=2*13/4;I3<=floord(6*13/4-1,2);I3++) {
5139      J3 = 13-(I2)-(I3) ;
5140      S1++;
5141    }
5142    if (3*13%4 == 0) {
5143      I3 = 3*13/4 ;
5144      J1 = -2*(13)+3*I3 ;
5145      if ((2*13+J1)%3 == 0) {
5146        J2 = (2*13+J1)/3 ;
5147        J3 = 3*13-4*J2 ;
5148        S1++;
5149        S2++;
5150      }
5151    }
5152    for (I3=3*13/4+1;I3<=min(N1,floord(11*13/4,3));I3++) {
5153      J3 = -(13)-2*(I2)+2*I3 ;
5154      S2++;
5155    }
5156  }
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++) {
5159      J3 = 13-(I2)-(I3) ;
5160      S1++;
5161    }
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 ;
5164      S2++;
5165    }
5166  }
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++) {
5169      J3 = 13-(I2)-(I3) ;
5170      S1++;
5171    }
5172  }
5173}
5174if ((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 ;
5177    S2++;
5178  }
5179  for (I3=13-2*(1);I3<=min(N1,13-(1));I3++) {
5180    J3 = 13-(I2)-(I3) ;
5181    S1++;
5182  }
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 ;
5186      S2++;
5187    }
5188    for (I3=13-2*I2;I3<=floord(2*13+3*I2,3);I3++) {
5189      J3 = 13-(I2)-(I3) ;
5190      S1++;
5191      J3 = -(13)-2*(I2)+2*I3 ;
5192      S2++;
5193    }
5194    for (I3=ceild(2*13+3*I2+1,3);I3<=min(N1,13-I2);I3++) {
5195      J3 = 13-(I2)-(I3) ;
5196      S1++;
5197    }
5198  }
5199  for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) {
5200    J3 = -(13)-2*(I2)+2*I3 ;
5201    S2++;
5202    J3 = 13-(I2)-(I3) ;
5203    S1++;
5204  }
5205  if ((13*13-1)%18 == 0) {
5206    I3 = (13*13-1)/18 ;
5207    J1 = -2*(13)+3*I3 ;
5208    if ((2*13+J1)%3 == 0) {
5209      J2 = (2*13+J1)/3 ;
5210      J3 = 3*13-4*J2 ;
5211      S1++;
5212      S2++;
5213    }
5214  }
5215  for (I3=ceild(13*2+3,3);I3<=floord(15*2+2,3);I3++) {
5216    J3 = 13-(I2)-(I3) ;
5217    S1++;
5218    J3 = -(13)-2*(I2)+2*I3 ;
5219    S2++;
5220  }
5221  if ((5*13+1)%6 == 0) {
5222    I3 = (5*13+1)/6 ;
5223    J3 = 13-(I2)-(I3) ;
5224    S1++;
5225  }
5226  if (13%6 == 0) {
5227    for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) {
5228      J3 = -(13)-2*(I2)+2*I3 ;
5229      S2++;
5230      J3 = 13-(I2)-(I3) ;
5231      S1++;
5232    }
5233    if (13*13%18 == 0) {
5234      I3 = 13*13/18 ;
5235      J1 = -2*(13)+3*I3 ;
5236      if ((2*13+J1)%3 == 0) {
5237        J2 = (2*13+J1)/3 ;
5238        J3 = 3*13-4*J2 ;
5239        S1++;
5240        S2++;
5241      }
5242    }
5243    for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) {
5244      J3 = 13-(I2)-(I3) ;
5245      S1++;
5246      J3 = -(13)-2*(I2)+2*I3 ;
5247      S2++;
5248    }
5249  }
5250  for (I2=-N1+14;I2<=2;I2++) {
5251    for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
5252      J3 = 13-(I2)-(I3) ;
5253      S1++;
5254    }
5255    for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
5256      J3 = -(13)-2*(I2)+2*I3 ;
5257      S2++;
5258      J3 = 13-(I2)-(I3) ;
5259      S1++;
5260    }
5261    if ((2*13+I2)%3 == 0) {
5262      I3 = (2*13+I2)/3 ;
5263      J1 = -2*(13)+3*I3 ;
5264      if ((2*13+J1)%3 == 0) {
5265        J2 = (2*13+J1)/3 ;
5266        J3 = 3*13-4*J2 ;
5267        S1++;
5268        S2++;
5269      }
5270    }
5271    for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) {
5272      J3 = 13-(I2)-(I3) ;
5273      S1++;
5274      J3 = -(13)-2*(I2)+2*I3 ;
5275      S2++;
5276    }
5277    for (I3=13-I2+1;I3<=min(N1,floord(2*13+3*I2,3));I3++) {
5278      J3 = -(13)-2*(I2)+2*I3 ;
5279      S2++;
5280    }
5281  }
5282  for (I3=2*3+1;I3<=3*3;I3++) {
5283    J3 = 13-(I2)-(I3) ;
5284    S1++;
5285  }
5286  if ((9*13-1)%12 == 0) {
5287    I3 = (9*13-1)/12 ;
5288    J1 = -2*(13)+3*I3 ;
5289    if ((2*13+J1)%3 == 0) {
5290      J2 = (2*13+J1)/3 ;
5291      J3 = 3*13-4*J2 ;
5292      S1++;
5293      S2++;
5294    }
5295  }
5296  if ((3*13+1)%4 == 0) {
5297    I3 = (3*13+1)/4 ;
5298    J3 = 13-(I2)-(I3) ;
5299    S1++;
5300    J3 = -(13)-2*(I2)+2*I3 ;
5301    S2++;
5302  }
5303  for (I3=3*3+2;I3<=min(N1,floord(11*3+2,3));I3++) {
5304    J3 = -(13)-2*(I2)+2*I3 ;
5305    S2++;
5306  }
5307  if (13%4 == 0) {
5308    for (I3=2*13/4;I3<=floord(6*13/4-1,2);I3++) {
5309      J3 = 13-(I2)-(I3) ;
5310      S1++;
5311    }
5312    if (3*13%4 == 0) {
5313      I3 = 3*13/4 ;
5314      J1 = -2*(13)+3*I3 ;
5315      if ((2*13+J1)%3 == 0) {
5316        J2 = (2*13+J1)/3 ;
5317        J3 = 3*13-4*J2 ;
5318        S1++;
5319        S2++;
5320      }
5321    }
5322    for (I3=3*13/4+1;I3<=min(N1,floord(11*13/4,3));I3++) {
5323      J3 = -(13)-2*(I2)+2*I3 ;
5324      S2++;
5325    }
5326  }
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++) {
5329      J3 = 13-(I2)-(I3) ;
5330      S1++;
5331    }
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 ;
5334      S2++;
5335    }
5336  }
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++) {
5339      J3 = 13-(I2)-(I3) ;
5340      S1++;
5341    }
5342  }
5343}
5344if (N1 == 11) {
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 ;
5347    S2++;
5348  }
5349  for (I3=13-2*(1);I3<=min(N1,13-(1));I3++) {
5350    J3 = 13-(I2)-(I3) ;
5351    S1++;
5352  }
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 ;
5356      S2++;
5357    }
5358    for (I3=13-2*I2;I3<=floord(2*13+3*I2,3);I3++) {
5359      J3 = 13-(I2)-(I3) ;
5360      S1++;
5361      J3 = -(13)-2*(I2)+2*I3 ;
5362      S2++;
5363    }
5364    for (I3=ceild(2*13+3*I2+1,3);I3<=min(N1,13-I2);I3++) {
5365      J3 = 13-(I2)-(I3) ;
5366      S1++;
5367    }
5368  }
5369  for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) {
5370    J3 = -(13)-2*(I2)+2*I3 ;
5371    S2++;
5372    J3 = 13-(I2)-(I3) ;
5373    S1++;
5374  }
5375  if ((13*13-1)%18 == 0) {
5376    I3 = (13*13-1)/18 ;
5377    J1 = -2*(13)+3*I3 ;
5378    if ((2*13+J1)%3 == 0) {
5379      J2 = (2*13+J1)/3 ;
5380      J3 = 3*13-4*J2 ;
5381      S1++;
5382      S2++;
5383    }
5384  }
5385  for (I3=ceild(13*2+3,3);I3<=floord(15*2+2,3);I3++) {
5386    J3 = 13-(I2)-(I3) ;
5387    S1++;
5388    J3 = -(13)-2*(I2)+2*I3 ;
5389    S2++;
5390  }
5391  if ((5*13+1)%6 == 0) {
5392    I3 = (5*13+1)/6 ;
5393    J3 = 13-(I2)-(I3) ;
5394    S1++;
5395  }
5396  if (13%6 == 0) {
5397    for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) {
5398      J3 = -(13)-2*(I2)+2*I3 ;
5399      S2++;
5400      J3 = 13-(I2)-(I3) ;
5401      S1++;
5402    }
5403    if (13*13%18 == 0) {
5404      I3 = 13*13/18 ;
5405      J1 = -2*(13)+3*I3 ;
5406      if ((2*13+J1)%3 == 0) {
5407        J2 = (2*13+J1)/3 ;
5408        J3 = 3*13-4*J2 ;
5409        S1++;
5410        S2++;
5411      }
5412    }
5413    for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) {
5414      J3 = 13-(I2)-(I3) ;
5415      S1++;
5416      J3 = -(13)-2*(I2)+2*I3 ;
5417      S2++;
5418    }
5419  }
5420  for (I3=2*3+1;I3<=3*3;I3++) {
5421    J3 = 13-(I2)-(I3) ;
5422    S1++;
5423  }
5424  if ((9*13-1)%12 == 0) {
5425    I3 = (9*13-1)/12 ;
5426    J1 = -2*(13)+3*I3 ;
5427    if ((2*13+J1)%3 == 0) {
5428      J2 = (2*13+J1)/3 ;
5429      J3 = 3*13-4*J2 ;
5430      S1++;
5431      S2++;
5432    }
5433  }
5434  if ((3*13+1)%4 == 0) {
5435    I3 = (3*13+1)/4 ;
5436    J3 = 13-(I2)-(I3) ;
5437    S1++;
5438    J3 = -(13)-2*(I2)+2*I3 ;
5439    S2++;
5440  }
5441  for (I3=3*3+2;I3<=min(N1,floord(11*3+2,3));I3++) {
5442    J3 = -(13)-2*(I2)+2*I3 ;
5443    S2++;
5444  }
5445  if (13%4 == 0) {
5446    for (I3=2*13/4;I3<=floord(6*13/4-1,2);I3++) {
5447      J3 = 13-(I2)-(I3) ;
5448      S1++;
5449    }
5450    if (3*13%4 == 0) {
5451      I3 = 3*13/4 ;
5452      J1 = -2*(13)+3*I3 ;
5453      if ((2*13+J1)%3 == 0) {
5454        J2 = (2*13+J1)/3 ;
5455        J3 = 3*13-4*J2 ;
5456        S1++;
5457        S2++;
5458      }
5459    }
5460    for (I3=3*13/4+1;I3<=min(N1,floord(11*13/4,3));I3++) {
5461      J3 = -(13)-2*(I2)+2*I3 ;
5462      S2++;
5463    }
5464  }
5465  for (I3=max(max(1,ceild(13-(4),2)),13-2*(4));I3<=13-(4);I3++) {
5466    J3 = 13-(I2)-(I3) ;
5467    S1++;
5468  }
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 ;
5471    S2++;
5472  }
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++) {
5475      J3 = 13-(I2)-(I3) ;
5476      S1++;
5477    }
5478  }
5479}
5480if ((N1 >= 9) && (N1 <= 10)) {
5481  if ((4*N1-4)%3 == 0) {
5482    I1 = (4*N1-4)/3 ;
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 ;
5486        S2++;
5487      }
5488      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
5489        J3 = I1-(I2)-(I3) ;
5490        S1++;
5491      }
5492    }
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 ;
5496        S2++;
5497      }
5498      for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
5499        J3 = I1-(I2)-(I3) ;
5500        S1++;
5501        J3 = -I1-2*(I2)+2*I3 ;
5502        S2++;
5503      }
5504      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
5505        J3 = I1-(I2)-(I3) ;
5506        S1++;
5507      }
5508    }
5509    if ((2*N1-2)%9 == 0) {
5510      I2 = (2*N1-2)/9 ;
5511      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
5512        J3 = -I1-2*(I2)+2*I3 ;
5513        S2++;
5514        J3 = I1-(I2)-(I3) ;
5515        S1++;
5516      }
5517      if (13*I1%18 == 0) {
5518        I3 = 13*I1/18 ;
5519        J1 = -2*I1+3*I3 ;
5520        if ((2*I1+J1)%3 == 0) {
5521          J2 = (2*I1+J1)/3 ;
5522          J3 = 3*I1-4*J2 ;
5523          S1++;
5524          S2++;
5525        }
5526      }
5527      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
5528        J3 = I1-(I2)-(I3) ;
5529        S1++;
5530        J3 = -I1-2*(I2)+2*I3 ;
5531        S2++;
5532      }
5533    }
5534    if ((N1-1)%3 == 0) {
5535      I2 = (N1-1)/3 ;
5536      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
5537        J3 = I1-(I2)-(I3) ;
5538        S1++;
5539      }
5540      if (3*I1%4 == 0) {
5541        I3 = 3*I1/4 ;
5542        J1 = -2*I1+3*I3 ;
5543        if ((2*I1+J1)%3 == 0) {
5544          J2 = (2*I1+J1)/3 ;
5545          J3 = 3*I1-4*J2 ;
5546          S1++;
5547          S2++;
5548        }
5549      }
5550      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
5551        J3 = -I1-2*(I2)+2*I3 ;
5552        S2++;
5553      }
5554    }
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++) {
5557        J3 = I1-(I2)-(I3) ;
5558        S1++;
5559      }
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 ;
5562        S2++;
5563      }
5564    }
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++) {
5567        J3 = I1-(I2)-(I3) ;
5568        S1++;
5569      }
5570    }
5571  }
5572}
5573if (N1 == 11) {
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 ;
5576    S2++;
5577  }
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 ;
5581      S2++;
5582    }
5583    for (I3=14-2*I2;I3<=N1;I3++) {
5584      J3 = 14-(I2)-(I3) ;
5585      S1++;
5586      J3 = -(14)-2*(I2)+2*I3 ;
5587      S2++;
5588    }
5589  }
5590  for (I3=ceild(9*2,2);I3<=5*2-1;I3++) {
5591    J3 = -(14)-2*(I2)+2*I3 ;
5592    S2++;
5593  }
5594  if (5*14%7 == 0) {
5595    I3 = 5*14/7 ;
5596    J1 = -2*(14)+3*I3 ;
5597    if ((2*14+J1)%3 == 0) {
5598      J2 = (2*14+J1)/3 ;
5599      J3 = 3*14-4*J2 ;
5600      S1++;
5601      S2++;
5602    }
5603  }
5604  for (I3=ceild(15*2+1,3);I3<=N1;I3++) {
5605    J3 = 14-(I2)-(I3) ;
5606    S1++;
5607    J3 = -(14)-2*(I2)+2*I3 ;
5608    S2++;
5609  }
5610  if (7%3 == 0) {
5611    for (I3=4*7/3;I3<=floord(13*7/3-1,3);I3++) {
5612      J3 = -(14)-2*(I2)+2*I3 ;
5613      S2++;
5614      J3 = 14-(I2)-(I3) ;
5615      S1++;
5616    }
5617    if (13*14%18 == 0) {
5618      I3 = 13*14/18 ;
5619      J1 = -2*(14)+3*I3 ;
5620      if ((2*14+J1)%3 == 0) {
5621        J2 = (2*14+J1)/3 ;
5622        J3 = 3*14-4*J2 ;
5623        S1++;
5624        S2++;
5625      }
5626    }
5627    for (I3=ceild(13*7/3+1,3);I3<=min(N1,5*7/3);I3++) {
5628      J3 = 14-(I2)-(I3) ;
5629      S1++;
5630      J3 = -(14)-2*(I2)+2*I3 ;
5631      S2++;
5632    }
5633  }
5634  for (I3=14-2*(3);I3<=floord(14+2*3-1,2);I3++) {
5635    J3 = 14-(I2)-(I3) ;
5636    S1++;
5637  }
5638  for (I3=ceild(14+2*3,2);I3<=floord(2*14+3-1,3);I3++) {
5639    J3 = -(14)-2*(I2)+2*I3 ;
5640    S2++;
5641    J3 = 14-(I2)-(I3) ;
5642    S1++;
5643  }
5644  if ((2*14+3)%3 == 0) {
5645    I3 = (2*14+3)/3 ;
5646    J1 = -2*(14)+3*I3 ;
5647    if ((2*14+J1)%3 == 0) {
5648      J2 = (2*14+J1)/3 ;
5649      J3 = 3*14-4*J2 ;
5650      S1++;
5651      S2++;
5652    }
5653  }
5654  for (I3=ceild(2*14+3+1,3);I3<=N1;I3++) {
5655    J3 = 14-(I2)-(I3) ;
5656    S1++;
5657    J3 = -(14)-2*(I2)+2*I3 ;
5658    S2++;
5659  }
5660  for (I3=max(max(1,ceild(14-(4),2)),14-2*(4));I3<=14-(4);I3++) {
5661    J3 = 14-(I2)-(I3) ;
5662    S1++;
5663  }
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 ;
5666    S2++;
5667  }
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++) {
5670      J3 = 14-(I2)-(I3) ;
5671      S1++;
5672    }
5673  }
5674}
5675if (N1 == 10) {
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 ;
5678    S2++;
5679  }
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 ;
5683      S2++;
5684    }
5685    for (I3=13-2*I2;I3<=N1;I3++) {
5686      J3 = 13-(I2)-(I3) ;
5687      S1++;
5688      J3 = -(13)-2*(I2)+2*I3 ;
5689      S2++;
5690    }
5691  }
5692  for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) {
5693    J3 = -(13)-2*(I2)+2*I3 ;
5694    S2++;
5695    J3 = 13-(I2)-(I3) ;
5696    S1++;
5697  }
5698  if ((13*13-1)%18 == 0) {
5699    I3 = (13*13-1)/18 ;
5700    J1 = -2*(13)+3*I3 ;
5701    if ((2*13+J1)%3 == 0) {
5702      J2 = (2*13+J1)/3 ;
5703      J3 = 3*13-4*J2 ;
5704      S1++;
5705      S2++;
5706    }
5707  }
5708  for (I3=ceild(13*2+3,3);I3<=N1;I3++) {
5709    J3 = 13-(I2)-(I3) ;
5710    S1++;
5711    J3 = -(13)-2*(I2)+2*I3 ;
5712    S2++;
5713  }
5714  if (13%6 == 0) {
5715    for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) {
5716      J3 = -(13)-2*(I2)+2*I3 ;
5717      S2++;
5718      J3 = 13-(I2)-(I3) ;
5719      S1++;
5720    }
5721    if (13*13%18 == 0) {
5722      I3 = 13*13/18 ;
5723      J1 = -2*(13)+3*I3 ;
5724      if ((2*13+J1)%3 == 0) {
5725        J2 = (2*13+J1)/3 ;
5726        J3 = 3*13-4*J2 ;
5727        S1++;
5728        S2++;
5729      }
5730    }
5731    for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) {
5732      J3 = 13-(I2)-(I3) ;
5733      S1++;
5734      J3 = -(13)-2*(I2)+2*I3 ;
5735      S2++;
5736    }
5737  }
5738  for (I2=3;I2<=2;I2++) {
5739    for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
5740      J3 = 13-(I2)-(I3) ;
5741      S1++;
5742    }
5743    for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
5744      J3 = -(13)-2*(I2)+2*I3 ;
5745      S2++;
5746      J3 = 13-(I2)-(I3) ;
5747      S1++;
5748    }
5749    if ((2*13+I2)%3 == 0) {
5750      I3 = (2*13+I2)/3 ;
5751      J1 = -2*(13)+3*I3 ;
5752      if ((2*13+J1)%3 == 0) {
5753        J2 = (2*13+J1)/3 ;
5754        J3 = 3*13-4*J2 ;
5755        S1++;
5756        S2++;
5757      }
5758    }
5759    for (I3=ceild(2*13+I2+1,3);I3<=N1;I3++) {
5760      J3 = 13-(I2)-(I3) ;
5761      S1++;
5762      J3 = -(13)-2*(I2)+2*I3 ;
5763      S2++;
5764    }
5765  }
5766  for (I3=ceild(2*N1+1,3);I3<=N1-1;I3++) {
5767    J3 = 13-(I2)-(I3) ;
5768    S1++;
5769  }
5770  if (-1%3 == 0) {
5771    I3 = (3*N1-1)/3 ;
5772    J1 = -2*(13)+3*I3 ;
5773    if ((2*13+J1)%3 == 0) {
5774      J2 = (2*13+J1)/3 ;
5775      J3 = 3*13-4*J2 ;
5776      S1++;
5777      S2++;
5778    }
5779  }
5780  J3 = 13-(I2)-(I3) ;
5781  S1++;
5782  J3 = -(13)-2*(I2)+2*I3 ;
5783  S2++;
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++) {
5786      J3 = 13-(I2)-(I3) ;
5787      S1++;
5788    }
5789  }
5790}
5791for (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 ;
5795      S2++;
5796    }
5797    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
5798      J3 = I1-(I2)-(I3) ;
5799      S1++;
5800    }
5801  }
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 ;
5805      S2++;
5806    }
5807    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
5808      J3 = I1-(I2)-(I3) ;
5809      S1++;
5810      J3 = -I1-2*(I2)+2*I3 ;
5811      S2++;
5812    }
5813    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
5814      J3 = I1-(I2)-(I3) ;
5815      S1++;
5816    }
5817  }
5818  if (I1%7 == 0) {
5819    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
5820      J3 = -I1-2*(I2)+2*I3 ;
5821      S2++;
5822    }
5823    if (5*I1%7 == 0) {
5824      I3 = 5*I1/7 ;
5825      J1 = -2*I1+3*I3 ;
5826      if ((2*I1+J1)%3 == 0) {
5827        J2 = (2*I1+J1)/3 ;
5828        J3 = 3*I1-4*J2 ;
5829        S1++;
5830        S2++;
5831      }
5832    }
5833    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
5834      J3 = I1-(I2)-(I3) ;
5835      S1++;
5836      J3 = -I1-2*(I2)+2*I3 ;
5837      S2++;
5838    }
5839    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
5840      J3 = I1-(I2)-(I3) ;
5841      S1++;
5842    }
5843  }
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 ;
5847      S2++;
5848    }
5849    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
5850      J3 = -I1-2*(I2)+2*I3 ;
5851      S2++;
5852      J3 = I1-(I2)-(I3) ;
5853      S1++;
5854    }
5855    if ((2*I1+I2)%3 == 0) {
5856      I3 = (2*I1+I2)/3 ;
5857      J1 = -2*I1+3*I3 ;
5858      if ((2*I1+J1)%3 == 0) {
5859        J2 = (2*I1+J1)/3 ;
5860        J3 = 3*I1-4*J2 ;
5861        S1++;
5862        S2++;
5863      }
5864    }
5865    for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
5866      J3 = I1-(I2)-(I3) ;
5867      S1++;
5868      J3 = -I1-2*(I2)+2*I3 ;
5869      S2++;
5870    }
5871    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
5872      J3 = I1-(I2)-(I3) ;
5873      S1++;
5874    }
5875  }
5876  if ((I1-1)%6 == 0) {
5877    I2 = (I1-1)/6 ;
5878    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
5879      J3 = -I1-2*(I2)+2*I3 ;
5880      S2++;
5881      J3 = I1-(I2)-(I3) ;
5882      S1++;
5883    }
5884    if ((13*I1-1)%18 == 0) {
5885      I3 = (13*I1-1)/18 ;
5886      J1 = -2*I1+3*I3 ;
5887      if ((2*I1+J1)%3 == 0) {
5888        J2 = (2*I1+J1)/3 ;
5889        J3 = 3*I1-4*J2 ;
5890        S1++;
5891        S2++;
5892      }
5893    }
5894    for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
5895      J3 = I1-(I2)-(I3) ;
5896      S1++;
5897      J3 = -I1-2*(I2)+2*I3 ;
5898      S2++;
5899    }
5900    if ((5*I1+1)%6 == 0) {
5901      I3 = (5*I1+1)/6 ;
5902      J3 = I1-(I2)-(I3) ;
5903      S1++;
5904    }
5905  }
5906  if (I1%6 == 0) {
5907    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
5908      J3 = -I1-2*(I2)+2*I3 ;
5909      S2++;
5910      J3 = I1-(I2)-(I3) ;
5911      S1++;
5912    }
5913    if (13*I1%18 == 0) {
5914      I3 = 13*I1/18 ;
5915      J1 = -2*I1+3*I3 ;
5916      if ((2*I1+J1)%3 == 0) {
5917        J2 = (2*I1+J1)/3 ;
5918        J3 = 3*I1-4*J2 ;
5919        S1++;
5920        S2++;
5921      }
5922    }
5923    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
5924      J3 = I1-(I2)-(I3) ;
5925      S1++;
5926      J3 = -I1-2*(I2)+2*I3 ;
5927      S2++;
5928    }
5929  }
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++) {
5932      J3 = I1-(I2)-(I3) ;
5933      S1++;
5934    }
5935    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
5936      J3 = -I1-2*(I2)+2*I3 ;
5937      S2++;
5938      J3 = I1-(I2)-(I3) ;
5939      S1++;
5940    }
5941    if ((2*I1+I2)%3 == 0) {
5942      I3 = (2*I1+I2)/3 ;
5943      J1 = -2*I1+3*I3 ;
5944      if ((2*I1+J1)%3 == 0) {
5945        J2 = (2*I1+J1)/3 ;
5946        J3 = 3*I1-4*J2 ;
5947        S1++;
5948        S2++;
5949      }
5950    }
5951    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
5952      J3 = I1-(I2)-(I3) ;
5953      S1++;
5954      J3 = -I1-2*(I2)+2*I3 ;
5955      S2++;
5956    }
5957  }
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++) {
5960      J3 = I1-(I2)-(I3) ;
5961      S1++;
5962    }
5963    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
5964      J3 = -I1-2*(I2)+2*I3 ;
5965      S2++;
5966      J3 = I1-(I2)-(I3) ;
5967      S1++;
5968    }
5969    if ((2*I1+I2)%3 == 0) {
5970      I3 = (2*I1+I2)/3 ;
5971      J1 = -2*I1+3*I3 ;
5972      if ((2*I1+J1)%3 == 0) {
5973        J2 = (2*I1+J1)/3 ;
5974        J3 = 3*I1-4*J2 ;
5975        S1++;
5976        S2++;
5977      }
5978    }
5979    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
5980      J3 = I1-(I2)-(I3) ;
5981      S1++;
5982      J3 = -I1-2*(I2)+2*I3 ;
5983      S2++;
5984    }
5985    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
5986      J3 = -I1-2*(I2)+2*I3 ;
5987      S2++;
5988    }
5989  }
5990  if ((I1-1)%4 == 0) {
5991    I2 = (I1-1)/4 ;
5992    for (I3=2*I2+1;I3<=3*I2;I3++) {
5993      J3 = I1-(I2)-(I3) ;
5994      S1++;
5995    }
5996    if ((9*I1-1)%12 == 0) {
5997      I3 = (9*I1-1)/12 ;
5998      J1 = -2*I1+3*I3 ;
5999      if ((2*I1+J1)%3 == 0) {
6000        J2 = (2*I1+J1)/3 ;
6001        J3 = 3*I1-4*J2 ;
6002        S1++;
6003        S2++;
6004      }
6005    }
6006    if ((3*I1+1)%4 == 0) {
6007      I3 = (3*I1+1)/4 ;
6008      J3 = I1-(I2)-(I3) ;
6009      S1++;
6010      J3 = -I1-2*(I2)+2*I3 ;
6011      S2++;
6012    }
6013    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
6014      J3 = -I1-2*(I2)+2*I3 ;
6015      S2++;
6016    }
6017  }
6018  if (I1%4 == 0) {
6019    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
6020      J3 = I1-(I2)-(I3) ;
6021      S1++;
6022    }
6023    if (3*I1%4 == 0) {
6024      I3 = 3*I1/4 ;
6025      J1 = -2*I1+3*I3 ;
6026      if ((2*I1+J1)%3 == 0) {
6027        J2 = (2*I1+J1)/3 ;
6028        J3 = 3*I1-4*J2 ;
6029        S1++;
6030        S2++;
6031      }
6032    }
6033    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
6034      J3 = -I1-2*(I2)+2*I3 ;
6035      S2++;
6036    }
6037  }
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++) {
6040      J3 = I1-(I2)-(I3) ;
6041      S1++;
6042    }
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 ;
6045      S2++;
6046    }
6047  }
6048}
6049for (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 ;
6053      S2++;
6054    }
6055    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
6056      J3 = I1-(I2)-(I3) ;
6057      S1++;
6058    }
6059  }
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 ;
6063      S2++;
6064    }
6065    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
6066      J3 = I1-(I2)-(I3) ;
6067      S1++;
6068      J3 = -I1-2*(I2)+2*I3 ;
6069      S2++;
6070    }
6071    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
6072      J3 = I1-(I2)-(I3) ;
6073      S1++;
6074    }
6075  }
6076  if (I1%7 == 0) {
6077    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
6078      J3 = -I1-2*(I2)+2*I3 ;
6079      S2++;
6080    }
6081    if (5*I1%7 == 0) {
6082      I3 = 5*I1/7 ;
6083      J1 = -2*I1+3*I3 ;
6084      if ((2*I1+J1)%3 == 0) {
6085        J2 = (2*I1+J1)/3 ;
6086        J3 = 3*I1-4*J2 ;
6087        S1++;
6088        S2++;
6089      }
6090    }
6091    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
6092      J3 = I1-(I2)-(I3) ;
6093      S1++;
6094      J3 = -I1-2*(I2)+2*I3 ;
6095      S2++;
6096    }
6097    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
6098      J3 = I1-(I2)-(I3) ;
6099      S1++;
6100    }
6101  }
6102  if ((I1-1)%6 == 0) {
6103    I2 = (I1-1)/6 ;
6104    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
6105      J3 = -I1-2*(I2)+2*I3 ;
6106      S2++;
6107      J3 = I1-(I2)-(I3) ;
6108      S1++;
6109    }
6110    if ((13*I1-1)%18 == 0) {
6111      I3 = (13*I1-1)/18 ;
6112      J1 = -2*I1+3*I3 ;
6113      if ((2*I1+J1)%3 == 0) {
6114        J2 = (2*I1+J1)/3 ;
6115        J3 = 3*I1-4*J2 ;
6116        S1++;
6117        S2++;
6118      }
6119    }
6120    for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
6121      J3 = I1-(I2)-(I3) ;
6122      S1++;
6123      J3 = -I1-2*(I2)+2*I3 ;
6124      S2++;
6125    }
6126    if ((5*I1+1)%6 == 0) {
6127      I3 = (5*I1+1)/6 ;
6128      J3 = I1-(I2)-(I3) ;
6129      S1++;
6130    }
6131  }
6132  if (I1%6 == 0) {
6133    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
6134      J3 = -I1-2*(I2)+2*I3 ;
6135      S2++;
6136      J3 = I1-(I2)-(I3) ;
6137      S1++;
6138    }
6139    if (13*I1%18 == 0) {
6140      I3 = 13*I1/18 ;
6141      J1 = -2*I1+3*I3 ;
6142      if ((2*I1+J1)%3 == 0) {
6143        J2 = (2*I1+J1)/3 ;
6144        J3 = 3*I1-4*J2 ;
6145        S1++;
6146        S2++;
6147      }
6148    }
6149    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
6150      J3 = I1-(I2)-(I3) ;
6151      S1++;
6152      J3 = -I1-2*(I2)+2*I3 ;
6153      S2++;
6154    }
6155  }
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++) {
6158      J3 = I1-(I2)-(I3) ;
6159      S1++;
6160    }
6161    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
6162      J3 = -I1-2*(I2)+2*I3 ;
6163      S2++;
6164      J3 = I1-(I2)-(I3) ;
6165      S1++;
6166    }
6167    if ((2*I1+I2)%3 == 0) {
6168      I3 = (2*I1+I2)/3 ;
6169      J1 = -2*I1+3*I3 ;
6170      if ((2*I1+J1)%3 == 0) {
6171        J2 = (2*I1+J1)/3 ;
6172        J3 = 3*I1-4*J2 ;
6173        S1++;
6174        S2++;
6175      }
6176    }
6177    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
6178      J3 = I1-(I2)-(I3) ;
6179      S1++;
6180      J3 = -I1-2*(I2)+2*I3 ;
6181      S2++;
6182    }
6183  }
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++) {
6186      J3 = I1-(I2)-(I3) ;
6187      S1++;
6188    }
6189    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
6190      J3 = -I1-2*(I2)+2*I3 ;
6191      S2++;
6192      J3 = I1-(I2)-(I3) ;
6193      S1++;
6194    }
6195    if ((2*I1+I2)%3 == 0) {
6196      I3 = (2*I1+I2)/3 ;
6197      J1 = -2*I1+3*I3 ;
6198      if ((2*I1+J1)%3 == 0) {
6199        J2 = (2*I1+J1)/3 ;
6200        J3 = 3*I1-4*J2 ;
6201        S1++;
6202        S2++;
6203      }
6204    }
6205    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
6206      J3 = I1-(I2)-(I3) ;
6207      S1++;
6208      J3 = -I1-2*(I2)+2*I3 ;
6209      S2++;
6210    }
6211    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
6212      J3 = -I1-2*(I2)+2*I3 ;
6213      S2++;
6214    }
6215  }
6216  if ((I1-1)%4 == 0) {
6217    I2 = (I1-1)/4 ;
6218    for (I3=2*I2+1;I3<=3*I2;I3++) {
6219      J3 = I1-(I2)-(I3) ;
6220      S1++;
6221    }
6222    if ((9*I1-1)%12 == 0) {
6223      I3 = (9*I1-1)/12 ;
6224      J1 = -2*I1+3*I3 ;
6225      if ((2*I1+J1)%3 == 0) {
6226        J2 = (2*I1+J1)/3 ;
6227        J3 = 3*I1-4*J2 ;
6228        S1++;
6229        S2++;
6230      }
6231    }
6232    if ((3*I1+1)%4 == 0) {
6233      I3 = (3*I1+1)/4 ;
6234      J3 = I1-(I2)-(I3) ;
6235      S1++;
6236      J3 = -I1-2*(I2)+2*I3 ;
6237      S2++;
6238    }
6239    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
6240      J3 = -I1-2*(I2)+2*I3 ;
6241      S2++;
6242    }
6243  }
6244  if (I1%4 == 0) {
6245    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
6246      J3 = I1-(I2)-(I3) ;
6247      S1++;
6248    }
6249    if (3*I1%4 == 0) {
6250      I3 = 3*I1/4 ;
6251      J1 = -2*I1+3*I3 ;
6252      if ((2*I1+J1)%3 == 0) {
6253        J2 = (2*I1+J1)/3 ;
6254        J3 = 3*I1-4*J2 ;
6255        S1++;
6256        S2++;
6257      }
6258    }
6259    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
6260      J3 = -I1-2*(I2)+2*I3 ;
6261      S2++;
6262    }
6263  }
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++) {
6266      J3 = I1-(I2)-(I3) ;
6267      S1++;
6268    }
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 ;
6271      S2++;
6272    }
6273  }
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++) {
6276      J3 = I1-(I2)-(I3) ;
6277      S1++;
6278    }
6279  }
6280}
6281for (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 ;
6285      S2++;
6286    }
6287    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
6288      J3 = I1-(I2)-(I3) ;
6289      S1++;
6290    }
6291  }
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 ;
6295      S2++;
6296    }
6297    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
6298      J3 = I1-(I2)-(I3) ;
6299      S1++;
6300      J3 = -I1-2*(I2)+2*I3 ;
6301      S2++;
6302    }
6303    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
6304      J3 = I1-(I2)-(I3) ;
6305      S1++;
6306    }
6307  }
6308  if (I1%6 == 0) {
6309    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
6310      J3 = -I1-2*(I2)+2*I3 ;
6311      S2++;
6312      J3 = I1-(I2)-(I3) ;
6313      S1++;
6314    }
6315    if (13*I1%18 == 0) {
6316      I3 = 13*I1/18 ;
6317      J1 = -2*I1+3*I3 ;
6318      if ((2*I1+J1)%3 == 0) {
6319        J2 = (2*I1+J1)/3 ;
6320        J3 = 3*I1-4*J2 ;
6321        S1++;
6322        S2++;
6323      }
6324    }
6325    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
6326      J3 = I1-(I2)-(I3) ;
6327      S1++;
6328      J3 = -I1-2*(I2)+2*I3 ;
6329      S2++;
6330    }
6331  }
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++) {
6334      J3 = I1-(I2)-(I3) ;
6335      S1++;
6336    }
6337    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
6338      J3 = -I1-2*(I2)+2*I3 ;
6339      S2++;
6340      J3 = I1-(I2)-(I3) ;
6341      S1++;
6342    }
6343    if ((2*I1+I2)%3 == 0) {
6344      I3 = (2*I1+I2)/3 ;
6345      J1 = -2*I1+3*I3 ;
6346      if ((2*I1+J1)%3 == 0) {
6347        J2 = (2*I1+J1)/3 ;
6348        J3 = 3*I1-4*J2 ;
6349        S1++;
6350        S2++;
6351      }
6352    }
6353    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
6354      J3 = I1-(I2)-(I3) ;
6355      S1++;
6356      J3 = -I1-2*(I2)+2*I3 ;
6357      S2++;
6358    }
6359  }
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++) {
6362      J3 = I1-(I2)-(I3) ;
6363      S1++;
6364    }
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 ;
6367      S2++;
6368    }
6369  }
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++) {
6372      J3 = I1-(I2)-(I3) ;
6373      S1++;
6374    }
6375  }
6376}
6377if (N1 == 15) {
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 ;
6380    S2++;
6381  }
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 ;
6385      S2++;
6386    }
6387    for (I3=18-2*I2;I3<=min(N1,18-I2);I3++) {
6388      J3 = 18-(I2)-(I3) ;
6389      S1++;
6390    }
6391  }
6392  for (I3=ceild(18+2*2,2);I3<=18-2*(2)-1;I3++) {
6393    J3 = -(18)-2*(I2)+2*I3 ;
6394    S2++;
6395  }
6396  for (I3=18-2*(2);I3<=floord(2*18+3*2,3);I3++) {
6397    J3 = 18-(I2)-(I3) ;
6398    S1++;
6399    J3 = -(18)-2*(I2)+2*I3 ;
6400    S2++;
6401  }
6402  for (I3=ceild(2*18+3*2+1,3);I3<=min(N1,18-(2));I3++) {
6403    J3 = 18-(I2)-(I3) ;
6404    S1++;
6405  }
6406  if (18%7 == 0) {
6407    for (I3=ceild(9*18/7,2);I3<=5*18/7-1;I3++) {
6408      J3 = -(18)-2*(I2)+2*I3 ;
6409      S2++;
6410    }
6411    if (5*18%7 == 0) {
6412      I3 = 5*18/7 ;
6413      J1 = -2*(18)+3*I3 ;
6414      if ((2*18+J1)%3 == 0) {
6415        J2 = (2*18+J1)/3 ;
6416        J3 = 3*18-4*J2 ;
6417        S1++;
6418        S2++;
6419      }
6420    }
6421    for (I3=ceild(15*18/7+1,3);I3<=floord(17*18/7,3);I3++) {
6422      J3 = 18-(I2)-(I3) ;
6423      S1++;
6424      J3 = -(18)-2*(I2)+2*I3 ;
6425      S2++;
6426    }
6427    for (I3=ceild(17*18/7+1,3);I3<=min(N1,6*18/7);I3++) {
6428      J3 = 18-(I2)-(I3) ;
6429      S1++;
6430    }
6431  }
6432  for (I3=4*3;I3<=floord(13*3-1,3);I3++) {
6433    J3 = -(18)-2*(I2)+2*I3 ;
6434    S2++;
6435    J3 = 18-(I2)-(I3) ;
6436    S1++;
6437  }
6438  if (13*18%18 == 0) {
6439    I3 = 13*18/18 ;
6440    J1 = -2*(18)+3*I3 ;
6441    if ((2*18+J1)%3 == 0) {
6442      J2 = (2*18+J1)/3 ;
6443      J3 = 3*18-4*J2 ;
6444      S1++;
6445      S2++;
6446    }
6447  }
6448  for (I3=ceild(13*3+1,3);I3<=min(N1,5*3);I3++) {
6449    J3 = 18-(I2)-(I3) ;
6450    S1++;
6451    J3 = -(18)-2*(I2)+2*I3 ;
6452    S2++;
6453  }
6454  for (I3=18-2*(4);I3<=floord(18+2*4-1,2);I3++) {
6455    J3 = 18-(I2)-(I3) ;
6456    S1++;
6457  }
6458  for (I3=ceild(18+2*4,2);I3<=floord(2*18+4-1,3);I3++) {
6459    J3 = -(18)-2*(I2)+2*I3 ;
6460    S2++;
6461    J3 = 18-(I2)-(I3) ;
6462    S1++;
6463  }
6464  if ((2*18+4)%3 == 0) {
6465    I3 = (2*18+4)/3 ;
6466    J1 = -2*(18)+3*I3 ;
6467    if ((2*18+J1)%3 == 0) {
6468      J2 = (2*18+J1)/3 ;
6469      J3 = 3*18-4*J2 ;
6470      S1++;
6471      S2++;
6472    }
6473  }
6474  for (I3=ceild(2*18+4+1,3);I3<=18-(4);I3++) {
6475    J3 = 18-(I2)-(I3) ;
6476    S1++;
6477    J3 = -(18)-2*(I2)+2*I3 ;
6478    S2++;
6479  }
6480  for (I3=18-(4)+1;I3<=min(N1,floord(2*18+3*4,3));I3++) {
6481    J3 = -(18)-2*(I2)+2*I3 ;
6482    S2++;
6483  }
6484  if (17%4 == 0) {
6485    for (I3=2*17/4+1;I3<=3*17/4;I3++) {
6486      J3 = 18-(I2)-(I3) ;
6487      S1++;
6488    }
6489    if ((9*18-1)%12 == 0) {
6490      I3 = (9*18-1)/12 ;
6491      J1 = -2*(18)+3*I3 ;
6492      if ((2*18+J1)%3 == 0) {
6493        J2 = (2*18+J1)/3 ;
6494        J3 = 3*18-4*J2 ;
6495        S1++;
6496        S2++;
6497      }
6498    }
6499    if ((3*18+1)%4 == 0) {
6500      I3 = (3*18+1)/4 ;
6501      J3 = 18-(I2)-(I3) ;
6502      S1++;
6503      J3 = -(18)-2*(I2)+2*I3 ;
6504      S2++;
6505    }
6506    for (I3=3*17/4+2;I3<=min(N1,floord(11*17/4+2,3));I3++) {
6507      J3 = -(18)-2*(I2)+2*I3 ;
6508      S2++;
6509    }
6510  }
6511  if (9%2 == 0) {
6512    for (I3=2*9/2;I3<=floord(6*9/2-1,2);I3++) {
6513      J3 = 18-(I2)-(I3) ;
6514      S1++;
6515    }
6516    if (3*18%4 == 0) {
6517      I3 = 3*18/4 ;
6518      J1 = -2*(18)+3*I3 ;
6519      if ((2*18+J1)%3 == 0) {
6520        J2 = (2*18+J1)/3 ;
6521        J3 = 3*18-4*J2 ;
6522        S1++;
6523        S2++;
6524      }
6525    }
6526    for (I3=3*9/2+1;I3<=min(N1,floord(11*9/2,3));I3++) {
6527      J3 = -(18)-2*(I2)+2*I3 ;
6528      S2++;
6529    }
6530  }
6531  for (I2=5;I2<=6;I2++) {
6532    for (I3=max(max(1,ceild(18-I2,2)),18-2*I2);I3<=18-I2;I3++) {
6533      J3 = 18-(I2)-(I3) ;
6534      S1++;
6535    }
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 ;
6538      S2++;
6539    }
6540  }
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++) {
6543      J3 = 18-(I2)-(I3) ;
6544      S1++;
6545    }
6546  }
6547}
6548if (N1 == 16) {
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 ;
6551    S2++;
6552  }
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 ;
6555    S2++;
6556  }
6557  for (I3=19-2*(2);I3<=min(N1,19-(2));I3++) {
6558    J3 = 19-(I2)-(I3) ;
6559    S1++;
6560  }
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 ;
6564      S2++;
6565    }
6566    for (I3=19-2*I2;I3<=floord(2*19+3*I2,3);I3++) {
6567      J3 = 19-(I2)-(I3) ;
6568      S1++;
6569      J3 = -(19)-2*(I2)+2*I3 ;
6570      S2++;
6571    }
6572    for (I3=ceild(2*19+3*I2+1,3);I3<=min(N1,19-I2);I3++) {
6573      J3 = 19-(I2)-(I3) ;
6574      S1++;
6575    }
6576  }
6577  if (19%7 == 0) {
6578    for (I3=ceild(9*19/7,2);I3<=5*19/7-1;I3++) {
6579      J3 = -(19)-2*(I2)+2*I3 ;
6580      S2++;
6581    }
6582    if (5*19%7 == 0) {
6583      I3 = 5*19/7 ;
6584      J1 = -2*(19)+3*I3 ;
6585      if ((2*19+J1)%3 == 0) {
6586        J2 = (2*19+J1)/3 ;
6587        J3 = 3*19-4*J2 ;
6588        S1++;
6589        S2++;
6590      }
6591    }
6592    for (I3=ceild(15*19/7+1,3);I3<=floord(17*19/7,3);I3++) {
6593      J3 = 19-(I2)-(I3) ;
6594      S1++;
6595      J3 = -(19)-2*(I2)+2*I3 ;
6596      S2++;
6597    }
6598    for (I3=ceild(17*19/7+1,3);I3<=min(N1,6*19/7);I3++) {
6599      J3 = 19-(I2)-(I3) ;
6600      S1++;
6601    }
6602  }
6603  for (I3=4*3+1;I3<=floord(13*3+1,3);I3++) {
6604    J3 = -(19)-2*(I2)+2*I3 ;
6605    S2++;
6606    J3 = 19-(I2)-(I3) ;
6607    S1++;
6608  }
6609  if ((13*19-1)%18 == 0) {
6610    I3 = (13*19-1)/18 ;
6611    J1 = -2*(19)+3*I3 ;
6612    if ((2*19+J1)%3 == 0) {
6613      J2 = (2*19+J1)/3 ;
6614      J3 = 3*19-4*J2 ;
6615      S1++;
6616      S2++;
6617    }
6618  }
6619  for (I3=ceild(13*3+3,3);I3<=floord(15*3+2,3);I3++) {
6620    J3 = 19-(I2)-(I3) ;
6621    S1++;
6622    J3 = -(19)-2*(I2)+2*I3 ;
6623    S2++;
6624  }
6625  if ((5*19+1)%6 == 0) {
6626    I3 = (5*19+1)/6 ;
6627    J3 = 19-(I2)-(I3) ;
6628    S1++;
6629  }
6630  if (19%6 == 0) {
6631    for (I3=4*19/6;I3<=floord(13*19/6-1,3);I3++) {
6632      J3 = -(19)-2*(I2)+2*I3 ;
6633      S2++;
6634      J3 = 19-(I2)-(I3) ;
6635      S1++;
6636    }
6637    if (13*19%18 == 0) {
6638      I3 = 13*19/18 ;
6639      J1 = -2*(19)+3*I3 ;
6640      if ((2*19+J1)%3 == 0) {
6641        J2 = (2*19+J1)/3 ;
6642        J3 = 3*19-4*J2 ;
6643        S1++;
6644        S2++;
6645      }
6646    }
6647    for (I3=ceild(13*19/6+1,3);I3<=min(N1,5*19/6);I3++) {
6648      J3 = 19-(I2)-(I3) ;
6649      S1++;
6650      J3 = -(19)-2*(I2)+2*I3 ;
6651      S2++;
6652    }
6653  }
6654  for (I3=19-2*(4);I3<=floord(19+2*4-1,2);I3++) {
6655    J3 = 19-(I2)-(I3) ;
6656    S1++;
6657  }
6658  for (I3=ceild(19+2*4,2);I3<=floord(2*19+4-1,3);I3++) {
6659    J3 = -(19)-2*(I2)+2*I3 ;
6660    S2++;
6661    J3 = 19-(I2)-(I3) ;
6662    S1++;
6663  }
6664  if ((2*19+4)%3 == 0) {
6665    I3 = (2*19+4)/3 ;
6666    J1 = -2*(19)+3*I3 ;
6667    if ((2*19+J1)%3 == 0) {
6668      J2 = (2*19+J1)/3 ;
6669      J3 = 3*19-4*J2 ;
6670      S1++;
6671      S2++;
6672    }
6673  }
6674  for (I3=ceild(2*19+4+1,3);I3<=19-(4);I3++) {
6675    J3 = 19-(I2)-(I3) ;
6676    S1++;
6677    J3 = -(19)-2*(I2)+2*I3 ;
6678    S2++;
6679  }
6680  for (I3=19-(4)+1;I3<=min(N1,floord(2*19+3*4,3));I3++) {
6681    J3 = -(19)-2*(I2)+2*I3 ;
6682    S2++;
6683  }
6684  if (9%2 == 0) {
6685    for (I3=2*9/2+1;I3<=3*9/2;I3++) {
6686      J3 = 19-(I2)-(I3) ;
6687      S1++;
6688    }
6689    if ((9*19-1)%12 == 0) {
6690      I3 = (9*19-1)/12 ;
6691      J1 = -2*(19)+3*I3 ;
6692      if ((2*19+J1)%3 == 0) {
6693        J2 = (2*19+J1)/3 ;
6694        J3 = 3*19-4*J2 ;
6695        S1++;
6696        S2++;
6697      }
6698    }
6699    if ((3*19+1)%4 == 0) {
6700      I3 = (3*19+1)/4 ;
6701      J3 = 19-(I2)-(I3) ;
6702      S1++;
6703      J3 = -(19)-2*(I2)+2*I3 ;
6704      S2++;
6705    }
6706    for (I3=3*9/2+2;I3<=min(N1,floord(11*9/2+2,3));I3++) {
6707      J3 = -(19)-2*(I2)+2*I3 ;
6708      S2++;
6709    }
6710  }
6711  if (19%4 == 0) {
6712    for (I3=2*19/4;I3<=floord(6*19/4-1,2);I3++) {
6713      J3 = 19-(I2)-(I3) ;
6714      S1++;
6715    }
6716    if (3*19%4 == 0) {
6717      I3 = 3*19/4 ;
6718      J1 = -2*(19)+3*I3 ;
6719      if ((2*19+J1)%3 == 0) {
6720        J2 = (2*19+J1)/3 ;
6721        J3 = 3*19-4*J2 ;
6722        S1++;
6723        S2++;
6724      }
6725    }
6726    for (I3=3*19/4+1;I3<=min(N1,floord(11*19/4,3));I3++) {
6727      J3 = -(19)-2*(I2)+2*I3 ;
6728      S2++;
6729    }
6730  }
6731  for (I2=5;I2<=6;I2++) {
6732    for (I3=max(max(1,ceild(19-I2,2)),19-2*I2);I3<=19-I2;I3++) {
6733      J3 = 19-(I2)-(I3) ;
6734      S1++;
6735    }
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 ;
6738      S2++;
6739    }
6740  }
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++) {
6743      J3 = 19-(I2)-(I3) ;
6744      S1++;
6745    }
6746  }
6747}
6748if ((N1 >= 17) && (N1 <= 16)) {
6749  if ((4*N1-5)%3 == 0) {
6750    I1 = (4*N1-5)/3 ;
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 ;
6754        S2++;
6755      }
6756    }
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 ;
6760        S2++;
6761      }
6762      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
6763        J3 = I1-(I2)-(I3) ;
6764        S1++;
6765      }
6766    }
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 ;
6770        S2++;
6771      }
6772      for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
6773        J3 = I1-(I2)-(I3) ;
6774        S1++;
6775        J3 = -I1-2*(I2)+2*I3 ;
6776        S2++;
6777      }
6778      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
6779        J3 = I1-(I2)-(I3) ;
6780        S1++;
6781      }
6782    }
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 ;
6786        S2++;
6787      }
6788      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
6789        J3 = -I1-2*(I2)+2*I3 ;
6790        S2++;
6791        J3 = I1-(I2)-(I3) ;
6792        S1++;
6793      }
6794      if ((2*I1+I2)%3 == 0) {
6795        I3 = (2*I1+I2)/3 ;
6796        J1 = -2*I1+3*I3 ;
6797        if ((2*I1+J1)%3 == 0) {
6798          J2 = (2*I1+J1)/3 ;
6799          J3 = 3*I1-4*J2 ;
6800          S1++;
6801          S2++;
6802        }
6803      }
6804      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
6805        J3 = I1-(I2)-(I3) ;
6806        S1++;
6807        J3 = -I1-2*(I2)+2*I3 ;
6808        S2++;
6809      }
6810    }
6811    if ((4*N1-5)%18 == 0) {
6812      I2 = (4*N1-5)/18 ;
6813      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
6814        J3 = -I1-2*(I2)+2*I3 ;
6815        S2++;
6816        J3 = I1-(I2)-(I3) ;
6817        S1++;
6818      }
6819      if (13*I1%18 == 0) {
6820        I3 = 13*I1/18 ;
6821        J1 = -2*I1+3*I3 ;
6822        if ((2*I1+J1)%3 == 0) {
6823          J2 = (2*I1+J1)/3 ;
6824          J3 = 3*I1-4*J2 ;
6825          S1++;
6826          S2++;
6827        }
6828      }
6829      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
6830        J3 = I1-(I2)-(I3) ;
6831        S1++;
6832        J3 = -I1-2*(I2)+2*I3 ;
6833        S2++;
6834      }
6835    }
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++) {
6838        J3 = I1-(I2)-(I3) ;
6839        S1++;
6840      }
6841      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
6842        J3 = -I1-2*(I2)+2*I3 ;
6843        S2++;
6844        J3 = I1-(I2)-(I3) ;
6845        S1++;
6846      }
6847      if ((2*I1+I2)%3 == 0) {
6848        I3 = (2*I1+I2)/3 ;
6849        J1 = -2*I1+3*I3 ;
6850        if ((2*I1+J1)%3 == 0) {
6851          J2 = (2*I1+J1)/3 ;
6852          J3 = 3*I1-4*J2 ;
6853          S1++;
6854          S2++;
6855        }
6856      }
6857      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
6858        J3 = I1-(I2)-(I3) ;
6859        S1++;
6860        J3 = -I1-2*(I2)+2*I3 ;
6861        S2++;
6862      }
6863    }
6864    if ((N1-2)%3 == 0) {
6865      I2 = (N1-2)/3 ;
6866      for (I3=2*I2+1;I3<=3*I2;I3++) {
6867        J3 = I1-(I2)-(I3) ;
6868        S1++;
6869      }
6870      if ((9*I1-1)%12 == 0) {
6871        I3 = (9*I1-1)/12 ;
6872        J1 = -2*I1+3*I3 ;
6873        if ((2*I1+J1)%3 == 0) {
6874          J2 = (2*I1+J1)/3 ;
6875          J3 = 3*I1-4*J2 ;
6876          S1++;
6877          S2++;
6878        }
6879      }
6880      if ((3*I1+1)%4 == 0) {
6881        I3 = (3*I1+1)/4 ;
6882        J3 = I1-(I2)-(I3) ;
6883        S1++;
6884        J3 = -I1-2*(I2)+2*I3 ;
6885        S2++;
6886      }
6887      for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
6888        J3 = -I1-2*(I2)+2*I3 ;
6889        S2++;
6890      }
6891    }
6892    if ((4*N1-5)%12 == 0) {
6893      I2 = (4*N1-5)/12 ;
6894      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
6895        J3 = I1-(I2)-(I3) ;
6896        S1++;
6897      }
6898      if (3*I1%4 == 0) {
6899        I3 = 3*I1/4 ;
6900        J1 = -2*I1+3*I3 ;
6901        if ((2*I1+J1)%3 == 0) {
6902          J2 = (2*I1+J1)/3 ;
6903          J3 = 3*I1-4*J2 ;
6904          S1++;
6905          S2++;
6906        }
6907      }
6908      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
6909        J3 = -I1-2*(I2)+2*I3 ;
6910        S2++;
6911      }
6912    }
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++) {
6915        J3 = I1-(I2)-(I3) ;
6916        S1++;
6917      }
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 ;
6920        S2++;
6921      }
6922    }
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++) {
6925        J3 = I1-(I2)-(I3) ;
6926        S1++;
6927      }
6928    }
6929  }
6930}
6931if (N1 == 9) {
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 ;
6934    S2++;
6935  }
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 ;
6939      S2++;
6940    }
6941    for (I3=12-2*I2;I3<=N1;I3++) {
6942      J3 = 12-(I2)-(I3) ;
6943      S1++;
6944      J3 = -(12)-2*(I2)+2*I3 ;
6945      S2++;
6946    }
6947  }
6948  for (I3=4*2;I3<=floord(13*2-1,3);I3++) {
6949    J3 = -(12)-2*(I2)+2*I3 ;
6950    S2++;
6951    J3 = 12-(I2)-(I3) ;
6952    S1++;
6953  }
6954  if (13*12%18 == 0) {
6955    I3 = 13*12/18 ;
6956    J1 = -2*(12)+3*I3 ;
6957    if ((2*12+J1)%3 == 0) {
6958      J2 = (2*12+J1)/3 ;
6959      J3 = 3*12-4*J2 ;
6960      S1++;
6961      S2++;
6962    }
6963  }
6964  for (I3=ceild(13*2+1,3);I3<=min(N1,5*2);I3++) {
6965    J3 = 12-(I2)-(I3) ;
6966    S1++;
6967    J3 = -(12)-2*(I2)+2*I3 ;
6968    S2++;
6969  }
6970  for (I3=ceild(2*N1,3);I3<=floord(2*N1-1,2);I3++) {
6971    J3 = 12-(I2)-(I3) ;
6972    S1++;
6973  }
6974  J1 = -2*(12)+3*N1 ;
6975  if ((2*12+J1)%3 == 0) {
6976    J2 = (2*12+J1)/3 ;
6977    J3 = 3*12-4*J2 ;
6978    S1++;
6979    S2++;
6980  }
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++) {
6983      J3 = 12-(I2)-(I3) ;
6984      S1++;
6985    }
6986  }
6987}
6988for (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 ;
6992      S2++;
6993    }
6994    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
6995      J3 = I1-(I2)-(I3) ;
6996      S1++;
6997    }
6998  }
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 ;
7002      S2++;
7003    }
7004    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
7005      J3 = I1-(I2)-(I3) ;
7006      S1++;
7007      J3 = -I1-2*(I2)+2*I3 ;
7008      S2++;
7009    }
7010    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
7011      J3 = I1-(I2)-(I3) ;
7012      S1++;
7013    }
7014  }
7015  if (I1%7 == 0) {
7016    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
7017      J3 = -I1-2*(I2)+2*I3 ;
7018      S2++;
7019    }
7020    if (5*I1%7 == 0) {
7021      I3 = 5*I1/7 ;
7022      J1 = -2*I1+3*I3 ;
7023      if ((2*I1+J1)%3 == 0) {
7024        J2 = (2*I1+J1)/3 ;
7025        J3 = 3*I1-4*J2 ;
7026        S1++;
7027        S2++;
7028      }
7029    }
7030    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
7031      J3 = I1-(I2)-(I3) ;
7032      S1++;
7033      J3 = -I1-2*(I2)+2*I3 ;
7034      S2++;
7035    }
7036    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
7037      J3 = I1-(I2)-(I3) ;
7038      S1++;
7039    }
7040  }
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 ;
7044      S2++;
7045    }
7046    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
7047      J3 = -I1-2*(I2)+2*I3 ;
7048      S2++;
7049      J3 = I1-(I2)-(I3) ;
7050      S1++;
7051    }
7052    if ((2*I1+I2)%3 == 0) {
7053      I3 = (2*I1+I2)/3 ;
7054      J1 = -2*I1+3*I3 ;
7055      if ((2*I1+J1)%3 == 0) {
7056        J2 = (2*I1+J1)/3 ;
7057        J3 = 3*I1-4*J2 ;
7058        S1++;
7059        S2++;
7060      }
7061    }
7062    for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
7063      J3 = I1-(I2)-(I3) ;
7064      S1++;
7065      J3 = -I1-2*(I2)+2*I3 ;
7066      S2++;
7067    }
7068    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
7069      J3 = I1-(I2)-(I3) ;
7070      S1++;
7071    }
7072  }
7073  if ((I1-1)%6 == 0) {
7074    I2 = (I1-1)/6 ;
7075    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
7076      J3 = -I1-2*(I2)+2*I3 ;
7077      S2++;
7078      J3 = I1-(I2)-(I3) ;
7079      S1++;
7080    }
7081    if ((13*I1-1)%18 == 0) {
7082      I3 = (13*I1-1)/18 ;
7083      J1 = -2*I1+3*I3 ;
7084      if ((2*I1+J1)%3 == 0) {
7085        J2 = (2*I1+J1)/3 ;
7086        J3 = 3*I1-4*J2 ;
7087        S1++;
7088        S2++;
7089      }
7090    }
7091    for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
7092      J3 = I1-(I2)-(I3) ;
7093      S1++;
7094      J3 = -I1-2*(I2)+2*I3 ;
7095      S2++;
7096    }
7097    if ((5*I1+1)%6 == 0) {
7098      I3 = (5*I1+1)/6 ;
7099      J3 = I1-(I2)-(I3) ;
7100      S1++;
7101    }
7102  }
7103  if (I1%6 == 0) {
7104    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
7105      J3 = -I1-2*(I2)+2*I3 ;
7106      S2++;
7107      J3 = I1-(I2)-(I3) ;
7108      S1++;
7109    }
7110    if (13*I1%18 == 0) {
7111      I3 = 13*I1/18 ;
7112      J1 = -2*I1+3*I3 ;
7113      if ((2*I1+J1)%3 == 0) {
7114        J2 = (2*I1+J1)/3 ;
7115        J3 = 3*I1-4*J2 ;
7116        S1++;
7117        S2++;
7118      }
7119    }
7120    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
7121      J3 = I1-(I2)-(I3) ;
7122      S1++;
7123      J3 = -I1-2*(I2)+2*I3 ;
7124      S2++;
7125    }
7126  }
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++) {
7129      J3 = I1-(I2)-(I3) ;
7130      S1++;
7131    }
7132    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
7133      J3 = -I1-2*(I2)+2*I3 ;
7134      S2++;
7135      J3 = I1-(I2)-(I3) ;
7136      S1++;
7137    }
7138    if ((2*I1+I2)%3 == 0) {
7139      I3 = (2*I1+I2)/3 ;
7140      J1 = -2*I1+3*I3 ;
7141      if ((2*I1+J1)%3 == 0) {
7142        J2 = (2*I1+J1)/3 ;
7143        J3 = 3*I1-4*J2 ;
7144        S1++;
7145        S2++;
7146      }
7147    }
7148    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
7149      J3 = I1-(I2)-(I3) ;
7150      S1++;
7151      J3 = -I1-2*(I2)+2*I3 ;
7152      S2++;
7153    }
7154  }
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++) {
7157      J3 = I1-(I2)-(I3) ;
7158      S1++;
7159    }
7160    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
7161      J3 = -I1-2*(I2)+2*I3 ;
7162      S2++;
7163      J3 = I1-(I2)-(I3) ;
7164      S1++;
7165    }
7166    if ((2*I1+I2)%3 == 0) {
7167      I3 = (2*I1+I2)/3 ;
7168      J1 = -2*I1+3*I3 ;
7169      if ((2*I1+J1)%3 == 0) {
7170        J2 = (2*I1+J1)/3 ;
7171        J3 = 3*I1-4*J2 ;
7172        S1++;
7173        S2++;
7174      }
7175    }
7176    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
7177      J3 = I1-(I2)-(I3) ;
7178      S1++;
7179      J3 = -I1-2*(I2)+2*I3 ;
7180      S2++;
7181    }
7182    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
7183      J3 = -I1-2*(I2)+2*I3 ;
7184      S2++;
7185    }
7186  }
7187  if ((I1-1)%4 == 0) {
7188    I2 = (I1-1)/4 ;
7189    for (I3=2*I2+1;I3<=3*I2;I3++) {
7190      J3 = I1-(I2)-(I3) ;
7191      S1++;
7192    }
7193    if ((9*I1-1)%12 == 0) {
7194      I3 = (9*I1-1)/12 ;
7195      J1 = -2*I1+3*I3 ;
7196      if ((2*I1+J1)%3 == 0) {
7197        J2 = (2*I1+J1)/3 ;
7198        J3 = 3*I1-4*J2 ;
7199        S1++;
7200        S2++;
7201      }
7202    }
7203    if ((3*I1+1)%4 == 0) {
7204      I3 = (3*I1+1)/4 ;
7205      J3 = I1-(I2)-(I3) ;
7206      S1++;
7207      J3 = -I1-2*(I2)+2*I3 ;
7208      S2++;
7209    }
7210    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
7211      J3 = -I1-2*(I2)+2*I3 ;
7212      S2++;
7213    }
7214  }
7215  if (I1%4 == 0) {
7216    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
7217      J3 = I1-(I2)-(I3) ;
7218      S1++;
7219    }
7220    if (3*I1%4 == 0) {
7221      I3 = 3*I1/4 ;
7222      J1 = -2*I1+3*I3 ;
7223      if ((2*I1+J1)%3 == 0) {
7224        J2 = (2*I1+J1)/3 ;
7225        J3 = 3*I1-4*J2 ;
7226        S1++;
7227        S2++;
7228      }
7229    }
7230    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
7231      J3 = -I1-2*(I2)+2*I3 ;
7232      S2++;
7233    }
7234  }
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++) {
7237      J3 = I1-(I2)-(I3) ;
7238      S1++;
7239    }
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 ;
7242      S2++;
7243    }
7244  }
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++) {
7247      J3 = I1-(I2)-(I3) ;
7248      S1++;
7249    }
7250  }
7251}
7252for (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 ;
7256      S2++;
7257    }
7258    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
7259      J3 = I1-(I2)-(I3) ;
7260      S1++;
7261    }
7262  }
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 ;
7266      S2++;
7267    }
7268    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
7269      J3 = I1-(I2)-(I3) ;
7270      S1++;
7271      J3 = -I1-2*(I2)+2*I3 ;
7272      S2++;
7273    }
7274    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
7275      J3 = I1-(I2)-(I3) ;
7276      S1++;
7277    }
7278  }
7279  if (I1%7 == 0) {
7280    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
7281      J3 = -I1-2*(I2)+2*I3 ;
7282      S2++;
7283    }
7284    if (5*I1%7 == 0) {
7285      I3 = 5*I1/7 ;
7286      J1 = -2*I1+3*I3 ;
7287      if ((2*I1+J1)%3 == 0) {
7288        J2 = (2*I1+J1)/3 ;
7289        J3 = 3*I1-4*J2 ;
7290        S1++;
7291        S2++;
7292      }
7293    }
7294    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
7295      J3 = I1-(I2)-(I3) ;
7296      S1++;
7297      J3 = -I1-2*(I2)+2*I3 ;
7298      S2++;
7299    }
7300    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
7301      J3 = I1-(I2)-(I3) ;
7302      S1++;
7303    }
7304  }
7305  if ((I1-1)%6 == 0) {
7306    I2 = (I1-1)/6 ;
7307    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
7308      J3 = -I1-2*(I2)+2*I3 ;
7309      S2++;
7310      J3 = I1-(I2)-(I3) ;
7311      S1++;
7312    }
7313    if ((13*I1-1)%18 == 0) {
7314      I3 = (13*I1-1)/18 ;
7315      J1 = -2*I1+3*I3 ;
7316      if ((2*I1+J1)%3 == 0) {
7317        J2 = (2*I1+J1)/3 ;
7318        J3 = 3*I1-4*J2 ;
7319        S1++;
7320        S2++;
7321      }
7322    }
7323    for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
7324      J3 = I1-(I2)-(I3) ;
7325      S1++;
7326      J3 = -I1-2*(I2)+2*I3 ;
7327      S2++;
7328    }
7329    if ((5*I1+1)%6 == 0) {
7330      I3 = (5*I1+1)/6 ;
7331      J3 = I1-(I2)-(I3) ;
7332      S1++;
7333    }
7334  }
7335  if (I1%6 == 0) {
7336    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
7337      J3 = -I1-2*(I2)+2*I3 ;
7338      S2++;
7339      J3 = I1-(I2)-(I3) ;
7340      S1++;
7341    }
7342    if (13*I1%18 == 0) {
7343      I3 = 13*I1/18 ;
7344      J1 = -2*I1+3*I3 ;
7345      if ((2*I1+J1)%3 == 0) {
7346        J2 = (2*I1+J1)/3 ;
7347        J3 = 3*I1-4*J2 ;
7348        S1++;
7349        S2++;
7350      }
7351    }
7352    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
7353      J3 = I1-(I2)-(I3) ;
7354      S1++;
7355      J3 = -I1-2*(I2)+2*I3 ;
7356      S2++;
7357    }
7358  }
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++) {
7361      J3 = I1-(I2)-(I3) ;
7362      S1++;
7363    }
7364    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
7365      J3 = -I1-2*(I2)+2*I3 ;
7366      S2++;
7367      J3 = I1-(I2)-(I3) ;
7368      S1++;
7369    }
7370    if ((2*I1+I2)%3 == 0) {
7371      I3 = (2*I1+I2)/3 ;
7372      J1 = -2*I1+3*I3 ;
7373      if ((2*I1+J1)%3 == 0) {
7374        J2 = (2*I1+J1)/3 ;
7375        J3 = 3*I1-4*J2 ;
7376        S1++;
7377        S2++;
7378      }
7379    }
7380    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
7381      J3 = I1-(I2)-(I3) ;
7382      S1++;
7383      J3 = -I1-2*(I2)+2*I3 ;
7384      S2++;
7385    }
7386    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
7387      J3 = -I1-2*(I2)+2*I3 ;
7388      S2++;
7389    }
7390  }
7391  if ((I1-1)%4 == 0) {
7392    I2 = (I1-1)/4 ;
7393    for (I3=2*I2+1;I3<=3*I2;I3++) {
7394      J3 = I1-(I2)-(I3) ;
7395      S1++;
7396    }
7397    if ((9*I1-1)%12 == 0) {
7398      I3 = (9*I1-1)/12 ;
7399      J1 = -2*I1+3*I3 ;
7400      if ((2*I1+J1)%3 == 0) {
7401        J2 = (2*I1+J1)/3 ;
7402        J3 = 3*I1-4*J2 ;
7403        S1++;
7404        S2++;
7405      }
7406    }
7407    if ((3*I1+1)%4 == 0) {
7408      I3 = (3*I1+1)/4 ;
7409      J3 = I1-(I2)-(I3) ;
7410      S1++;
7411      J3 = -I1-2*(I2)+2*I3 ;
7412      S2++;
7413    }
7414    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
7415      J3 = -I1-2*(I2)+2*I3 ;
7416      S2++;
7417    }
7418  }
7419  if (I1%4 == 0) {
7420    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
7421      J3 = I1-(I2)-(I3) ;
7422      S1++;
7423    }
7424    if (3*I1%4 == 0) {
7425      I3 = 3*I1/4 ;
7426      J1 = -2*I1+3*I3 ;
7427      if ((2*I1+J1)%3 == 0) {
7428        J2 = (2*I1+J1)/3 ;
7429        J3 = 3*I1-4*J2 ;
7430        S1++;
7431        S2++;
7432      }
7433    }
7434    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
7435      J3 = -I1-2*(I2)+2*I3 ;
7436      S2++;
7437    }
7438  }
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++) {
7441      J3 = I1-(I2)-(I3) ;
7442      S1++;
7443    }
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 ;
7446      S2++;
7447    }
7448  }
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++) {
7451      J3 = I1-(I2)-(I3) ;
7452      S1++;
7453    }
7454  }
7455}
7456for (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 ;
7460      S2++;
7461    }
7462  }
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 ;
7466      S2++;
7467    }
7468    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
7469      J3 = I1-(I2)-(I3) ;
7470      S1++;
7471    }
7472  }
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 ;
7476      S2++;
7477    }
7478    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
7479      J3 = I1-(I2)-(I3) ;
7480      S1++;
7481      J3 = -I1-2*(I2)+2*I3 ;
7482      S2++;
7483    }
7484    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
7485      J3 = I1-(I2)-(I3) ;
7486      S1++;
7487    }
7488  }
7489  if (I1%7 == 0) {
7490    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
7491      J3 = -I1-2*(I2)+2*I3 ;
7492      S2++;
7493    }
7494    if (5*I1%7 == 0) {
7495      I3 = 5*I1/7 ;
7496      J1 = -2*I1+3*I3 ;
7497      if ((2*I1+J1)%3 == 0) {
7498        J2 = (2*I1+J1)/3 ;
7499        J3 = 3*I1-4*J2 ;
7500        S1++;
7501        S2++;
7502      }
7503    }
7504    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
7505      J3 = I1-(I2)-(I3) ;
7506      S1++;
7507      J3 = -I1-2*(I2)+2*I3 ;
7508      S2++;
7509    }
7510    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
7511      J3 = I1-(I2)-(I3) ;
7512      S1++;
7513    }
7514  }
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 ;
7518      S2++;
7519    }
7520    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
7521      J3 = -I1-2*(I2)+2*I3 ;
7522      S2++;
7523      J3 = I1-(I2)-(I3) ;
7524      S1++;
7525    }
7526    if ((2*I1+I2)%3 == 0) {
7527      I3 = (2*I1+I2)/3 ;
7528      J1 = -2*I1+3*I3 ;
7529      if ((2*I1+J1)%3 == 0) {
7530        J2 = (2*I1+J1)/3 ;
7531        J3 = 3*I1-4*J2 ;
7532        S1++;
7533        S2++;
7534      }
7535    }
7536    for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
7537      J3 = I1-(I2)-(I3) ;
7538      S1++;
7539      J3 = -I1-2*(I2)+2*I3 ;
7540      S2++;
7541    }
7542    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
7543      J3 = I1-(I2)-(I3) ;
7544      S1++;
7545    }
7546  }
7547  if ((I1-1)%6 == 0) {
7548    I2 = (I1-1)/6 ;
7549    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
7550      J3 = -I1-2*(I2)+2*I3 ;
7551      S2++;
7552      J3 = I1-(I2)-(I3) ;
7553      S1++;
7554    }
7555    if ((13*I1-1)%18 == 0) {
7556      I3 = (13*I1-1)/18 ;
7557      J1 = -2*I1+3*I3 ;
7558      if ((2*I1+J1)%3 == 0) {
7559        J2 = (2*I1+J1)/3 ;
7560        J3 = 3*I1-4*J2 ;
7561        S1++;
7562        S2++;
7563      }
7564    }
7565    for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
7566      J3 = I1-(I2)-(I3) ;
7567      S1++;
7568      J3 = -I1-2*(I2)+2*I3 ;
7569      S2++;
7570    }
7571    if ((5*I1+1)%6 == 0) {
7572      I3 = (5*I1+1)/6 ;
7573      J3 = I1-(I2)-(I3) ;
7574      S1++;
7575    }
7576  }
7577  if (I1%6 == 0) {
7578    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
7579      J3 = -I1-2*(I2)+2*I3 ;
7580      S2++;
7581      J3 = I1-(I2)-(I3) ;
7582      S1++;
7583    }
7584    if (13*I1%18 == 0) {
7585      I3 = 13*I1/18 ;
7586      J1 = -2*I1+3*I3 ;
7587      if ((2*I1+J1)%3 == 0) {
7588        J2 = (2*I1+J1)/3 ;
7589        J3 = 3*I1-4*J2 ;
7590        S1++;
7591        S2++;
7592      }
7593    }
7594    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
7595      J3 = I1-(I2)-(I3) ;
7596      S1++;
7597      J3 = -I1-2*(I2)+2*I3 ;
7598      S2++;
7599    }
7600  }
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++) {
7603      J3 = I1-(I2)-(I3) ;
7604      S1++;
7605    }
7606    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
7607      J3 = -I1-2*(I2)+2*I3 ;
7608      S2++;
7609      J3 = I1-(I2)-(I3) ;
7610      S1++;
7611    }
7612    if ((2*I1+I2)%3 == 0) {
7613      I3 = (2*I1+I2)/3 ;
7614      J1 = -2*I1+3*I3 ;
7615      if ((2*I1+J1)%3 == 0) {
7616        J2 = (2*I1+J1)/3 ;
7617        J3 = 3*I1-4*J2 ;
7618        S1++;
7619        S2++;
7620      }
7621    }
7622    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
7623      J3 = I1-(I2)-(I3) ;
7624      S1++;
7625      J3 = -I1-2*(I2)+2*I3 ;
7626      S2++;
7627    }
7628  }
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++) {
7631      J3 = I1-(I2)-(I3) ;
7632      S1++;
7633    }
7634    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
7635      J3 = -I1-2*(I2)+2*I3 ;
7636      S2++;
7637      J3 = I1-(I2)-(I3) ;
7638      S1++;
7639    }
7640    if ((2*I1+I2)%3 == 0) {
7641      I3 = (2*I1+I2)/3 ;
7642      J1 = -2*I1+3*I3 ;
7643      if ((2*I1+J1)%3 == 0) {
7644        J2 = (2*I1+J1)/3 ;
7645        J3 = 3*I1-4*J2 ;
7646        S1++;
7647        S2++;
7648      }
7649    }
7650    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
7651      J3 = I1-(I2)-(I3) ;
7652      S1++;
7653      J3 = -I1-2*(I2)+2*I3 ;
7654      S2++;
7655    }
7656    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
7657      J3 = -I1-2*(I2)+2*I3 ;
7658      S2++;
7659    }
7660  }
7661  if ((I1-1)%4 == 0) {
7662    I2 = (I1-1)/4 ;
7663    for (I3=2*I2+1;I3<=3*I2;I3++) {
7664      J3 = I1-(I2)-(I3) ;
7665      S1++;
7666    }
7667    if ((9*I1-1)%12 == 0) {
7668      I3 = (9*I1-1)/12 ;
7669      J1 = -2*I1+3*I3 ;
7670      if ((2*I1+J1)%3 == 0) {
7671        J2 = (2*I1+J1)/3 ;
7672        J3 = 3*I1-4*J2 ;
7673        S1++;
7674        S2++;
7675      }
7676    }
7677    if ((3*I1+1)%4 == 0) {
7678      I3 = (3*I1+1)/4 ;
7679      J3 = I1-(I2)-(I3) ;
7680      S1++;
7681      J3 = -I1-2*(I2)+2*I3 ;
7682      S2++;
7683    }
7684    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
7685      J3 = -I1-2*(I2)+2*I3 ;
7686      S2++;
7687    }
7688  }
7689  if (I1%4 == 0) {
7690    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
7691      J3 = I1-(I2)-(I3) ;
7692      S1++;
7693    }
7694    if (3*I1%4 == 0) {
7695      I3 = 3*I1/4 ;
7696      J1 = -2*I1+3*I3 ;
7697      if ((2*I1+J1)%3 == 0) {
7698        J2 = (2*I1+J1)/3 ;
7699        J3 = 3*I1-4*J2 ;
7700        S1++;
7701        S2++;
7702      }
7703    }
7704    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
7705      J3 = -I1-2*(I2)+2*I3 ;
7706      S2++;
7707    }
7708  }
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++) {
7711      J3 = I1-(I2)-(I3) ;
7712      S1++;
7713    }
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 ;
7716      S2++;
7717    }
7718  }
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++) {
7721      J3 = I1-(I2)-(I3) ;
7722      S1++;
7723    }
7724  }
7725}
7726if (N1 == 16) {
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 ;
7729    S2++;
7730  }
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 ;
7733    S2++;
7734  }
7735  for (I3=20-2*(2);I3<=min(N1,20-(2));I3++) {
7736    J3 = 20-(I2)-(I3) ;
7737    S1++;
7738  }
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 ;
7742      S2++;
7743    }
7744    for (I3=20-2*I2;I3<=floord(2*20+3*I2,3);I3++) {
7745      J3 = 20-(I2)-(I3) ;
7746      S1++;
7747      J3 = -(20)-2*(I2)+2*I3 ;
7748      S2++;
7749    }
7750    for (I3=ceild(2*20+3*I2+1,3);I3<=min(N1,20-I2);I3++) {
7751      J3 = 20-(I2)-(I3) ;
7752      S1++;
7753    }
7754  }
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 ;
7758      S2++;
7759    }
7760    for (I3=20-2*I2;I3<=N1;I3++) {
7761      J3 = 20-(I2)-(I3) ;
7762      S1++;
7763      J3 = -(20)-2*(I2)+2*I3 ;
7764      S2++;
7765    }
7766  }
7767  if (20%7 == 0) {
7768    for (I3=ceild(9*20/7,2);I3<=5*20/7-1;I3++) {
7769      J3 = -(20)-2*(I2)+2*I3 ;
7770      S2++;
7771    }
7772    if (5*20%7 == 0) {
7773      I3 = 5*20/7 ;
7774      J1 = -2*(20)+3*I3 ;
7775      if ((2*20+J1)%3 == 0) {
7776        J2 = (2*20+J1)/3 ;
7777        J3 = 3*20-4*J2 ;
7778        S1++;
7779        S2++;
7780      }
7781    }
7782    for (I3=ceild(15*20/7+1,3);I3<=N1;I3++) {
7783      J3 = 20-(I2)-(I3) ;
7784      S1++;
7785      J3 = -(20)-2*(I2)+2*I3 ;
7786      S2++;
7787    }
7788  }
7789  for (I3=ceild(20+2*3,2);I3<=20-2*(3)-1;I3++) {
7790    J3 = -(20)-2*(I2)+2*I3 ;
7791    S2++;
7792  }
7793  for (I3=20-2*(3);I3<=floord(2*20+3-1,3);I3++) {
7794    J3 = -(20)-2*(I2)+2*I3 ;
7795    S2++;
7796    J3 = 20-(I2)-(I3) ;
7797    S1++;
7798  }
7799  if ((2*20+3)%3 == 0) {
7800    I3 = (2*20+3)/3 ;
7801    J1 = -2*(20)+3*I3 ;
7802    if ((2*20+J1)%3 == 0) {
7803      J2 = (2*20+J1)/3 ;
7804      J3 = 3*20-4*J2 ;
7805      S1++;
7806      S2++;
7807    }
7808  }
7809  for (I3=ceild(2*20+3+1,3);I3<=N1;I3++) {
7810    J3 = 20-(I2)-(I3) ;
7811    S1++;
7812    J3 = -(20)-2*(I2)+2*I3 ;
7813    S2++;
7814  }
7815  if (10%3 == 0) {
7816    for (I3=4*10/3;I3<=floord(13*10/3-1,3);I3++) {
7817      J3 = -(20)-2*(I2)+2*I3 ;
7818      S2++;
7819      J3 = 20-(I2)-(I3) ;
7820      S1++;
7821    }
7822    if (13*20%18 == 0) {
7823      I3 = 13*20/18 ;
7824      J1 = -2*(20)+3*I3 ;
7825      if ((2*20+J1)%3 == 0) {
7826        J2 = (2*20+J1)/3 ;
7827        J3 = 3*20-4*J2 ;
7828        S1++;
7829        S2++;
7830      }
7831    }
7832    for (I3=ceild(13*10/3+1,3);I3<=min(N1,5*10/3);I3++) {
7833      J3 = 20-(I2)-(I3) ;
7834      S1++;
7835      J3 = -(20)-2*(I2)+2*I3 ;
7836      S2++;
7837    }
7838  }
7839  for (I3=20-2*(4);I3<=floord(20+2*4-1,2);I3++) {
7840    J3 = 20-(I2)-(I3) ;
7841    S1++;
7842  }
7843  for (I3=ceild(20+2*4,2);I3<=floord(2*20+4-1,3);I3++) {
7844    J3 = -(20)-2*(I2)+2*I3 ;
7845    S2++;
7846    J3 = 20-(I2)-(I3) ;
7847    S1++;
7848  }
7849  if ((2*20+4)%3 == 0) {
7850    I3 = (2*20+4)/3 ;
7851    J1 = -2*(20)+3*I3 ;
7852    if ((2*20+J1)%3 == 0) {
7853      J2 = (2*20+J1)/3 ;
7854      J3 = 3*20-4*J2 ;
7855      S1++;
7856      S2++;
7857    }
7858  }
7859  for (I3=ceild(2*20+4+1,3);I3<=N1;I3++) {
7860    J3 = 20-(I2)-(I3) ;
7861    S1++;
7862    J3 = -(20)-2*(I2)+2*I3 ;
7863    S2++;
7864  }
7865  for (I3=2*5;I3<=floord(6*5-1,2);I3++) {
7866    J3 = 20-(I2)-(I3) ;
7867    S1++;
7868  }
7869  if (3*20%4 == 0) {
7870    I3 = 3*20/4 ;
7871    J1 = -2*(20)+3*I3 ;
7872    if ((2*20+J1)%3 == 0) {
7873      J2 = (2*20+J1)/3 ;
7874      J3 = 3*20-4*J2 ;
7875      S1++;
7876      S2++;
7877    }
7878  }
7879  for (I3=3*5+1;I3<=min(N1,floord(11*5,3));I3++) {
7880    J3 = -(20)-2*(I2)+2*I3 ;
7881    S2++;
7882  }
7883  for (I3=max(max(1,ceild(20-(6),2)),20-2*(6));I3<=20-(6);I3++) {
7884    J3 = 20-(I2)-(I3) ;
7885    S1++;
7886  }
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 ;
7889    S2++;
7890  }
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++) {
7893      J3 = 20-(I2)-(I3) ;
7894      S1++;
7895    }
7896  }
7897}
7898if (N1 == 12) {
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 ;
7901    S2++;
7902  }
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 ;
7906      S2++;
7907    }
7908    for (I3=15-2*I2;I3<=min(N1,15-I2);I3++) {
7909      J3 = 15-(I2)-(I3) ;
7910      S1++;
7911    }
7912  }
7913  if (5%3 == 0) {
7914    for (I3=ceild(15+2*5/3,2);I3<=15-2*(5/3)-1;I3++) {
7915      J3 = -(15)-2*(I2)+2*I3 ;
7916      S2++;
7917    }
7918    for (I3=15-2*(5/3);I3<=floord(2*15+3*5/3,3);I3++) {
7919      J3 = 15-(I2)-(I3) ;
7920      S1++;
7921      J3 = -(15)-2*(I2)+2*I3 ;
7922      S2++;
7923    }
7924    for (I3=ceild(2*15+3*5/3+1,3);I3<=min(N1,15-(5/3));I3++) {
7925      J3 = 15-(I2)-(I3) ;
7926      S1++;
7927    }
7928  }
7929  for (I3=ceild(15+2*2,2);I3<=15-2*(2)-1;I3++) {
7930    J3 = -(15)-2*(I2)+2*I3 ;
7931    S2++;
7932  }
7933  for (I3=15-2*(2);I3<=N1;I3++) {
7934    J3 = 15-(I2)-(I3) ;
7935    S1++;
7936    J3 = -(15)-2*(I2)+2*I3 ;
7937    S2++;
7938  }
7939  if (15%7 == 0) {
7940    for (I3=ceild(9*15/7,2);I3<=5*15/7-1;I3++) {
7941      J3 = -(15)-2*(I2)+2*I3 ;
7942      S2++;
7943    }
7944    if (5*15%7 == 0) {
7945      I3 = 5*15/7 ;
7946      J1 = -2*(15)+3*I3 ;
7947      if ((2*15+J1)%3 == 0) {
7948        J2 = (2*15+J1)/3 ;
7949        J3 = 3*15-4*J2 ;
7950        S1++;
7951        S2++;
7952      }
7953    }
7954    for (I3=ceild(15*15/7+1,3);I3<=N1;I3++) {
7955      J3 = 15-(I2)-(I3) ;
7956      S1++;
7957      J3 = -(15)-2*(I2)+2*I3 ;
7958      S2++;
7959    }
7960  }
7961  if (5%2 == 0) {
7962    for (I3=4*5/2;I3<=floord(13*5/2-1,3);I3++) {
7963      J3 = -(15)-2*(I2)+2*I3 ;
7964      S2++;
7965      J3 = 15-(I2)-(I3) ;
7966      S1++;
7967    }
7968    if (13*15%18 == 0) {
7969      I3 = 13*15/18 ;
7970      J1 = -2*(15)+3*I3 ;
7971      if ((2*15+J1)%3 == 0) {
7972        J2 = (2*15+J1)/3 ;
7973        J3 = 3*15-4*J2 ;
7974        S1++;
7975        S2++;
7976      }
7977    }
7978    for (I3=ceild(13*5/2+1,3);I3<=min(N1,5*5/2);I3++) {
7979      J3 = 15-(I2)-(I3) ;
7980      S1++;
7981      J3 = -(15)-2*(I2)+2*I3 ;
7982      S2++;
7983    }
7984  }
7985  for (I3=15-2*(3);I3<=floord(15+2*3-1,2);I3++) {
7986    J3 = 15-(I2)-(I3) ;
7987    S1++;
7988  }
7989  for (I3=ceild(15+2*3,2);I3<=floord(2*15+3-1,3);I3++) {
7990    J3 = -(15)-2*(I2)+2*I3 ;
7991    S2++;
7992    J3 = 15-(I2)-(I3) ;
7993    S1++;
7994  }
7995  if ((2*15+3)%3 == 0) {
7996    I3 = (2*15+3)/3 ;
7997    J1 = -2*(15)+3*I3 ;
7998    if ((2*15+J1)%3 == 0) {
7999      J2 = (2*15+J1)/3 ;
8000      J3 = 3*15-4*J2 ;
8001      S1++;
8002      S2++;
8003    }
8004  }
8005  for (I3=ceild(2*15+3+1,3);I3<=N1;I3++) {
8006    J3 = 15-(I2)-(I3) ;
8007    S1++;
8008    J3 = -(15)-2*(I2)+2*I3 ;
8009    S2++;
8010  }
8011  for (I3=max(max(1,ceild(15-(4),2)),15-2*(4));I3<=15-(4);I3++) {
8012    J3 = 15-(I2)-(I3) ;
8013    S1++;
8014  }
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 ;
8017    S2++;
8018  }
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++) {
8021      J3 = 15-(I2)-(I3) ;
8022      S1++;
8023    }
8024  }
8025}
8026if ((N1 <= 15) && (N1 >= 14)) {
8027  if ((4*N1-5)%3 == 0) {
8028    I1 = (4*N1-5)/3 ;
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 ;
8032        S2++;
8033      }
8034    }
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 ;
8038        S2++;
8039      }
8040      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
8041        J3 = I1-(I2)-(I3) ;
8042        S1++;
8043      }
8044    }
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 ;
8048        S2++;
8049      }
8050      for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
8051        J3 = I1-(I2)-(I3) ;
8052        S1++;
8053        J3 = -I1-2*(I2)+2*I3 ;
8054        S2++;
8055      }
8056      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
8057        J3 = I1-(I2)-(I3) ;
8058        S1++;
8059      }
8060    }
8061    if ((4*N1-5)%18 == 0) {
8062      I2 = (4*N1-5)/18 ;
8063      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
8064        J3 = -I1-2*(I2)+2*I3 ;
8065        S2++;
8066        J3 = I1-(I2)-(I3) ;
8067        S1++;
8068      }
8069      if (13*I1%18 == 0) {
8070        I3 = 13*I1/18 ;
8071        J1 = -2*I1+3*I3 ;
8072        if ((2*I1+J1)%3 == 0) {
8073          J2 = (2*I1+J1)/3 ;
8074          J3 = 3*I1-4*J2 ;
8075          S1++;
8076          S2++;
8077        }
8078      }
8079      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
8080        J3 = I1-(I2)-(I3) ;
8081        S1++;
8082        J3 = -I1-2*(I2)+2*I3 ;
8083        S2++;
8084      }
8085    }
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++) {
8088        J3 = I1-(I2)-(I3) ;
8089        S1++;
8090      }
8091      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
8092        J3 = -I1-2*(I2)+2*I3 ;
8093        S2++;
8094        J3 = I1-(I2)-(I3) ;
8095        S1++;
8096      }
8097      if ((2*I1+I2)%3 == 0) {
8098        I3 = (2*I1+I2)/3 ;
8099        J1 = -2*I1+3*I3 ;
8100        if ((2*I1+J1)%3 == 0) {
8101          J2 = (2*I1+J1)/3 ;
8102          J3 = 3*I1-4*J2 ;
8103          S1++;
8104          S2++;
8105        }
8106      }
8107      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
8108        J3 = I1-(I2)-(I3) ;
8109        S1++;
8110        J3 = -I1-2*(I2)+2*I3 ;
8111        S2++;
8112      }
8113    }
8114    if ((N1-2)%3 == 0) {
8115      I2 = (N1-2)/3 ;
8116      for (I3=2*I2+1;I3<=3*I2;I3++) {
8117        J3 = I1-(I2)-(I3) ;
8118        S1++;
8119      }
8120      if ((9*I1-1)%12 == 0) {
8121        I3 = (9*I1-1)/12 ;
8122        J1 = -2*I1+3*I3 ;
8123        if ((2*I1+J1)%3 == 0) {
8124          J2 = (2*I1+J1)/3 ;
8125          J3 = 3*I1-4*J2 ;
8126          S1++;
8127          S2++;
8128        }
8129      }
8130      if ((3*I1+1)%4 == 0) {
8131        I3 = (3*I1+1)/4 ;
8132        J3 = I1-(I2)-(I3) ;
8133        S1++;
8134        J3 = -I1-2*(I2)+2*I3 ;
8135        S2++;
8136      }
8137      for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
8138        J3 = -I1-2*(I2)+2*I3 ;
8139        S2++;
8140      }
8141    }
8142    if ((4*N1-5)%12 == 0) {
8143      I2 = (4*N1-5)/12 ;
8144      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
8145        J3 = I1-(I2)-(I3) ;
8146        S1++;
8147      }
8148      if (3*I1%4 == 0) {
8149        I3 = 3*I1/4 ;
8150        J1 = -2*I1+3*I3 ;
8151        if ((2*I1+J1)%3 == 0) {
8152          J2 = (2*I1+J1)/3 ;
8153          J3 = 3*I1-4*J2 ;
8154          S1++;
8155          S2++;
8156        }
8157      }
8158      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
8159        J3 = -I1-2*(I2)+2*I3 ;
8160        S2++;
8161      }
8162    }
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++) {
8165        J3 = I1-(I2)-(I3) ;
8166        S1++;
8167      }
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 ;
8170        S2++;
8171      }
8172    }
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++) {
8175        J3 = I1-(I2)-(I3) ;
8176        S1++;
8177      }
8178    }
8179  }
8180}
8181if (N1 == 13) {
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 ;
8184    S2++;
8185  }
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 ;
8189      S2++;
8190    }
8191    for (I3=16-2*I2;I3<=min(N1,16-I2);I3++) {
8192      J3 = 16-(I2)-(I3) ;
8193      S1++;
8194    }
8195  }
8196  for (I3=ceild(16+2*2,2);I3<=16-2*(2)-1;I3++) {
8197    J3 = -(16)-2*(I2)+2*I3 ;
8198    S2++;
8199  }
8200  for (I3=16-2*(2);I3<=floord(2*16+3*2,3);I3++) {
8201    J3 = 16-(I2)-(I3) ;
8202    S1++;
8203    J3 = -(16)-2*(I2)+2*I3 ;
8204    S2++;
8205  }
8206  for (I3=ceild(2*16+3*2+1,3);I3<=min(N1,16-(2));I3++) {
8207    J3 = 16-(I2)-(I3) ;
8208    S1++;
8209  }
8210  if (8%3 == 0) {
8211    for (I3=4*8/3;I3<=floord(13*8/3-1,3);I3++) {
8212      J3 = -(16)-2*(I2)+2*I3 ;
8213      S2++;
8214      J3 = 16-(I2)-(I3) ;
8215      S1++;
8216    }
8217    if (13*16%18 == 0) {
8218      I3 = 13*16/18 ;
8219      J1 = -2*(16)+3*I3 ;
8220      if ((2*16+J1)%3 == 0) {
8221        J2 = (2*16+J1)/3 ;
8222        J3 = 3*16-4*J2 ;
8223        S1++;
8224        S2++;
8225      }
8226    }
8227    for (I3=ceild(13*8/3+1,3);I3<=min(N1,5*8/3);I3++) {
8228      J3 = 16-(I2)-(I3) ;
8229      S1++;
8230      J3 = -(16)-2*(I2)+2*I3 ;
8231      S2++;
8232    }
8233  }
8234  for (I3=16-2*(3);I3<=floord(16+2*3-1,2);I3++) {
8235    J3 = 16-(I2)-(I3) ;
8236    S1++;
8237  }
8238  for (I3=ceild(16+2*3,2);I3<=floord(2*16+3-1,3);I3++) {
8239    J3 = -(16)-2*(I2)+2*I3 ;
8240    S2++;
8241    J3 = 16-(I2)-(I3) ;
8242    S1++;
8243  }
8244  if ((2*16+3)%3 == 0) {
8245    I3 = (2*16+3)/3 ;
8246    J1 = -2*(16)+3*I3 ;
8247    if ((2*16+J1)%3 == 0) {
8248      J2 = (2*16+J1)/3 ;
8249      J3 = 3*16-4*J2 ;
8250      S1++;
8251      S2++;
8252    }
8253  }
8254  for (I3=ceild(2*16+3+1,3);I3<=N1;I3++) {
8255    J3 = 16-(I2)-(I3) ;
8256    S1++;
8257    J3 = -(16)-2*(I2)+2*I3 ;
8258    S2++;
8259  }
8260  for (I3=2*4;I3<=floord(6*4-1,2);I3++) {
8261    J3 = 16-(I2)-(I3) ;
8262    S1++;
8263  }
8264  if (3*16%4 == 0) {
8265    I3 = 3*16/4 ;
8266    J1 = -2*(16)+3*I3 ;
8267    if ((2*16+J1)%3 == 0) {
8268      J2 = (2*16+J1)/3 ;
8269      J3 = 3*16-4*J2 ;
8270      S1++;
8271      S2++;
8272    }
8273  }
8274  for (I3=3*4+1;I3<=min(N1,floord(11*4,3));I3++) {
8275    J3 = -(16)-2*(I2)+2*I3 ;
8276    S2++;
8277  }
8278  for (I3=max(max(1,ceild(16-(5),2)),16-2*(5));I3<=16-(5);I3++) {
8279    J3 = 16-(I2)-(I3) ;
8280    S1++;
8281  }
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 ;
8284    S2++;
8285  }
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++) {
8288      J3 = 16-(I2)-(I3) ;
8289      S1++;
8290    }
8291  }
8292}
8293for (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 ;
8297      S2++;
8298    }
8299  }
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 ;
8303      S2++;
8304    }
8305    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
8306      J3 = I1-(I2)-(I3) ;
8307      S1++;
8308    }
8309  }
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 ;
8313      S2++;
8314    }
8315    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
8316      J3 = I1-(I2)-(I3) ;
8317      S1++;
8318      J3 = -I1-2*(I2)+2*I3 ;
8319      S2++;
8320    }
8321    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
8322      J3 = I1-(I2)-(I3) ;
8323      S1++;
8324    }
8325  }
8326  if (I1%7 == 0) {
8327    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
8328      J3 = -I1-2*(I2)+2*I3 ;
8329      S2++;
8330    }
8331    if (5*I1%7 == 0) {
8332      I3 = 5*I1/7 ;
8333      J1 = -2*I1+3*I3 ;
8334      if ((2*I1+J1)%3 == 0) {
8335        J2 = (2*I1+J1)/3 ;
8336        J3 = 3*I1-4*J2 ;
8337        S1++;
8338        S2++;
8339      }
8340    }
8341    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
8342      J3 = I1-(I2)-(I3) ;
8343      S1++;
8344      J3 = -I1-2*(I2)+2*I3 ;
8345      S2++;
8346    }
8347    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
8348      J3 = I1-(I2)-(I3) ;
8349      S1++;
8350    }
8351  }
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 ;
8355      S2++;
8356    }
8357    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
8358      J3 = -I1-2*(I2)+2*I3 ;
8359      S2++;
8360      J3 = I1-(I2)-(I3) ;
8361      S1++;
8362    }
8363    if ((2*I1+I2)%3 == 0) {
8364      I3 = (2*I1+I2)/3 ;
8365      J1 = -2*I1+3*I3 ;
8366      if ((2*I1+J1)%3 == 0) {
8367        J2 = (2*I1+J1)/3 ;
8368        J3 = 3*I1-4*J2 ;
8369        S1++;
8370        S2++;
8371      }
8372    }
8373    for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
8374      J3 = I1-(I2)-(I3) ;
8375      S1++;
8376      J3 = -I1-2*(I2)+2*I3 ;
8377      S2++;
8378    }
8379    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
8380      J3 = I1-(I2)-(I3) ;
8381      S1++;
8382    }
8383  }
8384  if ((I1-1)%6 == 0) {
8385    I2 = (I1-1)/6 ;
8386    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
8387      J3 = -I1-2*(I2)+2*I3 ;
8388      S2++;
8389      J3 = I1-(I2)-(I3) ;
8390      S1++;
8391    }
8392    if ((13*I1-1)%18 == 0) {
8393      I3 = (13*I1-1)/18 ;
8394      J1 = -2*I1+3*I3 ;
8395      if ((2*I1+J1)%3 == 0) {
8396        J2 = (2*I1+J1)/3 ;
8397        J3 = 3*I1-4*J2 ;
8398        S1++;
8399        S2++;
8400      }
8401    }
8402    for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
8403      J3 = I1-(I2)-(I3) ;
8404      S1++;
8405      J3 = -I1-2*(I2)+2*I3 ;
8406      S2++;
8407    }
8408    if ((5*I1+1)%6 == 0) {
8409      I3 = (5*I1+1)/6 ;
8410      J3 = I1-(I2)-(I3) ;
8411      S1++;
8412    }
8413  }
8414  if (I1%6 == 0) {
8415    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
8416      J3 = -I1-2*(I2)+2*I3 ;
8417      S2++;
8418      J3 = I1-(I2)-(I3) ;
8419      S1++;
8420    }
8421    if (13*I1%18 == 0) {
8422      I3 = 13*I1/18 ;
8423      J1 = -2*I1+3*I3 ;
8424      if ((2*I1+J1)%3 == 0) {
8425        J2 = (2*I1+J1)/3 ;
8426        J3 = 3*I1-4*J2 ;
8427        S1++;
8428        S2++;
8429      }
8430    }
8431    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
8432      J3 = I1-(I2)-(I3) ;
8433      S1++;
8434      J3 = -I1-2*(I2)+2*I3 ;
8435      S2++;
8436    }
8437  }
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++) {
8440      J3 = I1-(I2)-(I3) ;
8441      S1++;
8442    }
8443    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
8444      J3 = -I1-2*(I2)+2*I3 ;
8445      S2++;
8446      J3 = I1-(I2)-(I3) ;
8447      S1++;
8448    }
8449    if ((2*I1+I2)%3 == 0) {
8450      I3 = (2*I1+I2)/3 ;
8451      J1 = -2*I1+3*I3 ;
8452      if ((2*I1+J1)%3 == 0) {
8453        J2 = (2*I1+J1)/3 ;
8454        J3 = 3*I1-4*J2 ;
8455        S1++;
8456        S2++;
8457      }
8458    }
8459    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
8460      J3 = I1-(I2)-(I3) ;
8461      S1++;
8462      J3 = -I1-2*(I2)+2*I3 ;
8463      S2++;
8464    }
8465    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
8466      J3 = -I1-2*(I2)+2*I3 ;
8467      S2++;
8468    }
8469  }
8470  if ((I1-1)%4 == 0) {
8471    I2 = (I1-1)/4 ;
8472    for (I3=2*I2+1;I3<=3*I2;I3++) {
8473      J3 = I1-(I2)-(I3) ;
8474      S1++;
8475    }
8476    if ((9*I1-1)%12 == 0) {
8477      I3 = (9*I1-1)/12 ;
8478      J1 = -2*I1+3*I3 ;
8479      if ((2*I1+J1)%3 == 0) {
8480        J2 = (2*I1+J1)/3 ;
8481        J3 = 3*I1-4*J2 ;
8482        S1++;
8483        S2++;
8484      }
8485    }
8486    if ((3*I1+1)%4 == 0) {
8487      I3 = (3*I1+1)/4 ;
8488      J3 = I1-(I2)-(I3) ;
8489      S1++;
8490      J3 = -I1-2*(I2)+2*I3 ;
8491      S2++;
8492    }
8493    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
8494      J3 = -I1-2*(I2)+2*I3 ;
8495      S2++;
8496    }
8497  }
8498  if (I1%4 == 0) {
8499    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
8500      J3 = I1-(I2)-(I3) ;
8501      S1++;
8502    }
8503    if (3*I1%4 == 0) {
8504      I3 = 3*I1/4 ;
8505      J1 = -2*I1+3*I3 ;
8506      if ((2*I1+J1)%3 == 0) {
8507        J2 = (2*I1+J1)/3 ;
8508        J3 = 3*I1-4*J2 ;
8509        S1++;
8510        S2++;
8511      }
8512    }
8513    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
8514      J3 = -I1-2*(I2)+2*I3 ;
8515      S2++;
8516    }
8517  }
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++) {
8520      J3 = I1-(I2)-(I3) ;
8521      S1++;
8522    }
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 ;
8525      S2++;
8526    }
8527  }
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++) {
8530      J3 = I1-(I2)-(I3) ;
8531      S1++;
8532    }
8533  }
8534}
8535if ((N1 <= 14) && (N1 >= 14)) {
8536  if ((4*N1-4)%3 == 0) {
8537    I1 = (4*N1-4)/3 ;
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 ;
8541        S2++;
8542      }
8543    }
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 ;
8547        S2++;
8548      }
8549      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
8550        J3 = I1-(I2)-(I3) ;
8551        S1++;
8552      }
8553    }
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 ;
8557        S2++;
8558      }
8559      for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
8560        J3 = I1-(I2)-(I3) ;
8561        S1++;
8562        J3 = -I1-2*(I2)+2*I3 ;
8563        S2++;
8564      }
8565      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
8566        J3 = I1-(I2)-(I3) ;
8567        S1++;
8568      }
8569    }
8570    if ((4*N1-4)%21 == 0) {
8571      I2 = (4*N1-4)/21 ;
8572      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
8573        J3 = -I1-2*(I2)+2*I3 ;
8574        S2++;
8575      }
8576      if (5*I1%7 == 0) {
8577        I3 = 5*I1/7 ;
8578        J1 = -2*I1+3*I3 ;
8579        if ((2*I1+J1)%3 == 0) {
8580          J2 = (2*I1+J1)/3 ;
8581          J3 = 3*I1-4*J2 ;
8582          S1++;
8583          S2++;
8584        }
8585      }
8586      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
8587        J3 = I1-(I2)-(I3) ;
8588        S1++;
8589        J3 = -I1-2*(I2)+2*I3 ;
8590        S2++;
8591      }
8592    }
8593    if ((2*N1-2)%9 == 0) {
8594      I2 = (2*N1-2)/9 ;
8595      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
8596        J3 = -I1-2*(I2)+2*I3 ;
8597        S2++;
8598        J3 = I1-(I2)-(I3) ;
8599        S1++;
8600      }
8601      if (13*I1%18 == 0) {
8602        I3 = 13*I1/18 ;
8603        J1 = -2*I1+3*I3 ;
8604        if ((2*I1+J1)%3 == 0) {
8605          J2 = (2*I1+J1)/3 ;
8606          J3 = 3*I1-4*J2 ;
8607          S1++;
8608          S2++;
8609        }
8610      }
8611      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
8612        J3 = I1-(I2)-(I3) ;
8613        S1++;
8614        J3 = -I1-2*(I2)+2*I3 ;
8615        S2++;
8616      }
8617    }
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++) {
8620        J3 = I1-(I2)-(I3) ;
8621        S1++;
8622      }
8623      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
8624        J3 = -I1-2*(I2)+2*I3 ;
8625        S2++;
8626        J3 = I1-(I2)-(I3) ;
8627        S1++;
8628      }
8629      if ((2*I1+I2)%3 == 0) {
8630        I3 = (2*I1+I2)/3 ;
8631        J1 = -2*I1+3*I3 ;
8632        if ((2*I1+J1)%3 == 0) {
8633          J2 = (2*I1+J1)/3 ;
8634          J3 = 3*I1-4*J2 ;
8635          S1++;
8636          S2++;
8637        }
8638      }
8639      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
8640        J3 = I1-(I2)-(I3) ;
8641        S1++;
8642        J3 = -I1-2*(I2)+2*I3 ;
8643        S2++;
8644      }
8645    }
8646    if ((N1-1)%3 == 0) {
8647      I2 = (N1-1)/3 ;
8648      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
8649        J3 = I1-(I2)-(I3) ;
8650        S1++;
8651      }
8652      if (3*I1%4 == 0) {
8653        I3 = 3*I1/4 ;
8654        J1 = -2*I1+3*I3 ;
8655        if ((2*I1+J1)%3 == 0) {
8656          J2 = (2*I1+J1)/3 ;
8657          J3 = 3*I1-4*J2 ;
8658          S1++;
8659          S2++;
8660        }
8661      }
8662      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
8663        J3 = -I1-2*(I2)+2*I3 ;
8664        S2++;
8665      }
8666    }
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++) {
8669        J3 = I1-(I2)-(I3) ;
8670        S1++;
8671      }
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 ;
8674        S2++;
8675      }
8676    }
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++) {
8679        J3 = I1-(I2)-(I3) ;
8680        S1++;
8681      }
8682    }
8683  }
8684}
8685if (N1 == 15) {
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 ;
8688    S2++;
8689  }
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 ;
8692    S2++;
8693  }
8694  for (I3=19-2*(2);I3<=min(N1,19-(2));I3++) {
8695    J3 = 19-(I2)-(I3) ;
8696    S1++;
8697  }
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 ;
8701      S2++;
8702    }
8703    for (I3=19-2*I2;I3<=N1;I3++) {
8704      J3 = 19-(I2)-(I3) ;
8705      S1++;
8706      J3 = -(19)-2*(I2)+2*I3 ;
8707      S2++;
8708    }
8709  }
8710  if (19%7 == 0) {
8711    for (I3=ceild(9*19/7,2);I3<=5*19/7-1;I3++) {
8712      J3 = -(19)-2*(I2)+2*I3 ;
8713      S2++;
8714    }
8715    if (5*19%7 == 0) {
8716      I3 = 5*19/7 ;
8717      J1 = -2*(19)+3*I3 ;
8718      if ((2*19+J1)%3 == 0) {
8719        J2 = (2*19+J1)/3 ;
8720        J3 = 3*19-4*J2 ;
8721        S1++;
8722        S2++;
8723      }
8724    }
8725    for (I3=ceild(15*19/7+1,3);I3<=N1;I3++) {
8726      J3 = 19-(I2)-(I3) ;
8727      S1++;
8728      J3 = -(19)-2*(I2)+2*I3 ;
8729      S2++;
8730    }
8731  }
8732  for (I3=4*3+1;I3<=floord(13*3+1,3);I3++) {
8733    J3 = -(19)-2*(I2)+2*I3 ;
8734    S2++;
8735    J3 = 19-(I2)-(I3) ;
8736    S1++;
8737  }
8738  if ((13*19-1)%18 == 0) {
8739    I3 = (13*19-1)/18 ;
8740    J1 = -2*(19)+3*I3 ;
8741    if ((2*19+J1)%3 == 0) {
8742      J2 = (2*19+J1)/3 ;
8743      J3 = 3*19-4*J2 ;
8744      S1++;
8745      S2++;
8746    }
8747  }
8748  for (I3=ceild(13*3+3,3);I3<=N1;I3++) {
8749    J3 = 19-(I2)-(I3) ;
8750    S1++;
8751    J3 = -(19)-2*(I2)+2*I3 ;
8752    S2++;
8753  }
8754  if (19%6 == 0) {
8755    for (I3=4*19/6;I3<=floord(13*19/6-1,3);I3++) {
8756      J3 = -(19)-2*(I2)+2*I3 ;
8757      S2++;
8758      J3 = 19-(I2)-(I3) ;
8759      S1++;
8760    }
8761    if (13*19%18 == 0) {
8762      I3 = 13*19/18 ;
8763      J1 = -2*(19)+3*I3 ;
8764      if ((2*19+J1)%3 == 0) {
8765        J2 = (2*19+J1)/3 ;
8766        J3 = 3*19-4*J2 ;
8767        S1++;
8768        S2++;
8769      }
8770    }
8771    for (I3=ceild(13*19/6+1,3);I3<=min(N1,5*19/6);I3++) {
8772      J3 = 19-(I2)-(I3) ;
8773      S1++;
8774      J3 = -(19)-2*(I2)+2*I3 ;
8775      S2++;
8776    }
8777  }
8778  for (I3=19-2*(4);I3<=floord(19+2*4-1,2);I3++) {
8779    J3 = 19-(I2)-(I3) ;
8780    S1++;
8781  }
8782  for (I3=ceild(19+2*4,2);I3<=floord(2*19+4-1,3);I3++) {
8783    J3 = -(19)-2*(I2)+2*I3 ;
8784    S2++;
8785    J3 = 19-(I2)-(I3) ;
8786    S1++;
8787  }
8788  if ((2*19+4)%3 == 0) {
8789    I3 = (2*19+4)/3 ;
8790    J1 = -2*(19)+3*I3 ;
8791    if ((2*19+J1)%3 == 0) {
8792      J2 = (2*19+J1)/3 ;
8793      J3 = 3*19-4*J2 ;
8794      S1++;
8795      S2++;
8796    }
8797  }
8798  for (I3=ceild(2*19+4+1,3);I3<=N1;I3++) {
8799    J3 = 19-(I2)-(I3) ;
8800    S1++;
8801    J3 = -(19)-2*(I2)+2*I3 ;
8802    S2++;
8803  }
8804  for (I3=max(max(1,ceild(19-(5),2)),19-2*(5));I3<=19-(5);I3++) {
8805    J3 = 19-(I2)-(I3) ;
8806    S1++;
8807  }
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 ;
8810    S2++;
8811  }
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++) {
8814      J3 = 19-(I2)-(I3) ;
8815      S1++;
8816    }
8817  }
8818}
8819if ((N1 <= 12) && (N1 >= 12)) {
8820  if ((9*N1-2)%7 == 0) {
8821    I1 = (9*N1-2)/7 ;
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 ;
8825        S2++;
8826      }
8827    }
8828    if ((N1-1)%7 == 0) {
8829      I2 = (N1-1)/7 ;
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 ;
8832        S2++;
8833      }
8834      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
8835        J3 = I1-(I2)-(I3) ;
8836        S1++;
8837      }
8838    }
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 ;
8842        S2++;
8843      }
8844      for (I3=I1-2*I2;I3<=N1;I3++) {
8845        J3 = I1-(I2)-(I3) ;
8846        S1++;
8847        J3 = -I1-2*(I2)+2*I3 ;
8848        S2++;
8849      }
8850    }
8851    if ((9*N1-2)%49 == 0) {
8852      I2 = (9*N1-2)/49 ;
8853      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
8854        J3 = -I1-2*(I2)+2*I3 ;
8855        S2++;
8856      }
8857      if (5*I1%7 == 0) {
8858        I3 = 5*I1/7 ;
8859        J1 = -2*I1+3*I3 ;
8860        if ((2*I1+J1)%3 == 0) {
8861          J2 = (2*I1+J1)/3 ;
8862          J3 = 3*I1-4*J2 ;
8863          S1++;
8864          S2++;
8865        }
8866      }
8867      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
8868        J3 = I1-(I2)-(I3) ;
8869        S1++;
8870        J3 = -I1-2*(I2)+2*I3 ;
8871        S2++;
8872      }
8873    }
8874    if ((9*N1-2)%42 == 0) {
8875      I2 = (9*N1-2)/42 ;
8876      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
8877        J3 = -I1-2*(I2)+2*I3 ;
8878        S2++;
8879        J3 = I1-(I2)-(I3) ;
8880        S1++;
8881      }
8882      if (13*I1%18 == 0) {
8883        I3 = 13*I1/18 ;
8884        J1 = -2*I1+3*I3 ;
8885        if ((2*I1+J1)%3 == 0) {
8886          J2 = (2*I1+J1)/3 ;
8887          J3 = 3*I1-4*J2 ;
8888          S1++;
8889          S2++;
8890        }
8891      }
8892      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
8893        J3 = I1-(I2)-(I3) ;
8894        S1++;
8895        J3 = -I1-2*(I2)+2*I3 ;
8896        S2++;
8897      }
8898    }
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++) {
8901        J3 = I1-(I2)-(I3) ;
8902        S1++;
8903      }
8904      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
8905        J3 = -I1-2*(I2)+2*I3 ;
8906        S2++;
8907        J3 = I1-(I2)-(I3) ;
8908        S1++;
8909      }
8910      if ((2*I1+I2)%3 == 0) {
8911        I3 = (2*I1+I2)/3 ;
8912        J1 = -2*I1+3*I3 ;
8913        if ((2*I1+J1)%3 == 0) {
8914          J2 = (2*I1+J1)/3 ;
8915          J3 = 3*I1-4*J2 ;
8916          S1++;
8917          S2++;
8918        }
8919      }
8920      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
8921        J3 = I1-(I2)-(I3) ;
8922        S1++;
8923        J3 = -I1-2*(I2)+2*I3 ;
8924        S2++;
8925      }
8926    }
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++) {
8929        J3 = I1-(I2)-(I3) ;
8930        S1++;
8931      }
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 ;
8934        S2++;
8935      }
8936    }
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++) {
8939        J3 = I1-(I2)-(I3) ;
8940        S1++;
8941      }
8942    }
8943  }
8944}
8945if (N1 >= 17) {
8946  if (6*N1%5 == 0) {
8947    I1 = 6*N1/5 ;
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 ;
8951        S2++;
8952      }
8953    }
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 ;
8957        S2++;
8958      }
8959      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
8960        J3 = I1-(I2)-(I3) ;
8961        S1++;
8962      }
8963    }
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 ;
8967        S2++;
8968      }
8969      for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
8970        J3 = I1-(I2)-(I3) ;
8971        S1++;
8972        J3 = -I1-2*(I2)+2*I3 ;
8973        S2++;
8974      }
8975      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
8976        J3 = I1-(I2)-(I3) ;
8977        S1++;
8978      }
8979    }
8980    if (6*N1%35 == 0) {
8981      I2 = 6*N1/35 ;
8982      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
8983        J3 = -I1-2*(I2)+2*I3 ;
8984        S2++;
8985      }
8986      if (5*I1%7 == 0) {
8987        I3 = 5*I1/7 ;
8988        J1 = -2*I1+3*I3 ;
8989        if ((2*I1+J1)%3 == 0) {
8990          J2 = (2*I1+J1)/3 ;
8991          J3 = 3*I1-4*J2 ;
8992          S1++;
8993          S2++;
8994        }
8995      }
8996      for (I3=ceild(15*I2+1,3);I3<=floord(17*I2,3);I3++) {
8997        J3 = I1-(I2)-(I3) ;
8998        S1++;
8999        J3 = -I1-2*(I2)+2*I3 ;
9000        S2++;
9001      }
9002      for (I3=ceild(17*I2+1,3);I3<=min(N1,6*I2);I3++) {
9003        J3 = I1-(I2)-(I3) ;
9004        S1++;
9005      }
9006    }
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 ;
9010        S2++;
9011      }
9012      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
9013        J3 = -I1-2*(I2)+2*I3 ;
9014        S2++;
9015        J3 = I1-(I2)-(I3) ;
9016        S1++;
9017      }
9018      if ((2*I1+I2)%3 == 0) {
9019        I3 = (2*I1+I2)/3 ;
9020        J1 = -2*I1+3*I3 ;
9021        if ((2*I1+J1)%3 == 0) {
9022          J2 = (2*I1+J1)/3 ;
9023          J3 = 3*I1-4*J2 ;
9024          S1++;
9025          S2++;
9026        }
9027      }
9028      for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
9029        J3 = I1-(I2)-(I3) ;
9030        S1++;
9031        J3 = -I1-2*(I2)+2*I3 ;
9032        S2++;
9033      }
9034      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
9035        J3 = I1-(I2)-(I3) ;
9036        S1++;
9037      }
9038    }
9039    if (N1%5 == 0) {
9040      for (I3=4*N1/5;I3<=floord(13*N1/5-1,3);I3++) {
9041        J3 = -I1-2*(I2)+2*I3 ;
9042        S2++;
9043        J3 = I1-(I2)-(I3) ;
9044        S1++;
9045      }
9046      if (13*I1%18 == 0) {
9047        I3 = 13*I1/18 ;
9048        J1 = -2*I1+3*I3 ;
9049        if ((2*I1+J1)%3 == 0) {
9050          J2 = (2*I1+J1)/3 ;
9051          J3 = 3*I1-4*J2 ;
9052          S1++;
9053          S2++;
9054        }
9055      }
9056      for (I3=ceild(13*N1/5+1,3);I3<=min(N1,5*N1/5);I3++) {
9057        J3 = I1-(I2)-(I3) ;
9058        S1++;
9059        J3 = -I1-2*(I2)+2*I3 ;
9060        S2++;
9061      }
9062    }
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++) {
9065        J3 = I1-(I2)-(I3) ;
9066        S1++;
9067      }
9068      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
9069        J3 = -I1-2*(I2)+2*I3 ;
9070        S2++;
9071        J3 = I1-(I2)-(I3) ;
9072        S1++;
9073      }
9074      if ((2*I1+I2)%3 == 0) {
9075        I3 = (2*I1+I2)/3 ;
9076        J1 = -2*I1+3*I3 ;
9077        if ((2*I1+J1)%3 == 0) {
9078          J2 = (2*I1+J1)/3 ;
9079          J3 = 3*I1-4*J2 ;
9080          S1++;
9081          S2++;
9082        }
9083      }
9084      for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
9085        J3 = I1-(I2)-(I3) ;
9086        S1++;
9087        J3 = -I1-2*(I2)+2*I3 ;
9088        S2++;
9089      }
9090      for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
9091        J3 = -I1-2*(I2)+2*I3 ;
9092        S2++;
9093      }
9094    }
9095    if ((6*N1-5)%20 == 0) {
9096      I2 = (6*N1-5)/20 ;
9097      for (I3=2*I2+1;I3<=3*I2;I3++) {
9098        J3 = I1-(I2)-(I3) ;
9099        S1++;
9100      }
9101      if ((9*I1-1)%12 == 0) {
9102        I3 = (9*I1-1)/12 ;
9103        J1 = -2*I1+3*I3 ;
9104        if ((2*I1+J1)%3 == 0) {
9105          J2 = (2*I1+J1)/3 ;
9106          J3 = 3*I1-4*J2 ;
9107          S1++;
9108          S2++;
9109        }
9110      }
9111      if ((3*I1+1)%4 == 0) {
9112        I3 = (3*I1+1)/4 ;
9113        J3 = I1-(I2)-(I3) ;
9114        S1++;
9115        J3 = -I1-2*(I2)+2*I3 ;
9116        S2++;
9117      }
9118      for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
9119        J3 = -I1-2*(I2)+2*I3 ;
9120        S2++;
9121      }
9122    }
9123    if (3*N1%10 == 0) {
9124      I2 = 3*N1/10 ;
9125      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
9126        J3 = I1-(I2)-(I3) ;
9127        S1++;
9128      }
9129      if (3*I1%4 == 0) {
9130        I3 = 3*I1/4 ;
9131        J1 = -2*I1+3*I3 ;
9132        if ((2*I1+J1)%3 == 0) {
9133          J2 = (2*I1+J1)/3 ;
9134          J3 = 3*I1-4*J2 ;
9135          S1++;
9136          S2++;
9137        }
9138      }
9139      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
9140        J3 = -I1-2*(I2)+2*I3 ;
9141        S2++;
9142      }
9143    }
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++) {
9146        J3 = I1-(I2)-(I3) ;
9147        S1++;
9148      }
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 ;
9151        S2++;
9152      }
9153    }
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++) {
9156        J3 = I1-(I2)-(I3) ;
9157        S1++;
9158      }
9159    }
9160  }
9161}
9162for (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 ;
9166      S2++;
9167    }
9168  }
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 ;
9172      S2++;
9173    }
9174    for (I3=I1-2*I2;I3<=N1;I3++) {
9175      J3 = I1-(I2)-(I3) ;
9176      S1++;
9177      J3 = -I1-2*(I2)+2*I3 ;
9178      S2++;
9179    }
9180  }
9181  if (I1%7 == 0) {
9182    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
9183      J3 = -I1-2*(I2)+2*I3 ;
9184      S2++;
9185    }
9186    if (5*I1%7 == 0) {
9187      I3 = 5*I1/7 ;
9188      J1 = -2*I1+3*I3 ;
9189      if ((2*I1+J1)%3 == 0) {
9190        J2 = (2*I1+J1)/3 ;
9191        J3 = 3*I1-4*J2 ;
9192        S1++;
9193        S2++;
9194      }
9195    }
9196    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
9197      J3 = I1-(I2)-(I3) ;
9198      S1++;
9199      J3 = -I1-2*(I2)+2*I3 ;
9200      S2++;
9201    }
9202  }
9203  if ((I1-1)%6 == 0) {
9204    I2 = (I1-1)/6 ;
9205    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
9206      J3 = -I1-2*(I2)+2*I3 ;
9207      S2++;
9208      J3 = I1-(I2)-(I3) ;
9209      S1++;
9210    }
9211    if ((13*I1-1)%18 == 0) {
9212      I3 = (13*I1-1)/18 ;
9213      J1 = -2*I1+3*I3 ;
9214      if ((2*I1+J1)%3 == 0) {
9215        J2 = (2*I1+J1)/3 ;
9216        J3 = 3*I1-4*J2 ;
9217        S1++;
9218        S2++;
9219      }
9220    }
9221    for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
9222      J3 = I1-(I2)-(I3) ;
9223      S1++;
9224      J3 = -I1-2*(I2)+2*I3 ;
9225      S2++;
9226    }
9227  }
9228  if (I1%6 == 0) {
9229    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
9230      J3 = -I1-2*(I2)+2*I3 ;
9231      S2++;
9232      J3 = I1-(I2)-(I3) ;
9233      S1++;
9234    }
9235    if (13*I1%18 == 0) {
9236      I3 = 13*I1/18 ;
9237      J1 = -2*I1+3*I3 ;
9238      if ((2*I1+J1)%3 == 0) {
9239        J2 = (2*I1+J1)/3 ;
9240        J3 = 3*I1-4*J2 ;
9241        S1++;
9242        S2++;
9243      }
9244    }
9245    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
9246      J3 = I1-(I2)-(I3) ;
9247      S1++;
9248      J3 = -I1-2*(I2)+2*I3 ;
9249      S2++;
9250    }
9251  }
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++) {
9254      J3 = I1-(I2)-(I3) ;
9255      S1++;
9256    }
9257    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
9258      J3 = -I1-2*(I2)+2*I3 ;
9259      S2++;
9260      J3 = I1-(I2)-(I3) ;
9261      S1++;
9262    }
9263    if ((2*I1+I2)%3 == 0) {
9264      I3 = (2*I1+I2)/3 ;
9265      J1 = -2*I1+3*I3 ;
9266      if ((2*I1+J1)%3 == 0) {
9267        J2 = (2*I1+J1)/3 ;
9268        J3 = 3*I1-4*J2 ;
9269        S1++;
9270        S2++;
9271      }
9272    }
9273    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
9274      J3 = I1-(I2)-(I3) ;
9275      S1++;
9276      J3 = -I1-2*(I2)+2*I3 ;
9277      S2++;
9278    }
9279  }
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++) {
9282      J3 = I1-(I2)-(I3) ;
9283      S1++;
9284    }
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 ;
9287      S2++;
9288    }
9289  }
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++) {
9292      J3 = I1-(I2)-(I3) ;
9293      S1++;
9294    }
9295  }
9296}
9297if (N1 >= 23) {
9298  if ((6*N1+1)%5 == 0) {
9299    I1 = (6*N1+1)/5 ;
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 ;
9303        S2++;
9304      }
9305    }
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 ;
9309        S2++;
9310      }
9311      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
9312        J3 = I1-(I2)-(I3) ;
9313        S1++;
9314      }
9315    }
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 ;
9319        S2++;
9320      }
9321      for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
9322        J3 = I1-(I2)-(I3) ;
9323        S1++;
9324        J3 = -I1-2*(I2)+2*I3 ;
9325        S2++;
9326      }
9327      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
9328        J3 = I1-(I2)-(I3) ;
9329        S1++;
9330      }
9331    }
9332    if ((6*N1+1)%35 == 0) {
9333      I2 = (6*N1+1)/35 ;
9334      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
9335        J3 = -I1-2*(I2)+2*I3 ;
9336        S2++;
9337      }
9338      if (5*I1%7 == 0) {
9339        I3 = 5*I1/7 ;
9340        J1 = -2*I1+3*I3 ;
9341        if ((2*I1+J1)%3 == 0) {
9342          J2 = (2*I1+J1)/3 ;
9343          J3 = 3*I1-4*J2 ;
9344          S1++;
9345          S2++;
9346        }
9347      }
9348      for (I3=ceild(15*I2+1,3);I3<=floord(17*I2,3);I3++) {
9349        J3 = I1-(I2)-(I3) ;
9350        S1++;
9351        J3 = -I1-2*(I2)+2*I3 ;
9352        S2++;
9353      }
9354      for (I3=ceild(17*I2+1,3);I3<=min(N1,6*I2);I3++) {
9355        J3 = I1-(I2)-(I3) ;
9356        S1++;
9357      }
9358    }
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 ;
9362        S2++;
9363      }
9364      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
9365        J3 = -I1-2*(I2)+2*I3 ;
9366        S2++;
9367        J3 = I1-(I2)-(I3) ;
9368        S1++;
9369      }
9370      if ((2*I1+I2)%3 == 0) {
9371        I3 = (2*I1+I2)/3 ;
9372        J1 = -2*I1+3*I3 ;
9373        if ((2*I1+J1)%3 == 0) {
9374          J2 = (2*I1+J1)/3 ;
9375          J3 = 3*I1-4*J2 ;
9376          S1++;
9377          S2++;
9378        }
9379      }
9380      for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
9381        J3 = I1-(I2)-(I3) ;
9382        S1++;
9383        J3 = -I1-2*(I2)+2*I3 ;
9384        S2++;
9385      }
9386      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
9387        J3 = I1-(I2)-(I3) ;
9388        S1++;
9389      }
9390    }
9391    if ((6*N1+1)%30 == 0) {
9392      I2 = (6*N1+1)/30 ;
9393      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
9394        J3 = -I1-2*(I2)+2*I3 ;
9395        S2++;
9396        J3 = I1-(I2)-(I3) ;
9397        S1++;
9398      }
9399      if (13*I1%18 == 0) {
9400        I3 = 13*I1/18 ;
9401        J1 = -2*I1+3*I3 ;
9402        if ((2*I1+J1)%3 == 0) {
9403          J2 = (2*I1+J1)/3 ;
9404          J3 = 3*I1-4*J2 ;
9405          S1++;
9406          S2++;
9407        }
9408      }
9409      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
9410        J3 = I1-(I2)-(I3) ;
9411        S1++;
9412        J3 = -I1-2*(I2)+2*I3 ;
9413        S2++;
9414      }
9415    }
9416    if ((N1+1)%5 == 0) {
9417      I2 = (N1+1)/5 ;
9418      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
9419        J3 = I1-(I2)-(I3) ;
9420        S1++;
9421      }
9422      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
9423        J3 = -I1-2*(I2)+2*I3 ;
9424        S2++;
9425        J3 = I1-(I2)-(I3) ;
9426        S1++;
9427      }
9428      if ((2*I1+I2)%3 == 0) {
9429        I3 = (2*I1+I2)/3 ;
9430        J1 = -2*I1+3*I3 ;
9431        if ((2*I1+J1)%3 == 0) {
9432          J2 = (2*I1+J1)/3 ;
9433          J3 = 3*I1-4*J2 ;
9434          S1++;
9435          S2++;
9436        }
9437      }
9438      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
9439        J3 = I1-(I2)-(I3) ;
9440        S1++;
9441        J3 = -I1-2*(I2)+2*I3 ;
9442        S2++;
9443      }
9444    }
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++) {
9447        J3 = I1-(I2)-(I3) ;
9448        S1++;
9449      }
9450      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
9451        J3 = -I1-2*(I2)+2*I3 ;
9452        S2++;
9453        J3 = I1-(I2)-(I3) ;
9454        S1++;
9455      }
9456      if ((2*I1+I2)%3 == 0) {
9457        I3 = (2*I1+I2)/3 ;
9458        J1 = -2*I1+3*I3 ;
9459        if ((2*I1+J1)%3 == 0) {
9460          J2 = (2*I1+J1)/3 ;
9461          J3 = 3*I1-4*J2 ;
9462          S1++;
9463          S2++;
9464        }
9465      }
9466      for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
9467        J3 = I1-(I2)-(I3) ;
9468        S1++;
9469        J3 = -I1-2*(I2)+2*I3 ;
9470        S2++;
9471      }
9472      for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
9473        J3 = -I1-2*(I2)+2*I3 ;
9474        S2++;
9475      }
9476    }
9477    if ((3*N1-2)%10 == 0) {
9478      I2 = (3*N1-2)/10 ;
9479      for (I3=2*I2+1;I3<=3*I2;I3++) {
9480        J3 = I1-(I2)-(I3) ;
9481        S1++;
9482      }
9483      if ((9*I1-1)%12 == 0) {
9484        I3 = (9*I1-1)/12 ;
9485        J1 = -2*I1+3*I3 ;
9486        if ((2*I1+J1)%3 == 0) {
9487          J2 = (2*I1+J1)/3 ;
9488          J3 = 3*I1-4*J2 ;
9489          S1++;
9490          S2++;
9491        }
9492      }
9493      if ((3*I1+1)%4 == 0) {
9494        I3 = (3*I1+1)/4 ;
9495        J3 = I1-(I2)-(I3) ;
9496        S1++;
9497        J3 = -I1-2*(I2)+2*I3 ;
9498        S2++;
9499      }
9500      for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
9501        J3 = -I1-2*(I2)+2*I3 ;
9502        S2++;
9503      }
9504    }
9505    if ((6*N1+1)%20 == 0) {
9506      I2 = (6*N1+1)/20 ;
9507      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
9508        J3 = I1-(I2)-(I3) ;
9509        S1++;
9510      }
9511      if (3*I1%4 == 0) {
9512        I3 = 3*I1/4 ;
9513        J1 = -2*I1+3*I3 ;
9514        if ((2*I1+J1)%3 == 0) {
9515          J2 = (2*I1+J1)/3 ;
9516          J3 = 3*I1-4*J2 ;
9517          S1++;
9518          S2++;
9519        }
9520      }
9521      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
9522        J3 = -I1-2*(I2)+2*I3 ;
9523        S2++;
9524      }
9525    }
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++) {
9528        J3 = I1-(I2)-(I3) ;
9529        S1++;
9530      }
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 ;
9533        S2++;
9534      }
9535    }
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++) {
9538        J3 = I1-(I2)-(I3) ;
9539        S1++;
9540      }
9541    }
9542  }
9543}
9544if ((N1 >= 18) && (N1 <= 20)) {
9545  if ((6*N1+1)%5 == 0) {
9546    I1 = (6*N1+1)/5 ;
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 ;
9550        S2++;
9551      }
9552    }
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 ;
9556        S2++;
9557      }
9558      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
9559        J3 = I1-(I2)-(I3) ;
9560        S1++;
9561      }
9562    }
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 ;
9566        S2++;
9567      }
9568      for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
9569        J3 = I1-(I2)-(I3) ;
9570        S1++;
9571        J3 = -I1-2*(I2)+2*I3 ;
9572        S2++;
9573      }
9574      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
9575        J3 = I1-(I2)-(I3) ;
9576        S1++;
9577      }
9578    }
9579    if ((6*N1+1)%35 == 0) {
9580      I2 = (6*N1+1)/35 ;
9581      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
9582        J3 = -I1-2*(I2)+2*I3 ;
9583        S2++;
9584      }
9585      if (5*I1%7 == 0) {
9586        I3 = 5*I1/7 ;
9587        J1 = -2*I1+3*I3 ;
9588        if ((2*I1+J1)%3 == 0) {
9589          J2 = (2*I1+J1)/3 ;
9590          J3 = 3*I1-4*J2 ;
9591          S1++;
9592          S2++;
9593        }
9594      }
9595      for (I3=ceild(15*I2+1,3);I3<=floord(17*I2,3);I3++) {
9596        J3 = I1-(I2)-(I3) ;
9597        S1++;
9598        J3 = -I1-2*(I2)+2*I3 ;
9599        S2++;
9600      }
9601      for (I3=ceild(17*I2+1,3);I3<=min(N1,6*I2);I3++) {
9602        J3 = I1-(I2)-(I3) ;
9603        S1++;
9604      }
9605    }
9606    if ((6*N1+1)%30 == 0) {
9607      I2 = (6*N1+1)/30 ;
9608      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
9609        J3 = -I1-2*(I2)+2*I3 ;
9610        S2++;
9611        J3 = I1-(I2)-(I3) ;
9612        S1++;
9613      }
9614      if (13*I1%18 == 0) {
9615        I3 = 13*I1/18 ;
9616        J1 = -2*I1+3*I3 ;
9617        if ((2*I1+J1)%3 == 0) {
9618          J2 = (2*I1+J1)/3 ;
9619          J3 = 3*I1-4*J2 ;
9620          S1++;
9621          S2++;
9622        }
9623      }
9624      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
9625        J3 = I1-(I2)-(I3) ;
9626        S1++;
9627        J3 = -I1-2*(I2)+2*I3 ;
9628        S2++;
9629      }
9630    }
9631    if ((N1+1)%5 == 0) {
9632      I2 = (N1+1)/5 ;
9633      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
9634        J3 = I1-(I2)-(I3) ;
9635        S1++;
9636      }
9637      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
9638        J3 = -I1-2*(I2)+2*I3 ;
9639        S2++;
9640        J3 = I1-(I2)-(I3) ;
9641        S1++;
9642      }
9643      if ((2*I1+I2)%3 == 0) {
9644        I3 = (2*I1+I2)/3 ;
9645        J1 = -2*I1+3*I3 ;
9646        if ((2*I1+J1)%3 == 0) {
9647          J2 = (2*I1+J1)/3 ;
9648          J3 = 3*I1-4*J2 ;
9649          S1++;
9650          S2++;
9651        }
9652      }
9653      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
9654        J3 = I1-(I2)-(I3) ;
9655        S1++;
9656        J3 = -I1-2*(I2)+2*I3 ;
9657        S2++;
9658      }
9659    }
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++) {
9662        J3 = I1-(I2)-(I3) ;
9663        S1++;
9664      }
9665      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
9666        J3 = -I1-2*(I2)+2*I3 ;
9667        S2++;
9668        J3 = I1-(I2)-(I3) ;
9669        S1++;
9670      }
9671      if ((2*I1+I2)%3 == 0) {
9672        I3 = (2*I1+I2)/3 ;
9673        J1 = -2*I1+3*I3 ;
9674        if ((2*I1+J1)%3 == 0) {
9675          J2 = (2*I1+J1)/3 ;
9676          J3 = 3*I1-4*J2 ;
9677          S1++;
9678          S2++;
9679        }
9680      }
9681      for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
9682        J3 = I1-(I2)-(I3) ;
9683        S1++;
9684        J3 = -I1-2*(I2)+2*I3 ;
9685        S2++;
9686      }
9687      for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
9688        J3 = -I1-2*(I2)+2*I3 ;
9689        S2++;
9690      }
9691    }
9692    if ((3*N1-2)%10 == 0) {
9693      I2 = (3*N1-2)/10 ;
9694      for (I3=2*I2+1;I3<=3*I2;I3++) {
9695        J3 = I1-(I2)-(I3) ;
9696        S1++;
9697      }
9698      if ((9*I1-1)%12 == 0) {
9699        I3 = (9*I1-1)/12 ;
9700        J1 = -2*I1+3*I3 ;
9701        if ((2*I1+J1)%3 == 0) {
9702          J2 = (2*I1+J1)/3 ;
9703          J3 = 3*I1-4*J2 ;
9704          S1++;
9705          S2++;
9706        }
9707      }
9708      if ((3*I1+1)%4 == 0) {
9709        I3 = (3*I1+1)/4 ;
9710        J3 = I1-(I2)-(I3) ;
9711        S1++;
9712        J3 = -I1-2*(I2)+2*I3 ;
9713        S2++;
9714      }
9715      for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
9716        J3 = -I1-2*(I2)+2*I3 ;
9717        S2++;
9718      }
9719    }
9720    if ((6*N1+1)%20 == 0) {
9721      I2 = (6*N1+1)/20 ;
9722      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
9723        J3 = I1-(I2)-(I3) ;
9724        S1++;
9725      }
9726      if (3*I1%4 == 0) {
9727        I3 = 3*I1/4 ;
9728        J1 = -2*I1+3*I3 ;
9729        if ((2*I1+J1)%3 == 0) {
9730          J2 = (2*I1+J1)/3 ;
9731          J3 = 3*I1-4*J2 ;
9732          S1++;
9733          S2++;
9734        }
9735      }
9736      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
9737        J3 = -I1-2*(I2)+2*I3 ;
9738        S2++;
9739      }
9740    }
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++) {
9743        J3 = I1-(I2)-(I3) ;
9744        S1++;
9745      }
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 ;
9748        S2++;
9749      }
9750    }
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++) {
9753        J3 = I1-(I2)-(I3) ;
9754        S1++;
9755      }
9756    }
9757  }
9758}
9759if ((N1 <= 14) && (N1 >= 11)) {
9760  if ((4*N1-1)%3 == 0) {
9761    I1 = (4*N1-1)/3 ;
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 ;
9765        S2++;
9766      }
9767    }
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 ;
9771        S2++;
9772      }
9773      for (I3=I1-2*I2;I3<=N1;I3++) {
9774        J3 = I1-(I2)-(I3) ;
9775        S1++;
9776        J3 = -I1-2*(I2)+2*I3 ;
9777        S2++;
9778      }
9779    }
9780    if ((4*N1-1)%21 == 0) {
9781      I2 = (4*N1-1)/21 ;
9782      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
9783        J3 = -I1-2*(I2)+2*I3 ;
9784        S2++;
9785      }
9786      if (5*I1%7 == 0) {
9787        I3 = 5*I1/7 ;
9788        J1 = -2*I1+3*I3 ;
9789        if ((2*I1+J1)%3 == 0) {
9790          J2 = (2*I1+J1)/3 ;
9791          J3 = 3*I1-4*J2 ;
9792          S1++;
9793          S2++;
9794        }
9795      }
9796      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
9797        J3 = I1-(I2)-(I3) ;
9798        S1++;
9799        J3 = -I1-2*(I2)+2*I3 ;
9800        S2++;
9801      }
9802    }
9803    if ((2*N1-2)%9 == 0) {
9804      I2 = (2*N1-2)/9 ;
9805      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
9806        J3 = -I1-2*(I2)+2*I3 ;
9807        S2++;
9808        J3 = I1-(I2)-(I3) ;
9809        S1++;
9810      }
9811      if ((13*I1-1)%18 == 0) {
9812        I3 = (13*I1-1)/18 ;
9813        J1 = -2*I1+3*I3 ;
9814        if ((2*I1+J1)%3 == 0) {
9815          J2 = (2*I1+J1)/3 ;
9816          J3 = 3*I1-4*J2 ;
9817          S1++;
9818          S2++;
9819        }
9820      }
9821      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
9822        J3 = I1-(I2)-(I3) ;
9823        S1++;
9824        J3 = -I1-2*(I2)+2*I3 ;
9825        S2++;
9826      }
9827    }
9828    if ((4*N1-1)%18 == 0) {
9829      I2 = (4*N1-1)/18 ;
9830      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
9831        J3 = -I1-2*(I2)+2*I3 ;
9832        S2++;
9833        J3 = I1-(I2)-(I3) ;
9834        S1++;
9835      }
9836      if (13*I1%18 == 0) {
9837        I3 = 13*I1/18 ;
9838        J1 = -2*I1+3*I3 ;
9839        if ((2*I1+J1)%3 == 0) {
9840          J2 = (2*I1+J1)/3 ;
9841          J3 = 3*I1-4*J2 ;
9842          S1++;
9843          S2++;
9844        }
9845      }
9846      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
9847        J3 = I1-(I2)-(I3) ;
9848        S1++;
9849        J3 = -I1-2*(I2)+2*I3 ;
9850        S2++;
9851      }
9852    }
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++) {
9855        J3 = I1-(I2)-(I3) ;
9856        S1++;
9857      }
9858      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
9859        J3 = -I1-2*(I2)+2*I3 ;
9860        S2++;
9861        J3 = I1-(I2)-(I3) ;
9862        S1++;
9863      }
9864      if ((2*I1+I2)%3 == 0) {
9865        I3 = (2*I1+I2)/3 ;
9866        J1 = -2*I1+3*I3 ;
9867        if ((2*I1+J1)%3 == 0) {
9868          J2 = (2*I1+J1)/3 ;
9869          J3 = 3*I1-4*J2 ;
9870          S1++;
9871          S2++;
9872        }
9873      }
9874      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
9875        J3 = I1-(I2)-(I3) ;
9876        S1++;
9877        J3 = -I1-2*(I2)+2*I3 ;
9878        S2++;
9879      }
9880    }
9881    if ((N1-1)%3 == 0) {
9882      I2 = (N1-1)/3 ;
9883      for (I3=ceild(2*N1+1,3);I3<=N1-1;I3++) {
9884        J3 = I1-(I2)-(I3) ;
9885        S1++;
9886      }
9887      if (-1%3 == 0) {
9888        I3 = (3*N1-1)/3 ;
9889        J1 = -2*I1+3*I3 ;
9890        if ((2*I1+J1)%3 == 0) {
9891          J2 = (2*I1+J1)/3 ;
9892          J3 = 3*I1-4*J2 ;
9893          S1++;
9894          S2++;
9895        }
9896      }
9897      J3 = I1-(I2)-(I3) ;
9898      S1++;
9899      J3 = -I1-2*(I2)+2*I3 ;
9900      S2++;
9901    }
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++) {
9904        J3 = I1-(I2)-(I3) ;
9905        S1++;
9906      }
9907    }
9908  }
9909}
9910for (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 ;
9914      S2++;
9915    }
9916  }
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 ;
9920      S2++;
9921    }
9922    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
9923      J3 = I1-(I2)-(I3) ;
9924      S1++;
9925    }
9926  }
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 ;
9930      S2++;
9931    }
9932    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
9933      J3 = I1-(I2)-(I3) ;
9934      S1++;
9935      J3 = -I1-2*(I2)+2*I3 ;
9936      S2++;
9937    }
9938    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
9939      J3 = I1-(I2)-(I3) ;
9940      S1++;
9941    }
9942  }
9943  if (I1%7 == 0) {
9944    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
9945      J3 = -I1-2*(I2)+2*I3 ;
9946      S2++;
9947    }
9948    if (5*I1%7 == 0) {
9949      I3 = 5*I1/7 ;
9950      J1 = -2*I1+3*I3 ;
9951      if ((2*I1+J1)%3 == 0) {
9952        J2 = (2*I1+J1)/3 ;
9953        J3 = 3*I1-4*J2 ;
9954        S1++;
9955        S2++;
9956      }
9957    }
9958    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
9959      J3 = I1-(I2)-(I3) ;
9960      S1++;
9961      J3 = -I1-2*(I2)+2*I3 ;
9962      S2++;
9963    }
9964    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
9965      J3 = I1-(I2)-(I3) ;
9966      S1++;
9967    }
9968  }
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 ;
9972      S2++;
9973    }
9974    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
9975      J3 = -I1-2*(I2)+2*I3 ;
9976      S2++;
9977      J3 = I1-(I2)-(I3) ;
9978      S1++;
9979    }
9980    if ((2*I1+I2)%3 == 0) {
9981      I3 = (2*I1+I2)/3 ;
9982      J1 = -2*I1+3*I3 ;
9983      if ((2*I1+J1)%3 == 0) {
9984        J2 = (2*I1+J1)/3 ;
9985        J3 = 3*I1-4*J2 ;
9986        S1++;
9987        S2++;
9988      }
9989    }
9990    for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
9991      J3 = I1-(I2)-(I3) ;
9992      S1++;
9993      J3 = -I1-2*(I2)+2*I3 ;
9994      S2++;
9995    }
9996    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
9997      J3 = I1-(I2)-(I3) ;
9998      S1++;
9999    }
10000  }
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 ;
10004      S2++;
10005    }
10006    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
10007      J3 = -I1-2*(I2)+2*I3 ;
10008      S2++;
10009      J3 = I1-(I2)-(I3) ;
10010      S1++;
10011    }
10012    if ((2*I1+I2)%3 == 0) {
10013      I3 = (2*I1+I2)/3 ;
10014      J1 = -2*I1+3*I3 ;
10015      if ((2*I1+J1)%3 == 0) {
10016        J2 = (2*I1+J1)/3 ;
10017        J3 = 3*I1-4*J2 ;
10018        S1++;
10019        S2++;
10020      }
10021    }
10022    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
10023      J3 = I1-(I2)-(I3) ;
10024      S1++;
10025      J3 = -I1-2*(I2)+2*I3 ;
10026      S2++;
10027    }
10028  }
10029  if (I1%6 == 0) {
10030    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
10031      J3 = -I1-2*(I2)+2*I3 ;
10032      S2++;
10033      J3 = I1-(I2)-(I3) ;
10034      S1++;
10035    }
10036    if (13*I1%18 == 0) {
10037      I3 = 13*I1/18 ;
10038      J1 = -2*I1+3*I3 ;
10039      if ((2*I1+J1)%3 == 0) {
10040        J2 = (2*I1+J1)/3 ;
10041        J3 = 3*I1-4*J2 ;
10042        S1++;
10043        S2++;
10044      }
10045    }
10046    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
10047      J3 = I1-(I2)-(I3) ;
10048      S1++;
10049      J3 = -I1-2*(I2)+2*I3 ;
10050      S2++;
10051    }
10052  }
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) ;
10056      S1++;
10057    }
10058    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
10059      J3 = -I1-2*(I2)+2*I3 ;
10060      S2++;
10061      J3 = I1-(I2)-(I3) ;
10062      S1++;
10063    }
10064    if ((2*I1+I2)%3 == 0) {
10065      I3 = (2*I1+I2)/3 ;
10066      J1 = -2*I1+3*I3 ;
10067      if ((2*I1+J1)%3 == 0) {
10068        J2 = (2*I1+J1)/3 ;
10069        J3 = 3*I1-4*J2 ;
10070        S1++;
10071        S2++;
10072      }
10073    }
10074    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
10075      J3 = I1-(I2)-(I3) ;
10076      S1++;
10077      J3 = -I1-2*(I2)+2*I3 ;
10078      S2++;
10079    }
10080  }
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) ;
10084      S1++;
10085    }
10086    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
10087      J3 = -I1-2*(I2)+2*I3 ;
10088      S2++;
10089      J3 = I1-(I2)-(I3) ;
10090      S1++;
10091    }
10092    if ((2*I1+I2)%3 == 0) {
10093      I3 = (2*I1+I2)/3 ;
10094      J1 = -2*I1+3*I3 ;
10095      if ((2*I1+J1)%3 == 0) {
10096        J2 = (2*I1+J1)/3 ;
10097        J3 = 3*I1-4*J2 ;
10098        S1++;
10099        S2++;
10100      }
10101    }
10102    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
10103      J3 = I1-(I2)-(I3) ;
10104      S1++;
10105      J3 = -I1-2*(I2)+2*I3 ;
10106      S2++;
10107    }
10108    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
10109      J3 = -I1-2*(I2)+2*I3 ;
10110      S2++;
10111    }
10112  }
10113  if ((I1-1)%4 == 0) {
10114    I2 = (I1-1)/4 ;
10115    for (I3=2*I2+1;I3<=3*I2;I3++) {
10116      J3 = I1-(I2)-(I3) ;
10117      S1++;
10118    }
10119    if ((9*I1-1)%12 == 0) {
10120      I3 = (9*I1-1)/12 ;
10121      J1 = -2*I1+3*I3 ;
10122      if ((2*I1+J1)%3 == 0) {
10123        J2 = (2*I1+J1)/3 ;
10124        J3 = 3*I1-4*J2 ;
10125        S1++;
10126        S2++;
10127      }
10128    }
10129    if ((3*I1+1)%4 == 0) {
10130      I3 = (3*I1+1)/4 ;
10131      J3 = I1-(I2)-(I3) ;
10132      S1++;
10133      J3 = -I1-2*(I2)+2*I3 ;
10134      S2++;
10135    }
10136    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
10137      J3 = -I1-2*(I2)+2*I3 ;
10138      S2++;
10139    }
10140  }
10141  if (I1%4 == 0) {
10142    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
10143      J3 = I1-(I2)-(I3) ;
10144      S1++;
10145    }
10146    if (3*I1%4 == 0) {
10147      I3 = 3*I1/4 ;
10148      J1 = -2*I1+3*I3 ;
10149      if ((2*I1+J1)%3 == 0) {
10150        J2 = (2*I1+J1)/3 ;
10151        J3 = 3*I1-4*J2 ;
10152        S1++;
10153        S2++;
10154      }
10155    }
10156    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
10157      J3 = -I1-2*(I2)+2*I3 ;
10158      S2++;
10159    }
10160  }
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) ;
10164      S1++;
10165    }
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 ;
10168      S2++;
10169    }
10170  }
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) ;
10174      S1++;
10175    }
10176  }
10177}
10178if ((N1 <= 14) && (N1 >= 11)) {
10179  if (4*N1%3 == 0) {
10180    I1 = 4*N1/3 ;
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 ;
10184        S2++;
10185      }
10186    }
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 ;
10190        S2++;
10191      }
10192      for (I3=I1-2*I2;I3<=N1;I3++) {
10193        J3 = I1-(I2)-(I3) ;
10194        S1++;
10195        J3 = -I1-2*(I2)+2*I3 ;
10196        S2++;
10197      }
10198    }
10199    if (4*N1%21 == 0) {
10200      I2 = 4*N1/21 ;
10201      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
10202        J3 = -I1-2*(I2)+2*I3 ;
10203        S2++;
10204      }
10205      if (5*I1%7 == 0) {
10206        I3 = 5*I1/7 ;
10207        J1 = -2*I1+3*I3 ;
10208        if ((2*I1+J1)%3 == 0) {
10209          J2 = (2*I1+J1)/3 ;
10210          J3 = 3*I1-4*J2 ;
10211          S1++;
10212          S2++;
10213        }
10214      }
10215      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
10216        J3 = I1-(I2)-(I3) ;
10217        S1++;
10218        J3 = -I1-2*(I2)+2*I3 ;
10219        S2++;
10220      }
10221    }
10222    if ((4*N1-3)%18 == 0) {
10223      I2 = (4*N1-3)/18 ;
10224      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
10225        J3 = -I1-2*(I2)+2*I3 ;
10226        S2++;
10227        J3 = I1-(I2)-(I3) ;
10228        S1++;
10229      }
10230      if ((13*I1-1)%18 == 0) {
10231        I3 = (13*I1-1)/18 ;
10232        J1 = -2*I1+3*I3 ;
10233        if ((2*I1+J1)%3 == 0) {
10234          J2 = (2*I1+J1)/3 ;
10235          J3 = 3*I1-4*J2 ;
10236          S1++;
10237          S2++;
10238        }
10239      }
10240      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
10241        J3 = I1-(I2)-(I3) ;
10242        S1++;
10243        J3 = -I1-2*(I2)+2*I3 ;
10244        S2++;
10245      }
10246    }
10247    if (2*N1%9 == 0) {
10248      I2 = 2*N1/9 ;
10249      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
10250        J3 = -I1-2*(I2)+2*I3 ;
10251        S2++;
10252        J3 = I1-(I2)-(I3) ;
10253        S1++;
10254      }
10255      if (13*I1%18 == 0) {
10256        I3 = 13*I1/18 ;
10257        J1 = -2*I1+3*I3 ;
10258        if ((2*I1+J1)%3 == 0) {
10259          J2 = (2*I1+J1)/3 ;
10260          J3 = 3*I1-4*J2 ;
10261          S1++;
10262          S2++;
10263        }
10264      }
10265      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
10266        J3 = I1-(I2)-(I3) ;
10267        S1++;
10268        J3 = -I1-2*(I2)+2*I3 ;
10269        S2++;
10270      }
10271    }
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) ;
10275        S1++;
10276      }
10277      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
10278        J3 = -I1-2*(I2)+2*I3 ;
10279        S2++;
10280        J3 = I1-(I2)-(I3) ;
10281        S1++;
10282      }
10283      if ((2*I1+I2)%3 == 0) {
10284        I3 = (2*I1+I2)/3 ;
10285        J1 = -2*I1+3*I3 ;
10286        if ((2*I1+J1)%3 == 0) {
10287          J2 = (2*I1+J1)/3 ;
10288          J3 = 3*I1-4*J2 ;
10289          S1++;
10290          S2++;
10291        }
10292      }
10293      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
10294        J3 = I1-(I2)-(I3) ;
10295        S1++;
10296        J3 = -I1-2*(I2)+2*I3 ;
10297        S2++;
10298      }
10299    }
10300    if (N1%3 == 0) {
10301      for (I3=ceild(2*N1,3);I3<=floord(2*N1-1,2);I3++) {
10302        J3 = I1-(I2)-(I3) ;
10303        S1++;
10304      }
10305      J1 = -2*I1+3*N1 ;
10306      if ((2*I1+J1)%3 == 0) {
10307        J2 = (2*I1+J1)/3 ;
10308        J3 = 3*I1-4*J2 ;
10309        S1++;
10310        S2++;
10311      }
10312    }
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) ;
10316        S1++;
10317      }
10318    }
10319  }
10320}
10321for (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 ;
10325      S2++;
10326    }
10327  }
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 ;
10331      S2++;
10332    }
10333    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
10334      J3 = I1-(I2)-(I3) ;
10335      S1++;
10336    }
10337  }
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 ;
10341      S2++;
10342    }
10343    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
10344      J3 = I1-(I2)-(I3) ;
10345      S1++;
10346      J3 = -I1-2*(I2)+2*I3 ;
10347      S2++;
10348    }
10349    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
10350      J3 = I1-(I2)-(I3) ;
10351      S1++;
10352    }
10353  }
10354  if (I1%7 == 0) {
10355    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
10356      J3 = -I1-2*(I2)+2*I3 ;
10357      S2++;
10358    }
10359    if (5*I1%7 == 0) {
10360      I3 = 5*I1/7 ;
10361      J1 = -2*I1+3*I3 ;
10362      if ((2*I1+J1)%3 == 0) {
10363        J2 = (2*I1+J1)/3 ;
10364        J3 = 3*I1-4*J2 ;
10365        S1++;
10366        S2++;
10367      }
10368    }
10369    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
10370      J3 = I1-(I2)-(I3) ;
10371      S1++;
10372      J3 = -I1-2*(I2)+2*I3 ;
10373      S2++;
10374    }
10375    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
10376      J3 = I1-(I2)-(I3) ;
10377      S1++;
10378    }
10379  }
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 ;
10383      S2++;
10384    }
10385    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
10386      J3 = -I1-2*(I2)+2*I3 ;
10387      S2++;
10388      J3 = I1-(I2)-(I3) ;
10389      S1++;
10390    }
10391    if ((2*I1+I2)%3 == 0) {
10392      I3 = (2*I1+I2)/3 ;
10393      J1 = -2*I1+3*I3 ;
10394      if ((2*I1+J1)%3 == 0) {
10395        J2 = (2*I1+J1)/3 ;
10396        J3 = 3*I1-4*J2 ;
10397        S1++;
10398        S2++;
10399      }
10400    }
10401    for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
10402      J3 = I1-(I2)-(I3) ;
10403      S1++;
10404      J3 = -I1-2*(I2)+2*I3 ;
10405      S2++;
10406    }
10407    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
10408      J3 = I1-(I2)-(I3) ;
10409      S1++;
10410    }
10411  }
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 ;
10415      S2++;
10416    }
10417    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
10418      J3 = -I1-2*(I2)+2*I3 ;
10419      S2++;
10420      J3 = I1-(I2)-(I3) ;
10421      S1++;
10422    }
10423    if ((2*I1+I2)%3 == 0) {
10424      I3 = (2*I1+I2)/3 ;
10425      J1 = -2*I1+3*I3 ;
10426      if ((2*I1+J1)%3 == 0) {
10427        J2 = (2*I1+J1)/3 ;
10428        J3 = 3*I1-4*J2 ;
10429        S1++;
10430        S2++;
10431      }
10432    }
10433    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
10434      J3 = I1-(I2)-(I3) ;
10435      S1++;
10436      J3 = -I1-2*(I2)+2*I3 ;
10437      S2++;
10438    }
10439  }
10440  if ((I1-1)%6 == 0) {
10441    I2 = (I1-1)/6 ;
10442    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
10443      J3 = -I1-2*(I2)+2*I3 ;
10444      S2++;
10445      J3 = I1-(I2)-(I3) ;
10446      S1++;
10447    }
10448    if ((13*I1-1)%18 == 0) {
10449      I3 = (13*I1-1)/18 ;
10450      J1 = -2*I1+3*I3 ;
10451      if ((2*I1+J1)%3 == 0) {
10452        J2 = (2*I1+J1)/3 ;
10453        J3 = 3*I1-4*J2 ;
10454        S1++;
10455        S2++;
10456      }
10457    }
10458    for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
10459      J3 = I1-(I2)-(I3) ;
10460      S1++;
10461      J3 = -I1-2*(I2)+2*I3 ;
10462      S2++;
10463    }
10464  }
10465  if (I1%6 == 0) {
10466    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
10467      J3 = -I1-2*(I2)+2*I3 ;
10468      S2++;
10469      J3 = I1-(I2)-(I3) ;
10470      S1++;
10471    }
10472    if (13*I1%18 == 0) {
10473      I3 = 13*I1/18 ;
10474      J1 = -2*I1+3*I3 ;
10475      if ((2*I1+J1)%3 == 0) {
10476        J2 = (2*I1+J1)/3 ;
10477        J3 = 3*I1-4*J2 ;
10478        S1++;
10479        S2++;
10480      }
10481    }
10482    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
10483      J3 = I1-(I2)-(I3) ;
10484      S1++;
10485      J3 = -I1-2*(I2)+2*I3 ;
10486      S2++;
10487    }
10488  }
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) ;
10492      S1++;
10493    }
10494    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
10495      J3 = -I1-2*(I2)+2*I3 ;
10496      S2++;
10497      J3 = I1-(I2)-(I3) ;
10498      S1++;
10499    }
10500    if ((2*I1+I2)%3 == 0) {
10501      I3 = (2*I1+I2)/3 ;
10502      J1 = -2*I1+3*I3 ;
10503      if ((2*I1+J1)%3 == 0) {
10504        J2 = (2*I1+J1)/3 ;
10505        J3 = 3*I1-4*J2 ;
10506        S1++;
10507        S2++;
10508      }
10509    }
10510    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
10511      J3 = I1-(I2)-(I3) ;
10512      S1++;
10513      J3 = -I1-2*(I2)+2*I3 ;
10514      S2++;
10515    }
10516  }
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) ;
10520      S1++;
10521    }
10522    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
10523      J3 = -I1-2*(I2)+2*I3 ;
10524      S2++;
10525      J3 = I1-(I2)-(I3) ;
10526      S1++;
10527    }
10528    if ((2*I1+I2)%3 == 0) {
10529      I3 = (2*I1+I2)/3 ;
10530      J1 = -2*I1+3*I3 ;
10531      if ((2*I1+J1)%3 == 0) {
10532        J2 = (2*I1+J1)/3 ;
10533        J3 = 3*I1-4*J2 ;
10534        S1++;
10535        S2++;
10536      }
10537    }
10538    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
10539      J3 = I1-(I2)-(I3) ;
10540      S1++;
10541      J3 = -I1-2*(I2)+2*I3 ;
10542      S2++;
10543    }
10544    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
10545      J3 = -I1-2*(I2)+2*I3 ;
10546      S2++;
10547    }
10548  }
10549  if ((I1-1)%4 == 0) {
10550    I2 = (I1-1)/4 ;
10551    for (I3=2*I2+1;I3<=3*I2;I3++) {
10552      J3 = I1-(I2)-(I3) ;
10553      S1++;
10554    }
10555    if ((9*I1-1)%12 == 0) {
10556      I3 = (9*I1-1)/12 ;
10557      J1 = -2*I1+3*I3 ;
10558      if ((2*I1+J1)%3 == 0) {
10559        J2 = (2*I1+J1)/3 ;
10560        J3 = 3*I1-4*J2 ;
10561        S1++;
10562        S2++;
10563      }
10564    }
10565    if ((3*I1+1)%4 == 0) {
10566      I3 = (3*I1+1)/4 ;
10567      J3 = I1-(I2)-(I3) ;
10568      S1++;
10569      J3 = -I1-2*(I2)+2*I3 ;
10570      S2++;
10571    }
10572    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
10573      J3 = -I1-2*(I2)+2*I3 ;
10574      S2++;
10575    }
10576  }
10577  if (I1%4 == 0) {
10578    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
10579      J3 = I1-(I2)-(I3) ;
10580      S1++;
10581    }
10582    if (3*I1%4 == 0) {
10583      I3 = 3*I1/4 ;
10584      J1 = -2*I1+3*I3 ;
10585      if ((2*I1+J1)%3 == 0) {
10586        J2 = (2*I1+J1)/3 ;
10587        J3 = 3*I1-4*J2 ;
10588        S1++;
10589        S2++;
10590      }
10591    }
10592    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
10593      J3 = -I1-2*(I2)+2*I3 ;
10594      S2++;
10595    }
10596  }
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) ;
10600      S1++;
10601    }
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 ;
10604      S2++;
10605    }
10606  }
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) ;
10610      S1++;
10611    }
10612  }
10613}
10614for (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 ;
10618      S2++;
10619    }
10620  }
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 ;
10624      S2++;
10625    }
10626    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
10627      J3 = I1-(I2)-(I3) ;
10628      S1++;
10629    }
10630  }
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 ;
10634      S2++;
10635    }
10636    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
10637      J3 = I1-(I2)-(I3) ;
10638      S1++;
10639      J3 = -I1-2*(I2)+2*I3 ;
10640      S2++;
10641    }
10642    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
10643      J3 = I1-(I2)-(I3) ;
10644      S1++;
10645    }
10646  }
10647  if (I1%7 == 0) {
10648    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
10649      J3 = -I1-2*(I2)+2*I3 ;
10650      S2++;
10651    }
10652    if (5*I1%7 == 0) {
10653      I3 = 5*I1/7 ;
10654      J1 = -2*I1+3*I3 ;
10655      if ((2*I1+J1)%3 == 0) {
10656        J2 = (2*I1+J1)/3 ;
10657        J3 = 3*I1-4*J2 ;
10658        S1++;
10659        S2++;
10660      }
10661    }
10662    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
10663      J3 = I1-(I2)-(I3) ;
10664      S1++;
10665      J3 = -I1-2*(I2)+2*I3 ;
10666      S2++;
10667    }
10668    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
10669      J3 = I1-(I2)-(I3) ;
10670      S1++;
10671    }
10672  }
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 ;
10676      S2++;
10677    }
10678    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
10679      J3 = -I1-2*(I2)+2*I3 ;
10680      S2++;
10681      J3 = I1-(I2)-(I3) ;
10682      S1++;
10683    }
10684    if ((2*I1+I2)%3 == 0) {
10685      I3 = (2*I1+I2)/3 ;
10686      J1 = -2*I1+3*I3 ;
10687      if ((2*I1+J1)%3 == 0) {
10688        J2 = (2*I1+J1)/3 ;
10689        J3 = 3*I1-4*J2 ;
10690        S1++;
10691        S2++;
10692      }
10693    }
10694    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
10695      J3 = I1-(I2)-(I3) ;
10696      S1++;
10697      J3 = -I1-2*(I2)+2*I3 ;
10698      S2++;
10699    }
10700  }
10701  if (I1%6 == 0) {
10702    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
10703      J3 = -I1-2*(I2)+2*I3 ;
10704      S2++;
10705      J3 = I1-(I2)-(I3) ;
10706      S1++;
10707    }
10708    if (13*I1%18 == 0) {
10709      I3 = 13*I1/18 ;
10710      J1 = -2*I1+3*I3 ;
10711      if ((2*I1+J1)%3 == 0) {
10712        J2 = (2*I1+J1)/3 ;
10713        J3 = 3*I1-4*J2 ;
10714        S1++;
10715        S2++;
10716      }
10717    }
10718    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
10719      J3 = I1-(I2)-(I3) ;
10720      S1++;
10721      J3 = -I1-2*(I2)+2*I3 ;
10722      S2++;
10723    }
10724  }
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) ;
10728      S1++;
10729    }
10730    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
10731      J3 = -I1-2*(I2)+2*I3 ;
10732      S2++;
10733      J3 = I1-(I2)-(I3) ;
10734      S1++;
10735    }
10736    if ((2*I1+I2)%3 == 0) {
10737      I3 = (2*I1+I2)/3 ;
10738      J1 = -2*I1+3*I3 ;
10739      if ((2*I1+J1)%3 == 0) {
10740        J2 = (2*I1+J1)/3 ;
10741        J3 = 3*I1-4*J2 ;
10742        S1++;
10743        S2++;
10744      }
10745    }
10746    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
10747      J3 = I1-(I2)-(I3) ;
10748      S1++;
10749      J3 = -I1-2*(I2)+2*I3 ;
10750      S2++;
10751    }
10752  }
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) ;
10756      S1++;
10757    }
10758    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
10759      J3 = -I1-2*(I2)+2*I3 ;
10760      S2++;
10761      J3 = I1-(I2)-(I3) ;
10762      S1++;
10763    }
10764    if ((2*I1+I2)%3 == 0) {
10765      I3 = (2*I1+I2)/3 ;
10766      J1 = -2*I1+3*I3 ;
10767      if ((2*I1+J1)%3 == 0) {
10768        J2 = (2*I1+J1)/3 ;
10769        J3 = 3*I1-4*J2 ;
10770        S1++;
10771        S2++;
10772      }
10773    }
10774    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
10775      J3 = I1-(I2)-(I3) ;
10776      S1++;
10777      J3 = -I1-2*(I2)+2*I3 ;
10778      S2++;
10779    }
10780    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
10781      J3 = -I1-2*(I2)+2*I3 ;
10782      S2++;
10783    }
10784  }
10785  if ((I1-1)%4 == 0) {
10786    I2 = (I1-1)/4 ;
10787    for (I3=2*I2+1;I3<=3*I2;I3++) {
10788      J3 = I1-(I2)-(I3) ;
10789      S1++;
10790    }
10791    if ((9*I1-1)%12 == 0) {
10792      I3 = (9*I1-1)/12 ;
10793      J1 = -2*I1+3*I3 ;
10794      if ((2*I1+J1)%3 == 0) {
10795        J2 = (2*I1+J1)/3 ;
10796        J3 = 3*I1-4*J2 ;
10797        S1++;
10798        S2++;
10799      }
10800    }
10801    if ((3*I1+1)%4 == 0) {
10802      I3 = (3*I1+1)/4 ;
10803      J3 = I1-(I2)-(I3) ;
10804      S1++;
10805      J3 = -I1-2*(I2)+2*I3 ;
10806      S2++;
10807    }
10808    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
10809      J3 = -I1-2*(I2)+2*I3 ;
10810      S2++;
10811    }
10812  }
10813  if (I1%4 == 0) {
10814    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
10815      J3 = I1-(I2)-(I3) ;
10816      S1++;
10817    }
10818    if (3*I1%4 == 0) {
10819      I3 = 3*I1/4 ;
10820      J1 = -2*I1+3*I3 ;
10821      if ((2*I1+J1)%3 == 0) {
10822        J2 = (2*I1+J1)/3 ;
10823        J3 = 3*I1-4*J2 ;
10824        S1++;
10825        S2++;
10826      }
10827    }
10828    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
10829      J3 = -I1-2*(I2)+2*I3 ;
10830      S2++;
10831    }
10832  }
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) ;
10836      S1++;
10837    }
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 ;
10840      S2++;
10841    }
10842  }
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) ;
10846      S1++;
10847    }
10848  }
10849}
10850if (N1 == 14) {
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 ;
10854      S2++;
10855    }
10856  }
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 ;
10860      S2++;
10861    }
10862    for (I3=19-2*I2;I3<=N1;I3++) {
10863      J3 = 19-(I2)-(I3) ;
10864      S1++;
10865      J3 = -(19)-2*(I2)+2*I3 ;
10866      S2++;
10867    }
10868  }
10869  if (19%7 == 0) {
10870    for (I3=ceild(9*19/7,2);I3<=5*19/7-1;I3++) {
10871      J3 = -(19)-2*(I2)+2*I3 ;
10872      S2++;
10873    }
10874    if (5*19%7 == 0) {
10875      I3 = 5*19/7 ;
10876      J1 = -2*(19)+3*I3 ;
10877      if ((2*19+J1)%3 == 0) {
10878        J2 = (2*19+J1)/3 ;
10879        J3 = 3*19-4*J2 ;
10880        S1++;
10881        S2++;
10882      }
10883    }
10884    for (I3=ceild(15*19/7+1,3);I3<=N1;I3++) {
10885      J3 = 19-(I2)-(I3) ;
10886      S1++;
10887      J3 = -(19)-2*(I2)+2*I3 ;
10888      S2++;
10889    }
10890  }
10891  for (I3=4*3+1;I3<=floord(13*3+1,3);I3++) {
10892    J3 = -(19)-2*(I2)+2*I3 ;
10893    S2++;
10894    J3 = 19-(I2)-(I3) ;
10895    S1++;
10896  }
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) {
10901      J2 = (2*19+J1)/3 ;
10902      J3 = 3*19-4*J2 ;
10903      S1++;
10904      S2++;
10905    }
10906  }
10907  for (I3=ceild(13*3+3,3);I3<=N1;I3++) {
10908    J3 = 19-(I2)-(I3) ;
10909    S1++;
10910    J3 = -(19)-2*(I2)+2*I3 ;
10911    S2++;
10912  }
10913  for (I3=ceild(-5*(4)+3*N1,2);I3<=floord(3*4+3*N1-2,4);I3++) {
10914    J3 = 19-(I2)-(I3) ;
10915    S1++;
10916  }
10917  for (I3=ceild(3*4+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
10918    J3 = -(19)-2*(I2)+2*I3 ;
10919    S2++;
10920    J3 = 19-(I2)-(I3) ;
10921    S1++;
10922  }
10923  J1 = -2*(19)+3*N1 ;
10924  if ((2*19+J1)%3 == 0) {
10925    J2 = (2*19+J1)/3 ;
10926    J3 = 3*19-4*J2 ;
10927    S1++;
10928    S2++;
10929  }
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) ;
10933      S1++;
10934    }
10935  }
10936}
10937if (N1 == 11) {
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 ;
10940    S2++;
10941  }
10942  for (I3=ceild(15+2*2,2);I3<=15-2*(2)-1;I3++) {
10943    J3 = -(15)-2*(I2)+2*I3 ;
10944    S2++;
10945  }
10946  for (I3=15-2*(2);I3<=N1;I3++) {
10947    J3 = 15-(I2)-(I3) ;
10948    S1++;
10949    J3 = -(15)-2*(I2)+2*I3 ;
10950    S2++;
10951  }
10952  for (I3=ceild(-5*(3)+3*N1,2);I3<=floord(3*3+3*N1-2,4);I3++) {
10953    J3 = 15-(I2)-(I3) ;
10954    S1++;
10955  }
10956  for (I3=ceild(3*3+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
10957    J3 = -(15)-2*(I2)+2*I3 ;
10958    S2++;
10959    J3 = 15-(I2)-(I3) ;
10960    S1++;
10961  }
10962  J1 = -2*(15)+3*N1 ;
10963  if ((2*15+J1)%3 == 0) {
10964    J2 = (2*15+J1)/3 ;
10965    J3 = 3*15-4*J2 ;
10966    S1++;
10967    S2++;
10968  }
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) ;
10972      S1++;
10973    }
10974  }
10975}
10976for (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 ;
10980      S2++;
10981    }
10982  }
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 ;
10986      S2++;
10987    }
10988    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
10989      J3 = I1-(I2)-(I3) ;
10990      S1++;
10991    }
10992  }
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 ;
10996      S2++;
10997    }
10998    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
10999      J3 = I1-(I2)-(I3) ;
11000      S1++;
11001      J3 = -I1-2*(I2)+2*I3 ;
11002      S2++;
11003    }
11004    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
11005      J3 = I1-(I2)-(I3) ;
11006      S1++;
11007    }
11008  }
11009  if (I1%7 == 0) {
11010    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
11011      J3 = -I1-2*(I2)+2*I3 ;
11012      S2++;
11013    }
11014    if (5*I1%7 == 0) {
11015      I3 = 5*I1/7 ;
11016      J1 = -2*I1+3*I3 ;
11017      if ((2*I1+J1)%3 == 0) {
11018        J2 = (2*I1+J1)/3 ;
11019        J3 = 3*I1-4*J2 ;
11020        S1++;
11021        S2++;
11022      }
11023    }
11024    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
11025      J3 = I1-(I2)-(I3) ;
11026      S1++;
11027      J3 = -I1-2*(I2)+2*I3 ;
11028      S2++;
11029    }
11030    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
11031      J3 = I1-(I2)-(I3) ;
11032      S1++;
11033    }
11034  }
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 ;
11038      S2++;
11039    }
11040    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
11041      J3 = -I1-2*(I2)+2*I3 ;
11042      S2++;
11043      J3 = I1-(I2)-(I3) ;
11044      S1++;
11045    }
11046    if ((2*I1+I2)%3 == 0) {
11047      I3 = (2*I1+I2)/3 ;
11048      J1 = -2*I1+3*I3 ;
11049      if ((2*I1+J1)%3 == 0) {
11050        J2 = (2*I1+J1)/3 ;
11051        J3 = 3*I1-4*J2 ;
11052        S1++;
11053        S2++;
11054      }
11055    }
11056    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
11057      J3 = I1-(I2)-(I3) ;
11058      S1++;
11059      J3 = -I1-2*(I2)+2*I3 ;
11060      S2++;
11061    }
11062  }
11063  if ((I1-1)%6 == 0) {
11064    I2 = (I1-1)/6 ;
11065    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
11066      J3 = -I1-2*(I2)+2*I3 ;
11067      S2++;
11068      J3 = I1-(I2)-(I3) ;
11069      S1++;
11070    }
11071    if ((13*I1-1)%18 == 0) {
11072      I3 = (13*I1-1)/18 ;
11073      J1 = -2*I1+3*I3 ;
11074      if ((2*I1+J1)%3 == 0) {
11075        J2 = (2*I1+J1)/3 ;
11076        J3 = 3*I1-4*J2 ;
11077        S1++;
11078        S2++;
11079      }
11080    }
11081    for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
11082      J3 = I1-(I2)-(I3) ;
11083      S1++;
11084      J3 = -I1-2*(I2)+2*I3 ;
11085      S2++;
11086    }
11087  }
11088  if (I1%6 == 0) {
11089    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
11090      J3 = -I1-2*(I2)+2*I3 ;
11091      S2++;
11092      J3 = I1-(I2)-(I3) ;
11093      S1++;
11094    }
11095    if (13*I1%18 == 0) {
11096      I3 = 13*I1/18 ;
11097      J1 = -2*I1+3*I3 ;
11098      if ((2*I1+J1)%3 == 0) {
11099        J2 = (2*I1+J1)/3 ;
11100        J3 = 3*I1-4*J2 ;
11101        S1++;
11102        S2++;
11103      }
11104    }
11105    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
11106      J3 = I1-(I2)-(I3) ;
11107      S1++;
11108      J3 = -I1-2*(I2)+2*I3 ;
11109      S2++;
11110    }
11111  }
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) ;
11115      S1++;
11116    }
11117    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
11118      J3 = -I1-2*(I2)+2*I3 ;
11119      S2++;
11120      J3 = I1-(I2)-(I3) ;
11121      S1++;
11122    }
11123    if ((2*I1+I2)%3 == 0) {
11124      I3 = (2*I1+I2)/3 ;
11125      J1 = -2*I1+3*I3 ;
11126      if ((2*I1+J1)%3 == 0) {
11127        J2 = (2*I1+J1)/3 ;
11128        J3 = 3*I1-4*J2 ;
11129        S1++;
11130        S2++;
11131      }
11132    }
11133    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
11134      J3 = I1-(I2)-(I3) ;
11135      S1++;
11136      J3 = -I1-2*(I2)+2*I3 ;
11137      S2++;
11138    }
11139  }
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) ;
11143      S1++;
11144    }
11145    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
11146      J3 = -I1-2*(I2)+2*I3 ;
11147      S2++;
11148      J3 = I1-(I2)-(I3) ;
11149      S1++;
11150    }
11151    if ((2*I1+I2)%3 == 0) {
11152      I3 = (2*I1+I2)/3 ;
11153      J1 = -2*I1+3*I3 ;
11154      if ((2*I1+J1)%3 == 0) {
11155        J2 = (2*I1+J1)/3 ;
11156        J3 = 3*I1-4*J2 ;
11157        S1++;
11158        S2++;
11159      }
11160    }
11161    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
11162      J3 = I1-(I2)-(I3) ;
11163      S1++;
11164      J3 = -I1-2*(I2)+2*I3 ;
11165      S2++;
11166    }
11167    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
11168      J3 = -I1-2*(I2)+2*I3 ;
11169      S2++;
11170    }
11171  }
11172  if ((I1-1)%4 == 0) {
11173    I2 = (I1-1)/4 ;
11174    for (I3=2*I2+1;I3<=3*I2;I3++) {
11175      J3 = I1-(I2)-(I3) ;
11176      S1++;
11177    }
11178    if ((9*I1-1)%12 == 0) {
11179      I3 = (9*I1-1)/12 ;
11180      J1 = -2*I1+3*I3 ;
11181      if ((2*I1+J1)%3 == 0) {
11182        J2 = (2*I1+J1)/3 ;
11183        J3 = 3*I1-4*J2 ;
11184        S1++;
11185        S2++;
11186      }
11187    }
11188    if ((3*I1+1)%4 == 0) {
11189      I3 = (3*I1+1)/4 ;
11190      J3 = I1-(I2)-(I3) ;
11191      S1++;
11192      J3 = -I1-2*(I2)+2*I3 ;
11193      S2++;
11194    }
11195    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
11196      J3 = -I1-2*(I2)+2*I3 ;
11197      S2++;
11198    }
11199  }
11200  if (I1%4 == 0) {
11201    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
11202      J3 = I1-(I2)-(I3) ;
11203      S1++;
11204    }
11205    if (3*I1%4 == 0) {
11206      I3 = 3*I1/4 ;
11207      J1 = -2*I1+3*I3 ;
11208      if ((2*I1+J1)%3 == 0) {
11209        J2 = (2*I1+J1)/3 ;
11210        J3 = 3*I1-4*J2 ;
11211        S1++;
11212        S2++;
11213      }
11214    }
11215    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
11216      J3 = -I1-2*(I2)+2*I3 ;
11217      S2++;
11218    }
11219  }
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) ;
11223      S1++;
11224    }
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 ;
11227      S2++;
11228    }
11229  }
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) ;
11233      S1++;
11234    }
11235  }
11236}
11237for (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 ;
11241      S2++;
11242    }
11243  }
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 ;
11247      S2++;
11248    }
11249    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
11250      J3 = I1-(I2)-(I3) ;
11251      S1++;
11252    }
11253  }
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 ;
11257      S2++;
11258    }
11259    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
11260      J3 = I1-(I2)-(I3) ;
11261      S1++;
11262      J3 = -I1-2*(I2)+2*I3 ;
11263      S2++;
11264    }
11265    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
11266      J3 = I1-(I2)-(I3) ;
11267      S1++;
11268    }
11269  }
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 ;
11273      S2++;
11274    }
11275    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
11276      J3 = -I1-2*(I2)+2*I3 ;
11277      S2++;
11278      J3 = I1-(I2)-(I3) ;
11279      S1++;
11280    }
11281    if ((2*I1+I2)%3 == 0) {
11282      I3 = (2*I1+I2)/3 ;
11283      J1 = -2*I1+3*I3 ;
11284      if ((2*I1+J1)%3 == 0) {
11285        J2 = (2*I1+J1)/3 ;
11286        J3 = 3*I1-4*J2 ;
11287        S1++;
11288        S2++;
11289      }
11290    }
11291    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
11292      J3 = I1-(I2)-(I3) ;
11293      S1++;
11294      J3 = -I1-2*(I2)+2*I3 ;
11295      S2++;
11296    }
11297  }
11298  if (I1%6 == 0) {
11299    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
11300      J3 = -I1-2*(I2)+2*I3 ;
11301      S2++;
11302      J3 = I1-(I2)-(I3) ;
11303      S1++;
11304    }
11305    if (13*I1%18 == 0) {
11306      I3 = 13*I1/18 ;
11307      J1 = -2*I1+3*I3 ;
11308      if ((2*I1+J1)%3 == 0) {
11309        J2 = (2*I1+J1)/3 ;
11310        J3 = 3*I1-4*J2 ;
11311        S1++;
11312        S2++;
11313      }
11314    }
11315    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
11316      J3 = I1-(I2)-(I3) ;
11317      S1++;
11318      J3 = -I1-2*(I2)+2*I3 ;
11319      S2++;
11320    }
11321  }
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) ;
11325      S1++;
11326    }
11327    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
11328      J3 = -I1-2*(I2)+2*I3 ;
11329      S2++;
11330      J3 = I1-(I2)-(I3) ;
11331      S1++;
11332    }
11333    if ((2*I1+I2)%3 == 0) {
11334      I3 = (2*I1+I2)/3 ;
11335      J1 = -2*I1+3*I3 ;
11336      if ((2*I1+J1)%3 == 0) {
11337        J2 = (2*I1+J1)/3 ;
11338        J3 = 3*I1-4*J2 ;
11339        S1++;
11340        S2++;
11341      }
11342    }
11343    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
11344      J3 = I1-(I2)-(I3) ;
11345      S1++;
11346      J3 = -I1-2*(I2)+2*I3 ;
11347      S2++;
11348    }
11349  }
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) ;
11353      S1++;
11354    }
11355    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
11356      J3 = -I1-2*(I2)+2*I3 ;
11357      S2++;
11358      J3 = I1-(I2)-(I3) ;
11359      S1++;
11360    }
11361    if ((2*I1+I2)%3 == 0) {
11362      I3 = (2*I1+I2)/3 ;
11363      J1 = -2*I1+3*I3 ;
11364      if ((2*I1+J1)%3 == 0) {
11365        J2 = (2*I1+J1)/3 ;
11366        J3 = 3*I1-4*J2 ;
11367        S1++;
11368        S2++;
11369      }
11370    }
11371    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
11372      J3 = I1-(I2)-(I3) ;
11373      S1++;
11374      J3 = -I1-2*(I2)+2*I3 ;
11375      S2++;
11376    }
11377    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
11378      J3 = -I1-2*(I2)+2*I3 ;
11379      S2++;
11380    }
11381  }
11382  if ((I1-1)%4 == 0) {
11383    I2 = (I1-1)/4 ;
11384    for (I3=2*I2+1;I3<=3*I2;I3++) {
11385      J3 = I1-(I2)-(I3) ;
11386      S1++;
11387    }
11388    if ((9*I1-1)%12 == 0) {
11389      I3 = (9*I1-1)/12 ;
11390      J1 = -2*I1+3*I3 ;
11391      if ((2*I1+J1)%3 == 0) {
11392        J2 = (2*I1+J1)/3 ;
11393        J3 = 3*I1-4*J2 ;
11394        S1++;
11395        S2++;
11396      }
11397    }
11398    if ((3*I1+1)%4 == 0) {
11399      I3 = (3*I1+1)/4 ;
11400      J3 = I1-(I2)-(I3) ;
11401      S1++;
11402      J3 = -I1-2*(I2)+2*I3 ;
11403      S2++;
11404    }
11405    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
11406      J3 = -I1-2*(I2)+2*I3 ;
11407      S2++;
11408    }
11409  }
11410  if (I1%4 == 0) {
11411    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
11412      J3 = I1-(I2)-(I3) ;
11413      S1++;
11414    }
11415    if (3*I1%4 == 0) {
11416      I3 = 3*I1/4 ;
11417      J1 = -2*I1+3*I3 ;
11418      if ((2*I1+J1)%3 == 0) {
11419        J2 = (2*I1+J1)/3 ;
11420        J3 = 3*I1-4*J2 ;
11421        S1++;
11422        S2++;
11423      }
11424    }
11425    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
11426      J3 = -I1-2*(I2)+2*I3 ;
11427      S2++;
11428    }
11429  }
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) ;
11433      S1++;
11434    }
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 ;
11437      S2++;
11438    }
11439  }
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) ;
11443      S1++;
11444    }
11445  }
11446}
11447for (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 ;
11451      S2++;
11452    }
11453  }
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 ;
11457      S2++;
11458    }
11459    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
11460      J3 = I1-(I2)-(I3) ;
11461      S1++;
11462    }
11463  }
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 ;
11467      S2++;
11468    }
11469    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
11470      J3 = I1-(I2)-(I3) ;
11471      S1++;
11472      J3 = -I1-2*(I2)+2*I3 ;
11473      S2++;
11474    }
11475    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
11476      J3 = I1-(I2)-(I3) ;
11477      S1++;
11478    }
11479  }
11480  if (I1%7 == 0) {
11481    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
11482      J3 = -I1-2*(I2)+2*I3 ;
11483      S2++;
11484    }
11485    if (5*I1%7 == 0) {
11486      I3 = 5*I1/7 ;
11487      J1 = -2*I1+3*I3 ;
11488      if ((2*I1+J1)%3 == 0) {
11489        J2 = (2*I1+J1)/3 ;
11490        J3 = 3*I1-4*J2 ;
11491        S1++;
11492        S2++;
11493      }
11494    }
11495    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
11496      J3 = I1-(I2)-(I3) ;
11497      S1++;
11498      J3 = -I1-2*(I2)+2*I3 ;
11499      S2++;
11500    }
11501  }
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 ;
11505      S2++;
11506    }
11507    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
11508      J3 = -I1-2*(I2)+2*I3 ;
11509      S2++;
11510      J3 = I1-(I2)-(I3) ;
11511      S1++;
11512    }
11513    if ((2*I1+I2)%3 == 0) {
11514      I3 = (2*I1+I2)/3 ;
11515      J1 = -2*I1+3*I3 ;
11516      if ((2*I1+J1)%3 == 0) {
11517        J2 = (2*I1+J1)/3 ;
11518        J3 = 3*I1-4*J2 ;
11519        S1++;
11520        S2++;
11521      }
11522    }
11523    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
11524      J3 = I1-(I2)-(I3) ;
11525      S1++;
11526      J3 = -I1-2*(I2)+2*I3 ;
11527      S2++;
11528    }
11529  }
11530  if (I1%6 == 0) {
11531    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
11532      J3 = -I1-2*(I2)+2*I3 ;
11533      S2++;
11534      J3 = I1-(I2)-(I3) ;
11535      S1++;
11536    }
11537    if (13*I1%18 == 0) {
11538      I3 = 13*I1/18 ;
11539      J1 = -2*I1+3*I3 ;
11540      if ((2*I1+J1)%3 == 0) {
11541        J2 = (2*I1+J1)/3 ;
11542        J3 = 3*I1-4*J2 ;
11543        S1++;
11544        S2++;
11545      }
11546    }
11547    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
11548      J3 = I1-(I2)-(I3) ;
11549      S1++;
11550      J3 = -I1-2*(I2)+2*I3 ;
11551      S2++;
11552    }
11553  }
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) ;
11557      S1++;
11558    }
11559    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
11560      J3 = -I1-2*(I2)+2*I3 ;
11561      S2++;
11562      J3 = I1-(I2)-(I3) ;
11563      S1++;
11564    }
11565    if ((2*I1+I2)%3 == 0) {
11566      I3 = (2*I1+I2)/3 ;
11567      J1 = -2*I1+3*I3 ;
11568      if ((2*I1+J1)%3 == 0) {
11569        J2 = (2*I1+J1)/3 ;
11570        J3 = 3*I1-4*J2 ;
11571        S1++;
11572        S2++;
11573      }
11574    }
11575    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
11576      J3 = I1-(I2)-(I3) ;
11577      S1++;
11578      J3 = -I1-2*(I2)+2*I3 ;
11579      S2++;
11580    }
11581  }
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) ;
11585      S1++;
11586    }
11587    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
11588      J3 = -I1-2*(I2)+2*I3 ;
11589      S2++;
11590      J3 = I1-(I2)-(I3) ;
11591      S1++;
11592    }
11593    if ((2*I1+I2)%3 == 0) {
11594      I3 = (2*I1+I2)/3 ;
11595      J1 = -2*I1+3*I3 ;
11596      if ((2*I1+J1)%3 == 0) {
11597        J2 = (2*I1+J1)/3 ;
11598        J3 = 3*I1-4*J2 ;
11599        S1++;
11600        S2++;
11601      }
11602    }
11603    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
11604      J3 = I1-(I2)-(I3) ;
11605      S1++;
11606      J3 = -I1-2*(I2)+2*I3 ;
11607      S2++;
11608    }
11609    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
11610      J3 = -I1-2*(I2)+2*I3 ;
11611      S2++;
11612    }
11613  }
11614  if ((I1-1)%4 == 0) {
11615    I2 = (I1-1)/4 ;
11616    for (I3=2*I2+1;I3<=3*I2;I3++) {
11617      J3 = I1-(I2)-(I3) ;
11618      S1++;
11619    }
11620    if ((9*I1-1)%12 == 0) {
11621      I3 = (9*I1-1)/12 ;
11622      J1 = -2*I1+3*I3 ;
11623      if ((2*I1+J1)%3 == 0) {
11624        J2 = (2*I1+J1)/3 ;
11625        J3 = 3*I1-4*J2 ;
11626        S1++;
11627        S2++;
11628      }
11629    }
11630    if ((3*I1+1)%4 == 0) {
11631      I3 = (3*I1+1)/4 ;
11632      J3 = I1-(I2)-(I3) ;
11633      S1++;
11634      J3 = -I1-2*(I2)+2*I3 ;
11635      S2++;
11636    }
11637    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
11638      J3 = -I1-2*(I2)+2*I3 ;
11639      S2++;
11640    }
11641  }
11642  if (I1%4 == 0) {
11643    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
11644      J3 = I1-(I2)-(I3) ;
11645      S1++;
11646    }
11647    if (3*I1%4 == 0) {
11648      I3 = 3*I1/4 ;
11649      J1 = -2*I1+3*I3 ;
11650      if ((2*I1+J1)%3 == 0) {
11651        J2 = (2*I1+J1)/3 ;
11652        J3 = 3*I1-4*J2 ;
11653        S1++;
11654        S2++;
11655      }
11656    }
11657    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
11658      J3 = -I1-2*(I2)+2*I3 ;
11659      S2++;
11660    }
11661  }
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) ;
11665      S1++;
11666    }
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 ;
11669      S2++;
11670    }
11671  }
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) ;
11675      S1++;
11676    }
11677  }
11678}
11679if ((N1 <= 18) && (N1 >= 17)) {
11680  if ((4*N1-5)%3 == 0) {
11681    I1 = (4*N1-5)/3 ;
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 ;
11685        S2++;
11686      }
11687    }
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 ;
11691        S2++;
11692      }
11693      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
11694        J3 = I1-(I2)-(I3) ;
11695        S1++;
11696      }
11697    }
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 ;
11701        S2++;
11702      }
11703      for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
11704        J3 = I1-(I2)-(I3) ;
11705        S1++;
11706        J3 = -I1-2*(I2)+2*I3 ;
11707        S2++;
11708      }
11709      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
11710        J3 = I1-(I2)-(I3) ;
11711        S1++;
11712      }
11713    }
11714    if ((4*N1-5)%21 == 0) {
11715      I2 = (4*N1-5)/21 ;
11716      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
11717        J3 = -I1-2*(I2)+2*I3 ;
11718        S2++;
11719      }
11720      if (5*I1%7 == 0) {
11721        I3 = 5*I1/7 ;
11722        J1 = -2*I1+3*I3 ;
11723        if ((2*I1+J1)%3 == 0) {
11724          J2 = (2*I1+J1)/3 ;
11725          J3 = 3*I1-4*J2 ;
11726          S1++;
11727          S2++;
11728        }
11729      }
11730      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
11731        J3 = I1-(I2)-(I3) ;
11732        S1++;
11733        J3 = -I1-2*(I2)+2*I3 ;
11734        S2++;
11735      }
11736    }
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 ;
11740        S2++;
11741      }
11742      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
11743        J3 = -I1-2*(I2)+2*I3 ;
11744        S2++;
11745        J3 = I1-(I2)-(I3) ;
11746        S1++;
11747      }
11748      if ((2*I1+I2)%3 == 0) {
11749        I3 = (2*I1+I2)/3 ;
11750        J1 = -2*I1+3*I3 ;
11751        if ((2*I1+J1)%3 == 0) {
11752          J2 = (2*I1+J1)/3 ;
11753          J3 = 3*I1-4*J2 ;
11754          S1++;
11755          S2++;
11756        }
11757      }
11758      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
11759        J3 = I1-(I2)-(I3) ;
11760        S1++;
11761        J3 = -I1-2*(I2)+2*I3 ;
11762        S2++;
11763      }
11764    }
11765    if ((4*N1-5)%18 == 0) {
11766      I2 = (4*N1-5)/18 ;
11767      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
11768        J3 = -I1-2*(I2)+2*I3 ;
11769        S2++;
11770        J3 = I1-(I2)-(I3) ;
11771        S1++;
11772      }
11773      if (13*I1%18 == 0) {
11774        I3 = 13*I1/18 ;
11775        J1 = -2*I1+3*I3 ;
11776        if ((2*I1+J1)%3 == 0) {
11777          J2 = (2*I1+J1)/3 ;
11778          J3 = 3*I1-4*J2 ;
11779          S1++;
11780          S2++;
11781        }
11782      }
11783      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
11784        J3 = I1-(I2)-(I3) ;
11785        S1++;
11786        J3 = -I1-2*(I2)+2*I3 ;
11787        S2++;
11788      }
11789    }
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) ;
11793        S1++;
11794      }
11795      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
11796        J3 = -I1-2*(I2)+2*I3 ;
11797        S2++;
11798        J3 = I1-(I2)-(I3) ;
11799        S1++;
11800      }
11801      if ((2*I1+I2)%3 == 0) {
11802        I3 = (2*I1+I2)/3 ;
11803        J1 = -2*I1+3*I3 ;
11804        if ((2*I1+J1)%3 == 0) {
11805          J2 = (2*I1+J1)/3 ;
11806          J3 = 3*I1-4*J2 ;
11807          S1++;
11808          S2++;
11809        }
11810      }
11811      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
11812        J3 = I1-(I2)-(I3) ;
11813        S1++;
11814        J3 = -I1-2*(I2)+2*I3 ;
11815        S2++;
11816      }
11817    }
11818    if ((N1-2)%3 == 0) {
11819      I2 = (N1-2)/3 ;
11820      for (I3=2*I2+1;I3<=3*I2;I3++) {
11821        J3 = I1-(I2)-(I3) ;
11822        S1++;
11823      }
11824      if ((9*I1-1)%12 == 0) {
11825        I3 = (9*I1-1)/12 ;
11826        J1 = -2*I1+3*I3 ;
11827        if ((2*I1+J1)%3 == 0) {
11828          J2 = (2*I1+J1)/3 ;
11829          J3 = 3*I1-4*J2 ;
11830          S1++;
11831          S2++;
11832        }
11833      }
11834      if ((3*I1+1)%4 == 0) {
11835        I3 = (3*I1+1)/4 ;
11836        J3 = I1-(I2)-(I3) ;
11837        S1++;
11838        J3 = -I1-2*(I2)+2*I3 ;
11839        S2++;
11840      }
11841      for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
11842        J3 = -I1-2*(I2)+2*I3 ;
11843        S2++;
11844      }
11845    }
11846    if ((4*N1-5)%12 == 0) {
11847      I2 = (4*N1-5)/12 ;
11848      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
11849        J3 = I1-(I2)-(I3) ;
11850        S1++;
11851      }
11852      if (3*I1%4 == 0) {
11853        I3 = 3*I1/4 ;
11854        J1 = -2*I1+3*I3 ;
11855        if ((2*I1+J1)%3 == 0) {
11856          J2 = (2*I1+J1)/3 ;
11857          J3 = 3*I1-4*J2 ;
11858          S1++;
11859          S2++;
11860        }
11861      }
11862      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
11863        J3 = -I1-2*(I2)+2*I3 ;
11864        S2++;
11865      }
11866    }
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) ;
11870        S1++;
11871      }
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 ;
11874        S2++;
11875      }
11876    }
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) ;
11880        S1++;
11881      }
11882    }
11883  }
11884}
11885for (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 ;
11889      S2++;
11890    }
11891  }
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 ;
11895      S2++;
11896    }
11897    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
11898      J3 = I1-(I2)-(I3) ;
11899      S1++;
11900    }
11901  }
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 ;
11905      S2++;
11906    }
11907    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
11908      J3 = I1-(I2)-(I3) ;
11909      S1++;
11910      J3 = -I1-2*(I2)+2*I3 ;
11911      S2++;
11912    }
11913    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
11914      J3 = I1-(I2)-(I3) ;
11915      S1++;
11916    }
11917  }
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 ;
11921      S2++;
11922    }
11923    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
11924      J3 = -I1-2*(I2)+2*I3 ;
11925      S2++;
11926      J3 = I1-(I2)-(I3) ;
11927      S1++;
11928    }
11929    if ((2*I1+I2)%3 == 0) {
11930      I3 = (2*I1+I2)/3 ;
11931      J1 = -2*I1+3*I3 ;
11932      if ((2*I1+J1)%3 == 0) {
11933        J2 = (2*I1+J1)/3 ;
11934        J3 = 3*I1-4*J2 ;
11935        S1++;
11936        S2++;
11937      }
11938    }
11939    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
11940      J3 = I1-(I2)-(I3) ;
11941      S1++;
11942      J3 = -I1-2*(I2)+2*I3 ;
11943      S2++;
11944    }
11945  }
11946  if ((I1-1)%6 == 0) {
11947    I2 = (I1-1)/6 ;
11948    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
11949      J3 = -I1-2*(I2)+2*I3 ;
11950      S2++;
11951      J3 = I1-(I2)-(I3) ;
11952      S1++;
11953    }
11954    if ((13*I1-1)%18 == 0) {
11955      I3 = (13*I1-1)/18 ;
11956      J1 = -2*I1+3*I3 ;
11957      if ((2*I1+J1)%3 == 0) {
11958        J2 = (2*I1+J1)/3 ;
11959        J3 = 3*I1-4*J2 ;
11960        S1++;
11961        S2++;
11962      }
11963    }
11964    for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
11965      J3 = I1-(I2)-(I3) ;
11966      S1++;
11967      J3 = -I1-2*(I2)+2*I3 ;
11968      S2++;
11969    }
11970  }
11971  if (I1%6 == 0) {
11972    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
11973      J3 = -I1-2*(I2)+2*I3 ;
11974      S2++;
11975      J3 = I1-(I2)-(I3) ;
11976      S1++;
11977    }
11978    if (13*I1%18 == 0) {
11979      I3 = 13*I1/18 ;
11980      J1 = -2*I1+3*I3 ;
11981      if ((2*I1+J1)%3 == 0) {
11982        J2 = (2*I1+J1)/3 ;
11983        J3 = 3*I1-4*J2 ;
11984        S1++;
11985        S2++;
11986      }
11987    }
11988    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
11989      J3 = I1-(I2)-(I3) ;
11990      S1++;
11991      J3 = -I1-2*(I2)+2*I3 ;
11992      S2++;
11993    }
11994  }
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) ;
11998      S1++;
11999    }
12000    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
12001      J3 = -I1-2*(I2)+2*I3 ;
12002      S2++;
12003      J3 = I1-(I2)-(I3) ;
12004      S1++;
12005    }
12006    if ((2*I1+I2)%3 == 0) {
12007      I3 = (2*I1+I2)/3 ;
12008      J1 = -2*I1+3*I3 ;
12009      if ((2*I1+J1)%3 == 0) {
12010        J2 = (2*I1+J1)/3 ;
12011        J3 = 3*I1-4*J2 ;
12012        S1++;
12013        S2++;
12014      }
12015    }
12016    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
12017      J3 = I1-(I2)-(I3) ;
12018      S1++;
12019      J3 = -I1-2*(I2)+2*I3 ;
12020      S2++;
12021    }
12022  }
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) ;
12026      S1++;
12027    }
12028    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
12029      J3 = -I1-2*(I2)+2*I3 ;
12030      S2++;
12031      J3 = I1-(I2)-(I3) ;
12032      S1++;
12033    }
12034    if ((2*I1+I2)%3 == 0) {
12035      I3 = (2*I1+I2)/3 ;
12036      J1 = -2*I1+3*I3 ;
12037      if ((2*I1+J1)%3 == 0) {
12038        J2 = (2*I1+J1)/3 ;
12039        J3 = 3*I1-4*J2 ;
12040        S1++;
12041        S2++;
12042      }
12043    }
12044    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
12045      J3 = I1-(I2)-(I3) ;
12046      S1++;
12047      J3 = -I1-2*(I2)+2*I3 ;
12048      S2++;
12049    }
12050    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
12051      J3 = -I1-2*(I2)+2*I3 ;
12052      S2++;
12053    }
12054  }
12055  if ((I1-1)%4 == 0) {
12056    I2 = (I1-1)/4 ;
12057    for (I3=2*I2+1;I3<=3*I2;I3++) {
12058      J3 = I1-(I2)-(I3) ;
12059      S1++;
12060    }
12061    if ((9*I1-1)%12 == 0) {
12062      I3 = (9*I1-1)/12 ;
12063      J1 = -2*I1+3*I3 ;
12064      if ((2*I1+J1)%3 == 0) {
12065        J2 = (2*I1+J1)/3 ;
12066        J3 = 3*I1-4*J2 ;
12067        S1++;
12068        S2++;
12069      }
12070    }
12071    if ((3*I1+1)%4 == 0) {
12072      I3 = (3*I1+1)/4 ;
12073      J3 = I1-(I2)-(I3) ;
12074      S1++;
12075      J3 = -I1-2*(I2)+2*I3 ;
12076      S2++;
12077    }
12078    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
12079      J3 = -I1-2*(I2)+2*I3 ;
12080      S2++;
12081    }
12082  }
12083  if (I1%4 == 0) {
12084    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
12085      J3 = I1-(I2)-(I3) ;
12086      S1++;
12087    }
12088    if (3*I1%4 == 0) {
12089      I3 = 3*I1/4 ;
12090      J1 = -2*I1+3*I3 ;
12091      if ((2*I1+J1)%3 == 0) {
12092        J2 = (2*I1+J1)/3 ;
12093        J3 = 3*I1-4*J2 ;
12094        S1++;
12095        S2++;
12096      }
12097    }
12098    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
12099      J3 = -I1-2*(I2)+2*I3 ;
12100      S2++;
12101    }
12102  }
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) ;
12106      S1++;
12107    }
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 ;
12110      S2++;
12111    }
12112  }
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) ;
12116      S1++;
12117    }
12118  }
12119}
12120if ((N1 >= 18) && (N1 <= 19)) {
12121  if ((4*N1-4)%3 == 0) {
12122    I1 = (4*N1-4)/3 ;
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 ;
12126        S2++;
12127      }
12128    }
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 ;
12132        S2++;
12133      }
12134      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
12135        J3 = I1-(I2)-(I3) ;
12136        S1++;
12137      }
12138    }
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 ;
12142        S2++;
12143      }
12144      for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
12145        J3 = I1-(I2)-(I3) ;
12146        S1++;
12147        J3 = -I1-2*(I2)+2*I3 ;
12148        S2++;
12149      }
12150      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
12151        J3 = I1-(I2)-(I3) ;
12152        S1++;
12153      }
12154    }
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 ;
12158        S2++;
12159      }
12160      for (I3=I1-2*I2;I3<=N1;I3++) {
12161        J3 = I1-(I2)-(I3) ;
12162        S1++;
12163        J3 = -I1-2*(I2)+2*I3 ;
12164        S2++;
12165      }
12166    }
12167    if ((4*N1-4)%21 == 0) {
12168      I2 = (4*N1-4)/21 ;
12169      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
12170        J3 = -I1-2*(I2)+2*I3 ;
12171        S2++;
12172      }
12173      if (5*I1%7 == 0) {
12174        I3 = 5*I1/7 ;
12175        J1 = -2*I1+3*I3 ;
12176        if ((2*I1+J1)%3 == 0) {
12177          J2 = (2*I1+J1)/3 ;
12178          J3 = 3*I1-4*J2 ;
12179          S1++;
12180          S2++;
12181        }
12182      }
12183      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
12184        J3 = I1-(I2)-(I3) ;
12185        S1++;
12186        J3 = -I1-2*(I2)+2*I3 ;
12187        S2++;
12188      }
12189    }
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 ;
12193        S2++;
12194      }
12195      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
12196        J3 = -I1-2*(I2)+2*I3 ;
12197        S2++;
12198        J3 = I1-(I2)-(I3) ;
12199        S1++;
12200      }
12201      if ((2*I1+I2)%3 == 0) {
12202        I3 = (2*I1+I2)/3 ;
12203        J1 = -2*I1+3*I3 ;
12204        if ((2*I1+J1)%3 == 0) {
12205          J2 = (2*I1+J1)/3 ;
12206          J3 = 3*I1-4*J2 ;
12207          S1++;
12208          S2++;
12209        }
12210      }
12211      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
12212        J3 = I1-(I2)-(I3) ;
12213        S1++;
12214        J3 = -I1-2*(I2)+2*I3 ;
12215        S2++;
12216      }
12217    }
12218    if ((4*N1-7)%18 == 0) {
12219      I2 = (4*N1-7)/18 ;
12220      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
12221        J3 = -I1-2*(I2)+2*I3 ;
12222        S2++;
12223        J3 = I1-(I2)-(I3) ;
12224        S1++;
12225      }
12226      if ((13*I1-1)%18 == 0) {
12227        I3 = (13*I1-1)/18 ;
12228        J1 = -2*I1+3*I3 ;
12229        if ((2*I1+J1)%3 == 0) {
12230          J2 = (2*I1+J1)/3 ;
12231          J3 = 3*I1-4*J2 ;
12232          S1++;
12233          S2++;
12234        }
12235      }
12236      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
12237        J3 = I1-(I2)-(I3) ;
12238        S1++;
12239        J3 = -I1-2*(I2)+2*I3 ;
12240        S2++;
12241      }
12242    }
12243    if ((2*N1-2)%9 == 0) {
12244      I2 = (2*N1-2)/9 ;
12245      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
12246        J3 = -I1-2*(I2)+2*I3 ;
12247        S2++;
12248        J3 = I1-(I2)-(I3) ;
12249        S1++;
12250      }
12251      if (13*I1%18 == 0) {
12252        I3 = 13*I1/18 ;
12253        J1 = -2*I1+3*I3 ;
12254        if ((2*I1+J1)%3 == 0) {
12255          J2 = (2*I1+J1)/3 ;
12256          J3 = 3*I1-4*J2 ;
12257          S1++;
12258          S2++;
12259        }
12260      }
12261      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
12262        J3 = I1-(I2)-(I3) ;
12263        S1++;
12264        J3 = -I1-2*(I2)+2*I3 ;
12265        S2++;
12266      }
12267    }
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) ;
12271        S1++;
12272      }
12273      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
12274        J3 = -I1-2*(I2)+2*I3 ;
12275        S2++;
12276        J3 = I1-(I2)-(I3) ;
12277        S1++;
12278      }
12279      if ((2*I1+I2)%3 == 0) {
12280        I3 = (2*I1+I2)/3 ;
12281        J1 = -2*I1+3*I3 ;
12282        if ((2*I1+J1)%3 == 0) {
12283          J2 = (2*I1+J1)/3 ;
12284          J3 = 3*I1-4*J2 ;
12285          S1++;
12286          S2++;
12287        }
12288      }
12289      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
12290        J3 = I1-(I2)-(I3) ;
12291        S1++;
12292        J3 = -I1-2*(I2)+2*I3 ;
12293        S2++;
12294      }
12295    }
12296    if ((N1-1)%3 == 0) {
12297      I2 = (N1-1)/3 ;
12298      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
12299        J3 = I1-(I2)-(I3) ;
12300        S1++;
12301      }
12302      if (3*I1%4 == 0) {
12303        I3 = 3*I1/4 ;
12304        J1 = -2*I1+3*I3 ;
12305        if ((2*I1+J1)%3 == 0) {
12306          J2 = (2*I1+J1)/3 ;
12307          J3 = 3*I1-4*J2 ;
12308          S1++;
12309          S2++;
12310        }
12311      }
12312      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
12313        J3 = -I1-2*(I2)+2*I3 ;
12314        S2++;
12315      }
12316    }
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) ;
12320        S1++;
12321      }
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 ;
12324        S2++;
12325      }
12326    }
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) ;
12330        S1++;
12331      }
12332    }
12333  }
12334}
12335for (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 ;
12339      S2++;
12340    }
12341  }
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 ;
12345      S2++;
12346    }
12347    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
12348      J3 = I1-(I2)-(I3) ;
12349      S1++;
12350    }
12351  }
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 ;
12355      S2++;
12356    }
12357    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
12358      J3 = I1-(I2)-(I3) ;
12359      S1++;
12360      J3 = -I1-2*(I2)+2*I3 ;
12361      S2++;
12362    }
12363    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
12364      J3 = I1-(I2)-(I3) ;
12365      S1++;
12366    }
12367  }
12368  if (I1%7 == 0) {
12369    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
12370      J3 = -I1-2*(I2)+2*I3 ;
12371      S2++;
12372    }
12373    if (5*I1%7 == 0) {
12374      I3 = 5*I1/7 ;
12375      J1 = -2*I1+3*I3 ;
12376      if ((2*I1+J1)%3 == 0) {
12377        J2 = (2*I1+J1)/3 ;
12378        J3 = 3*I1-4*J2 ;
12379        S1++;
12380        S2++;
12381      }
12382    }
12383    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
12384      J3 = I1-(I2)-(I3) ;
12385      S1++;
12386      J3 = -I1-2*(I2)+2*I3 ;
12387      S2++;
12388    }
12389  }
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 ;
12393      S2++;
12394    }
12395    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
12396      J3 = -I1-2*(I2)+2*I3 ;
12397      S2++;
12398      J3 = I1-(I2)-(I3) ;
12399      S1++;
12400    }
12401    if ((2*I1+I2)%3 == 0) {
12402      I3 = (2*I1+I2)/3 ;
12403      J1 = -2*I1+3*I3 ;
12404      if ((2*I1+J1)%3 == 0) {
12405        J2 = (2*I1+J1)/3 ;
12406        J3 = 3*I1-4*J2 ;
12407        S1++;
12408        S2++;
12409      }
12410    }
12411    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
12412      J3 = I1-(I2)-(I3) ;
12413      S1++;
12414      J3 = -I1-2*(I2)+2*I3 ;
12415      S2++;
12416    }
12417  }
12418  if ((I1-1)%6 == 0) {
12419    I2 = (I1-1)/6 ;
12420    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
12421      J3 = -I1-2*(I2)+2*I3 ;
12422      S2++;
12423      J3 = I1-(I2)-(I3) ;
12424      S1++;
12425    }
12426    if ((13*I1-1)%18 == 0) {
12427      I3 = (13*I1-1)/18 ;
12428      J1 = -2*I1+3*I3 ;
12429      if ((2*I1+J1)%3 == 0) {
12430        J2 = (2*I1+J1)/3 ;
12431        J3 = 3*I1-4*J2 ;
12432        S1++;
12433        S2++;
12434      }
12435    }
12436    for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
12437      J3 = I1-(I2)-(I3) ;
12438      S1++;
12439      J3 = -I1-2*(I2)+2*I3 ;
12440      S2++;
12441    }
12442  }
12443  if (I1%6 == 0) {
12444    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
12445      J3 = -I1-2*(I2)+2*I3 ;
12446      S2++;
12447      J3 = I1-(I2)-(I3) ;
12448      S1++;
12449    }
12450    if (13*I1%18 == 0) {
12451      I3 = 13*I1/18 ;
12452      J1 = -2*I1+3*I3 ;
12453      if ((2*I1+J1)%3 == 0) {
12454        J2 = (2*I1+J1)/3 ;
12455        J3 = 3*I1-4*J2 ;
12456        S1++;
12457        S2++;
12458      }
12459    }
12460    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
12461      J3 = I1-(I2)-(I3) ;
12462      S1++;
12463      J3 = -I1-2*(I2)+2*I3 ;
12464      S2++;
12465    }
12466  }
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) ;
12470      S1++;
12471    }
12472    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
12473      J3 = -I1-2*(I2)+2*I3 ;
12474      S2++;
12475      J3 = I1-(I2)-(I3) ;
12476      S1++;
12477    }
12478    if ((2*I1+I2)%3 == 0) {
12479      I3 = (2*I1+I2)/3 ;
12480      J1 = -2*I1+3*I3 ;
12481      if ((2*I1+J1)%3 == 0) {
12482        J2 = (2*I1+J1)/3 ;
12483        J3 = 3*I1-4*J2 ;
12484        S1++;
12485        S2++;
12486      }
12487    }
12488    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
12489      J3 = I1-(I2)-(I3) ;
12490      S1++;
12491      J3 = -I1-2*(I2)+2*I3 ;
12492      S2++;
12493    }
12494  }
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) ;
12498      S1++;
12499    }
12500    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
12501      J3 = -I1-2*(I2)+2*I3 ;
12502      S2++;
12503      J3 = I1-(I2)-(I3) ;
12504      S1++;
12505    }
12506    if ((2*I1+I2)%3 == 0) {
12507      I3 = (2*I1+I2)/3 ;
12508      J1 = -2*I1+3*I3 ;
12509      if ((2*I1+J1)%3 == 0) {
12510        J2 = (2*I1+J1)/3 ;
12511        J3 = 3*I1-4*J2 ;
12512        S1++;
12513        S2++;
12514      }
12515    }
12516    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
12517      J3 = I1-(I2)-(I3) ;
12518      S1++;
12519      J3 = -I1-2*(I2)+2*I3 ;
12520      S2++;
12521    }
12522    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
12523      J3 = -I1-2*(I2)+2*I3 ;
12524      S2++;
12525    }
12526  }
12527  if ((I1-1)%4 == 0) {
12528    I2 = (I1-1)/4 ;
12529    for (I3=2*I2+1;I3<=3*I2;I3++) {
12530      J3 = I1-(I2)-(I3) ;
12531      S1++;
12532    }
12533    if ((9*I1-1)%12 == 0) {
12534      I3 = (9*I1-1)/12 ;
12535      J1 = -2*I1+3*I3 ;
12536      if ((2*I1+J1)%3 == 0) {
12537        J2 = (2*I1+J1)/3 ;
12538        J3 = 3*I1-4*J2 ;
12539        S1++;
12540        S2++;
12541      }
12542    }
12543    if ((3*I1+1)%4 == 0) {
12544      I3 = (3*I1+1)/4 ;
12545      J3 = I1-(I2)-(I3) ;
12546      S1++;
12547      J3 = -I1-2*(I2)+2*I3 ;
12548      S2++;
12549    }
12550    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
12551      J3 = -I1-2*(I2)+2*I3 ;
12552      S2++;
12553    }
12554  }
12555  if (I1%4 == 0) {
12556    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
12557      J3 = I1-(I2)-(I3) ;
12558      S1++;
12559    }
12560    if (3*I1%4 == 0) {
12561      I3 = 3*I1/4 ;
12562      J1 = -2*I1+3*I3 ;
12563      if ((2*I1+J1)%3 == 0) {
12564        J2 = (2*I1+J1)/3 ;
12565        J3 = 3*I1-4*J2 ;
12566        S1++;
12567        S2++;
12568      }
12569    }
12570    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
12571      J3 = -I1-2*(I2)+2*I3 ;
12572      S2++;
12573    }
12574  }
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) ;
12578      S1++;
12579    }
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 ;
12582      S2++;
12583    }
12584  }
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) ;
12588      S1++;
12589    }
12590  }
12591}
12592for (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 ;
12596      S2++;
12597    }
12598  }
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 ;
12602      S2++;
12603    }
12604    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
12605      J3 = I1-(I2)-(I3) ;
12606      S1++;
12607    }
12608  }
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 ;
12612      S2++;
12613    }
12614    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
12615      J3 = I1-(I2)-(I3) ;
12616      S1++;
12617      J3 = -I1-2*(I2)+2*I3 ;
12618      S2++;
12619    }
12620    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
12621      J3 = I1-(I2)-(I3) ;
12622      S1++;
12623    }
12624  }
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 ;
12628      S2++;
12629    }
12630    for (I3=I1-2*I2;I3<=N1;I3++) {
12631      J3 = I1-(I2)-(I3) ;
12632      S1++;
12633      J3 = -I1-2*(I2)+2*I3 ;
12634      S2++;
12635    }
12636  }
12637  if (I1%7 == 0) {
12638    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
12639      J3 = -I1-2*(I2)+2*I3 ;
12640      S2++;
12641    }
12642    if (5*I1%7 == 0) {
12643      I3 = 5*I1/7 ;
12644      J1 = -2*I1+3*I3 ;
12645      if ((2*I1+J1)%3 == 0) {
12646        J2 = (2*I1+J1)/3 ;
12647        J3 = 3*I1-4*J2 ;
12648        S1++;
12649        S2++;
12650      }
12651    }
12652    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
12653      J3 = I1-(I2)-(I3) ;
12654      S1++;
12655      J3 = -I1-2*(I2)+2*I3 ;
12656      S2++;
12657    }
12658  }
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 ;
12662      S2++;
12663    }
12664    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
12665      J3 = -I1-2*(I2)+2*I3 ;
12666      S2++;
12667      J3 = I1-(I2)-(I3) ;
12668      S1++;
12669    }
12670    if ((2*I1+I2)%3 == 0) {
12671      I3 = (2*I1+I2)/3 ;
12672      J1 = -2*I1+3*I3 ;
12673      if ((2*I1+J1)%3 == 0) {
12674        J2 = (2*I1+J1)/3 ;
12675        J3 = 3*I1-4*J2 ;
12676        S1++;
12677        S2++;
12678      }
12679    }
12680    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
12681      J3 = I1-(I2)-(I3) ;
12682      S1++;
12683      J3 = -I1-2*(I2)+2*I3 ;
12684      S2++;
12685    }
12686  }
12687  if ((I1-1)%6 == 0) {
12688    I2 = (I1-1)/6 ;
12689    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
12690      J3 = -I1-2*(I2)+2*I3 ;
12691      S2++;
12692      J3 = I1-(I2)-(I3) ;
12693      S1++;
12694    }
12695    if ((13*I1-1)%18 == 0) {
12696      I3 = (13*I1-1)/18 ;
12697      J1 = -2*I1+3*I3 ;
12698      if ((2*I1+J1)%3 == 0) {
12699        J2 = (2*I1+J1)/3 ;
12700        J3 = 3*I1-4*J2 ;
12701        S1++;
12702        S2++;
12703      }
12704    }
12705    for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
12706      J3 = I1-(I2)-(I3) ;
12707      S1++;
12708      J3 = -I1-2*(I2)+2*I3 ;
12709      S2++;
12710    }
12711  }
12712  if (I1%6 == 0) {
12713    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
12714      J3 = -I1-2*(I2)+2*I3 ;
12715      S2++;
12716      J3 = I1-(I2)-(I3) ;
12717      S1++;
12718    }
12719    if (13*I1%18 == 0) {
12720      I3 = 13*I1/18 ;
12721      J1 = -2*I1+3*I3 ;
12722      if ((2*I1+J1)%3 == 0) {
12723        J2 = (2*I1+J1)/3 ;
12724        J3 = 3*I1-4*J2 ;
12725        S1++;
12726        S2++;
12727      }
12728    }
12729    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
12730      J3 = I1-(I2)-(I3) ;
12731      S1++;
12732      J3 = -I1-2*(I2)+2*I3 ;
12733      S2++;
12734    }
12735  }
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) ;
12739      S1++;
12740    }
12741    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
12742      J3 = -I1-2*(I2)+2*I3 ;
12743      S2++;
12744      J3 = I1-(I2)-(I3) ;
12745      S1++;
12746    }
12747    if ((2*I1+I2)%3 == 0) {
12748      I3 = (2*I1+I2)/3 ;
12749      J1 = -2*I1+3*I3 ;
12750      if ((2*I1+J1)%3 == 0) {
12751        J2 = (2*I1+J1)/3 ;
12752        J3 = 3*I1-4*J2 ;
12753        S1++;
12754        S2++;
12755      }
12756    }
12757    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
12758      J3 = I1-(I2)-(I3) ;
12759      S1++;
12760      J3 = -I1-2*(I2)+2*I3 ;
12761      S2++;
12762    }
12763  }
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) ;
12767      S1++;
12768    }
12769    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
12770      J3 = -I1-2*(I2)+2*I3 ;
12771      S2++;
12772      J3 = I1-(I2)-(I3) ;
12773      S1++;
12774    }
12775    if ((2*I1+I2)%3 == 0) {
12776      I3 = (2*I1+I2)/3 ;
12777      J1 = -2*I1+3*I3 ;
12778      if ((2*I1+J1)%3 == 0) {
12779        J2 = (2*I1+J1)/3 ;
12780        J3 = 3*I1-4*J2 ;
12781        S1++;
12782        S2++;
12783      }
12784    }
12785    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
12786      J3 = I1-(I2)-(I3) ;
12787      S1++;
12788      J3 = -I1-2*(I2)+2*I3 ;
12789      S2++;
12790    }
12791    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
12792      J3 = -I1-2*(I2)+2*I3 ;
12793      S2++;
12794    }
12795  }
12796  if ((I1-1)%4 == 0) {
12797    I2 = (I1-1)/4 ;
12798    for (I3=2*I2+1;I3<=3*I2;I3++) {
12799      J3 = I1-(I2)-(I3) ;
12800      S1++;
12801    }
12802    if ((9*I1-1)%12 == 0) {
12803      I3 = (9*I1-1)/12 ;
12804      J1 = -2*I1+3*I3 ;
12805      if ((2*I1+J1)%3 == 0) {
12806        J2 = (2*I1+J1)/3 ;
12807        J3 = 3*I1-4*J2 ;
12808        S1++;
12809        S2++;
12810      }
12811    }
12812    if ((3*I1+1)%4 == 0) {
12813      I3 = (3*I1+1)/4 ;
12814      J3 = I1-(I2)-(I3) ;
12815      S1++;
12816      J3 = -I1-2*(I2)+2*I3 ;
12817      S2++;
12818    }
12819    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
12820      J3 = -I1-2*(I2)+2*I3 ;
12821      S2++;
12822    }
12823  }
12824  if (I1%4 == 0) {
12825    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
12826      J3 = I1-(I2)-(I3) ;
12827      S1++;
12828    }
12829    if (3*I1%4 == 0) {
12830      I3 = 3*I1/4 ;
12831      J1 = -2*I1+3*I3 ;
12832      if ((2*I1+J1)%3 == 0) {
12833        J2 = (2*I1+J1)/3 ;
12834        J3 = 3*I1-4*J2 ;
12835        S1++;
12836        S2++;
12837      }
12838    }
12839    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
12840      J3 = -I1-2*(I2)+2*I3 ;
12841      S2++;
12842    }
12843  }
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) ;
12847      S1++;
12848    }
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 ;
12851      S2++;
12852    }
12853  }
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) ;
12857      S1++;
12858    }
12859  }
12860}
12861if ((N1 >= 20) && (N1 <= 26)) {
12862  if ((4*N1-5)%3 == 0) {
12863    I1 = (4*N1-5)/3 ;
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 ;
12867        S2++;
12868      }
12869    }
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 ;
12873        S2++;
12874      }
12875      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
12876        J3 = I1-(I2)-(I3) ;
12877        S1++;
12878      }
12879    }
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 ;
12883        S2++;
12884      }
12885      for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
12886        J3 = I1-(I2)-(I3) ;
12887        S1++;
12888        J3 = -I1-2*(I2)+2*I3 ;
12889        S2++;
12890      }
12891      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
12892        J3 = I1-(I2)-(I3) ;
12893        S1++;
12894      }
12895    }
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 ;
12899        S2++;
12900      }
12901      for (I3=I1-2*I2;I3<=N1;I3++) {
12902        J3 = I1-(I2)-(I3) ;
12903        S1++;
12904        J3 = -I1-2*(I2)+2*I3 ;
12905        S2++;
12906      }
12907    }
12908    if ((4*N1-5)%21 == 0) {
12909      I2 = (4*N1-5)/21 ;
12910      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
12911        J3 = -I1-2*(I2)+2*I3 ;
12912        S2++;
12913      }
12914      if (5*I1%7 == 0) {
12915        I3 = 5*I1/7 ;
12916        J1 = -2*I1+3*I3 ;
12917        if ((2*I1+J1)%3 == 0) {
12918          J2 = (2*I1+J1)/3 ;
12919          J3 = 3*I1-4*J2 ;
12920          S1++;
12921          S2++;
12922        }
12923      }
12924      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
12925        J3 = I1-(I2)-(I3) ;
12926        S1++;
12927        J3 = -I1-2*(I2)+2*I3 ;
12928        S2++;
12929      }
12930    }
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 ;
12934        S2++;
12935      }
12936      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
12937        J3 = -I1-2*(I2)+2*I3 ;
12938        S2++;
12939        J3 = I1-(I2)-(I3) ;
12940        S1++;
12941      }
12942      if ((2*I1+I2)%3 == 0) {
12943        I3 = (2*I1+I2)/3 ;
12944        J1 = -2*I1+3*I3 ;
12945        if ((2*I1+J1)%3 == 0) {
12946          J2 = (2*I1+J1)/3 ;
12947          J3 = 3*I1-4*J2 ;
12948          S1++;
12949          S2++;
12950        }
12951      }
12952      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
12953        J3 = I1-(I2)-(I3) ;
12954        S1++;
12955        J3 = -I1-2*(I2)+2*I3 ;
12956        S2++;
12957      }
12958    }
12959    if ((2*N1-4)%9 == 0) {
12960      I2 = (2*N1-4)/9 ;
12961      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
12962        J3 = -I1-2*(I2)+2*I3 ;
12963        S2++;
12964        J3 = I1-(I2)-(I3) ;
12965        S1++;
12966      }
12967      if ((13*I1-1)%18 == 0) {
12968        I3 = (13*I1-1)/18 ;
12969        J1 = -2*I1+3*I3 ;
12970        if ((2*I1+J1)%3 == 0) {
12971          J2 = (2*I1+J1)/3 ;
12972          J3 = 3*I1-4*J2 ;
12973          S1++;
12974          S2++;
12975        }
12976      }
12977      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
12978        J3 = I1-(I2)-(I3) ;
12979        S1++;
12980        J3 = -I1-2*(I2)+2*I3 ;
12981        S2++;
12982      }
12983    }
12984    if ((4*N1-5)%18 == 0) {
12985      I2 = (4*N1-5)/18 ;
12986      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
12987        J3 = -I1-2*(I2)+2*I3 ;
12988        S2++;
12989        J3 = I1-(I2)-(I3) ;
12990        S1++;
12991      }
12992      if (13*I1%18 == 0) {
12993        I3 = 13*I1/18 ;
12994        J1 = -2*I1+3*I3 ;
12995        if ((2*I1+J1)%3 == 0) {
12996          J2 = (2*I1+J1)/3 ;
12997          J3 = 3*I1-4*J2 ;
12998          S1++;
12999          S2++;
13000        }
13001      }
13002      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
13003        J3 = I1-(I2)-(I3) ;
13004        S1++;
13005        J3 = -I1-2*(I2)+2*I3 ;
13006        S2++;
13007      }
13008    }
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) ;
13012        S1++;
13013      }
13014      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
13015        J3 = -I1-2*(I2)+2*I3 ;
13016        S2++;
13017        J3 = I1-(I2)-(I3) ;
13018        S1++;
13019      }
13020      if ((2*I1+I2)%3 == 0) {
13021        I3 = (2*I1+I2)/3 ;
13022        J1 = -2*I1+3*I3 ;
13023        if ((2*I1+J1)%3 == 0) {
13024          J2 = (2*I1+J1)/3 ;
13025          J3 = 3*I1-4*J2 ;
13026          S1++;
13027          S2++;
13028        }
13029      }
13030      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
13031        J3 = I1-(I2)-(I3) ;
13032        S1++;
13033        J3 = -I1-2*(I2)+2*I3 ;
13034        S2++;
13035      }
13036    }
13037    if ((N1-2)%3 == 0) {
13038      I2 = (N1-2)/3 ;
13039      for (I3=2*I2+1;I3<=3*I2;I3++) {
13040        J3 = I1-(I2)-(I3) ;
13041        S1++;
13042      }
13043      if ((9*I1-1)%12 == 0) {
13044        I3 = (9*I1-1)/12 ;
13045        J1 = -2*I1+3*I3 ;
13046        if ((2*I1+J1)%3 == 0) {
13047          J2 = (2*I1+J1)/3 ;
13048          J3 = 3*I1-4*J2 ;
13049          S1++;
13050          S2++;
13051        }
13052      }
13053      if ((3*I1+1)%4 == 0) {
13054        I3 = (3*I1+1)/4 ;
13055        J3 = I1-(I2)-(I3) ;
13056        S1++;
13057        J3 = -I1-2*(I2)+2*I3 ;
13058        S2++;
13059      }
13060      for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
13061        J3 = -I1-2*(I2)+2*I3 ;
13062        S2++;
13063      }
13064    }
13065    if ((4*N1-5)%12 == 0) {
13066      I2 = (4*N1-5)/12 ;
13067      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
13068        J3 = I1-(I2)-(I3) ;
13069        S1++;
13070      }
13071      if (3*I1%4 == 0) {
13072        I3 = 3*I1/4 ;
13073        J1 = -2*I1+3*I3 ;
13074        if ((2*I1+J1)%3 == 0) {
13075          J2 = (2*I1+J1)/3 ;
13076          J3 = 3*I1-4*J2 ;
13077          S1++;
13078          S2++;
13079        }
13080      }
13081      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
13082        J3 = -I1-2*(I2)+2*I3 ;
13083        S2++;
13084      }
13085    }
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) ;
13089        S1++;
13090      }
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 ;
13093        S2++;
13094      }
13095    }
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) ;
13099        S1++;
13100      }
13101    }
13102  }
13103}
13104if (N1 >= 36) {
13105  if ((9*N1-2)%7 == 0) {
13106    I1 = (9*N1-2)/7 ;
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 ;
13110        S2++;
13111      }
13112    }
13113    if ((N1-1)%7 == 0) {
13114      I2 = (N1-1)/7 ;
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 ;
13117        S2++;
13118      }
13119      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
13120        J3 = I1-(I2)-(I3) ;
13121        S1++;
13122      }
13123    }
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 ;
13127        S2++;
13128      }
13129      for (I3=I1-2*I2;I3<=N1;I3++) {
13130        J3 = I1-(I2)-(I3) ;
13131        S1++;
13132        J3 = -I1-2*(I2)+2*I3 ;
13133        S2++;
13134      }
13135    }
13136    if ((9*N1-2)%49 == 0) {
13137      I2 = (9*N1-2)/49 ;
13138      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
13139        J3 = -I1-2*(I2)+2*I3 ;
13140        S2++;
13141      }
13142      if (5*I1%7 == 0) {
13143        I3 = 5*I1/7 ;
13144        J1 = -2*I1+3*I3 ;
13145        if ((2*I1+J1)%3 == 0) {
13146          J2 = (2*I1+J1)/3 ;
13147          J3 = 3*I1-4*J2 ;
13148          S1++;
13149          S2++;
13150        }
13151      }
13152      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
13153        J3 = I1-(I2)-(I3) ;
13154        S1++;
13155        J3 = -I1-2*(I2)+2*I3 ;
13156        S2++;
13157      }
13158    }
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 ;
13162        S2++;
13163      }
13164      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
13165        J3 = -I1-2*(I2)+2*I3 ;
13166        S2++;
13167        J3 = I1-(I2)-(I3) ;
13168        S1++;
13169      }
13170      if ((2*I1+I2)%3 == 0) {
13171        I3 = (2*I1+I2)/3 ;
13172        J1 = -2*I1+3*I3 ;
13173        if ((2*I1+J1)%3 == 0) {
13174          J2 = (2*I1+J1)/3 ;
13175          J3 = 3*I1-4*J2 ;
13176          S1++;
13177          S2++;
13178        }
13179      }
13180      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
13181        J3 = I1-(I2)-(I3) ;
13182        S1++;
13183        J3 = -I1-2*(I2)+2*I3 ;
13184        S2++;
13185      }
13186    }
13187    if ((3*N1-3)%14 == 0) {
13188      I2 = (3*N1-3)/14 ;
13189      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
13190        J3 = -I1-2*(I2)+2*I3 ;
13191        S2++;
13192        J3 = I1-(I2)-(I3) ;
13193        S1++;
13194      }
13195      if ((13*I1-1)%18 == 0) {
13196        I3 = (13*I1-1)/18 ;
13197        J1 = -2*I1+3*I3 ;
13198        if ((2*I1+J1)%3 == 0) {
13199          J2 = (2*I1+J1)/3 ;
13200          J3 = 3*I1-4*J2 ;
13201          S1++;
13202          S2++;
13203        }
13204      }
13205      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
13206        J3 = I1-(I2)-(I3) ;
13207        S1++;
13208        J3 = -I1-2*(I2)+2*I3 ;
13209        S2++;
13210      }
13211    }
13212    if ((9*N1-2)%42 == 0) {
13213      I2 = (9*N1-2)/42 ;
13214      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
13215        J3 = -I1-2*(I2)+2*I3 ;
13216        S2++;
13217        J3 = I1-(I2)-(I3) ;
13218        S1++;
13219      }
13220      if (13*I1%18 == 0) {
13221        I3 = 13*I1/18 ;
13222        J1 = -2*I1+3*I3 ;
13223        if ((2*I1+J1)%3 == 0) {
13224          J2 = (2*I1+J1)/3 ;
13225          J3 = 3*I1-4*J2 ;
13226          S1++;
13227          S2++;
13228        }
13229      }
13230      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
13231        J3 = I1-(I2)-(I3) ;
13232        S1++;
13233        J3 = -I1-2*(I2)+2*I3 ;
13234        S2++;
13235      }
13236    }
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) ;
13240        S1++;
13241      }
13242      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
13243        J3 = -I1-2*(I2)+2*I3 ;
13244        S2++;
13245        J3 = I1-(I2)-(I3) ;
13246        S1++;
13247      }
13248      if ((2*I1+I2)%3 == 0) {
13249        I3 = (2*I1+I2)/3 ;
13250        J1 = -2*I1+3*I3 ;
13251        if ((2*I1+J1)%3 == 0) {
13252          J2 = (2*I1+J1)/3 ;
13253          J3 = 3*I1-4*J2 ;
13254          S1++;
13255          S2++;
13256        }
13257      }
13258      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
13259        J3 = I1-(I2)-(I3) ;
13260        S1++;
13261        J3 = -I1-2*(I2)+2*I3 ;
13262        S2++;
13263      }
13264    }
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) ;
13268        S1++;
13269      }
13270      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
13271        J3 = -I1-2*(I2)+2*I3 ;
13272        S2++;
13273        J3 = I1-(I2)-(I3) ;
13274        S1++;
13275      }
13276      if ((2*I1+I2)%3 == 0) {
13277        I3 = (2*I1+I2)/3 ;
13278        J1 = -2*I1+3*I3 ;
13279        if ((2*I1+J1)%3 == 0) {
13280          J2 = (2*I1+J1)/3 ;
13281          J3 = 3*I1-4*J2 ;
13282          S1++;
13283          S2++;
13284        }
13285      }
13286      for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
13287        J3 = I1-(I2)-(I3) ;
13288        S1++;
13289        J3 = -I1-2*(I2)+2*I3 ;
13290        S2++;
13291      }
13292      for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
13293        J3 = -I1-2*(I2)+2*I3 ;
13294        S2++;
13295      }
13296    }
13297    if ((9*N1-9)%28 == 0) {
13298      I2 = (9*N1-9)/28 ;
13299      for (I3=2*I2+1;I3<=3*I2;I3++) {
13300        J3 = I1-(I2)-(I3) ;
13301        S1++;
13302      }
13303      if ((9*I1-1)%12 == 0) {
13304        I3 = (9*I1-1)/12 ;
13305        J1 = -2*I1+3*I3 ;
13306        if ((2*I1+J1)%3 == 0) {
13307          J2 = (2*I1+J1)/3 ;
13308          J3 = 3*I1-4*J2 ;
13309          S1++;
13310          S2++;
13311        }
13312      }
13313      if ((3*I1+1)%4 == 0) {
13314        I3 = (3*I1+1)/4 ;
13315        J3 = I1-(I2)-(I3) ;
13316        S1++;
13317        J3 = -I1-2*(I2)+2*I3 ;
13318        S2++;
13319      }
13320      for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
13321        J3 = -I1-2*(I2)+2*I3 ;
13322        S2++;
13323      }
13324    }
13325    if ((9*N1-2)%28 == 0) {
13326      I2 = (9*N1-2)/28 ;
13327      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
13328        J3 = I1-(I2)-(I3) ;
13329        S1++;
13330      }
13331      if (3*I1%4 == 0) {
13332        I3 = 3*I1/4 ;
13333        J1 = -2*I1+3*I3 ;
13334        if ((2*I1+J1)%3 == 0) {
13335          J2 = (2*I1+J1)/3 ;
13336          J3 = 3*I1-4*J2 ;
13337          S1++;
13338          S2++;
13339        }
13340      }
13341      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
13342        J3 = -I1-2*(I2)+2*I3 ;
13343        S2++;
13344      }
13345    }
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) ;
13349        S1++;
13350      }
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 ;
13353        S2++;
13354      }
13355    }
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) ;
13359        S1++;
13360      }
13361    }
13362  }
13363}
13364if (N1 == 29) {
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 ;
13368      S2++;
13369    }
13370  }
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 ;
13373    S2++;
13374  }
13375  for (I3=37-2*(4);I3<=min(N1,37-(4));I3++) {
13376    J3 = 37-(I2)-(I3) ;
13377    S1++;
13378  }
13379  for (I3=ceild(37+2*5,2);I3<=37-2*(5)-1;I3++) {
13380    J3 = -(37)-2*(I2)+2*I3 ;
13381    S2++;
13382  }
13383  for (I3=37-2*(5);I3<=N1;I3++) {
13384    J3 = 37-(I2)-(I3) ;
13385    S1++;
13386    J3 = -(37)-2*(I2)+2*I3 ;
13387    S2++;
13388  }
13389  if (37%7 == 0) {
13390    for (I3=ceild(9*37/7,2);I3<=5*37/7-1;I3++) {
13391      J3 = -(37)-2*(I2)+2*I3 ;
13392      S2++;
13393    }
13394    if (5*37%7 == 0) {
13395      I3 = 5*37/7 ;
13396      J1 = -2*(37)+3*I3 ;
13397      if ((2*37+J1)%3 == 0) {
13398        J2 = (2*37+J1)/3 ;
13399        J3 = 3*37-4*J2 ;
13400        S1++;
13401        S2++;
13402      }
13403    }
13404    for (I3=ceild(15*37/7+1,3);I3<=N1;I3++) {
13405      J3 = 37-(I2)-(I3) ;
13406      S1++;
13407      J3 = -(37)-2*(I2)+2*I3 ;
13408      S2++;
13409    }
13410  }
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 ;
13414      S2++;
13415    }
13416    for (I3=37-2*I2;I3<=floord(2*37+I2-1,3);I3++) {
13417      J3 = -(37)-2*(I2)+2*I3 ;
13418      S2++;
13419      J3 = 37-(I2)-(I3) ;
13420      S1++;
13421    }
13422    if ((2*37+I2)%3 == 0) {
13423      I3 = (2*37+I2)/3 ;
13424      J1 = -2*(37)+3*I3 ;
13425      if ((2*37+J1)%3 == 0) {
13426        J2 = (2*37+J1)/3 ;
13427        J3 = 3*37-4*J2 ;
13428        S1++;
13429        S2++;
13430      }
13431    }
13432    for (I3=ceild(2*37+I2+1,3);I3<=N1;I3++) {
13433      J3 = 37-(I2)-(I3) ;
13434      S1++;
13435      J3 = -(37)-2*(I2)+2*I3 ;
13436      S2++;
13437    }
13438  }
13439  for (I3=4*6+1;I3<=floord(13*6+1,3);I3++) {
13440    J3 = -(37)-2*(I2)+2*I3 ;
13441    S2++;
13442    J3 = 37-(I2)-(I3) ;
13443    S1++;
13444  }
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) {
13449      J2 = (2*37+J1)/3 ;
13450      J3 = 3*37-4*J2 ;
13451      S1++;
13452      S2++;
13453    }
13454  }
13455  for (I3=ceild(13*6+3,3);I3<=N1;I3++) {
13456    J3 = 37-(I2)-(I3) ;
13457    S1++;
13458    J3 = -(37)-2*(I2)+2*I3 ;
13459    S2++;
13460  }
13461  if (37%6 == 0) {
13462    for (I3=4*37/6;I3<=floord(13*37/6-1,3);I3++) {
13463      J3 = -(37)-2*(I2)+2*I3 ;
13464      S2++;
13465      J3 = 37-(I2)-(I3) ;
13466      S1++;
13467    }
13468    if (13*37%18 == 0) {
13469      I3 = 13*37/18 ;
13470      J1 = -2*(37)+3*I3 ;
13471      if ((2*37+J1)%3 == 0) {
13472        J2 = (2*37+J1)/3 ;
13473        J3 = 3*37-4*J2 ;
13474        S1++;
13475        S2++;
13476      }
13477    }
13478    for (I3=ceild(13*37/6+1,3);I3<=min(N1,5*37/6);I3++) {
13479      J3 = 37-(I2)-(I3) ;
13480      S1++;
13481      J3 = -(37)-2*(I2)+2*I3 ;
13482      S2++;
13483    }
13484  }
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) ;
13488      S1++;
13489    }
13490    for (I3=ceild(37+2*I2,2);I3<=floord(2*37+I2-1,3);I3++) {
13491      J3 = -(37)-2*(I2)+2*I3 ;
13492      S2++;
13493      J3 = 37-(I2)-(I3) ;
13494      S1++;
13495    }
13496    if ((2*37+I2)%3 == 0) {
13497      I3 = (2*37+I2)/3 ;
13498      J1 = -2*(37)+3*I3 ;
13499      if ((2*37+J1)%3 == 0) {
13500        J2 = (2*37+J1)/3 ;
13501        J3 = 3*37-4*J2 ;
13502        S1++;
13503        S2++;
13504      }
13505    }
13506    for (I3=ceild(2*37+I2+1,3);I3<=N1;I3++) {
13507      J3 = 37-(I2)-(I3) ;
13508      S1++;
13509      J3 = -(37)-2*(I2)+2*I3 ;
13510      S2++;
13511    }
13512  }
13513  for (I3=2*9+1;I3<=3*9;I3++) {
13514    J3 = 37-(I2)-(I3) ;
13515    S1++;
13516  }
13517  if ((9*37-1)%12 == 0) {
13518    I3 = (9*37-1)/12 ;
13519    J1 = -2*(37)+3*I3 ;
13520    if ((2*37+J1)%3 == 0) {
13521      J2 = (2*37+J1)/3 ;
13522      J3 = 3*37-4*J2 ;
13523      S1++;
13524      S2++;
13525    }
13526  }
13527  if ((3*37+1)%4 == 0) {
13528    I3 = (3*37+1)/4 ;
13529    J3 = 37-(I2)-(I3) ;
13530    S1++;
13531    J3 = -(37)-2*(I2)+2*I3 ;
13532    S2++;
13533  }
13534  for (I3=3*9+2;I3<=min(N1,floord(11*9+2,3));I3++) {
13535    J3 = -(37)-2*(I2)+2*I3 ;
13536    S2++;
13537  }
13538  if (37%4 == 0) {
13539    for (I3=2*37/4;I3<=floord(6*37/4-1,2);I3++) {
13540      J3 = 37-(I2)-(I3) ;
13541      S1++;
13542    }
13543    if (3*37%4 == 0) {
13544      I3 = 3*37/4 ;
13545      J1 = -2*(37)+3*I3 ;
13546      if ((2*37+J1)%3 == 0) {
13547        J2 = (2*37+J1)/3 ;
13548        J3 = 3*37-4*J2 ;
13549        S1++;
13550        S2++;
13551      }
13552    }
13553    for (I3=3*37/4+1;I3<=min(N1,floord(11*37/4,3));I3++) {
13554      J3 = -(37)-2*(I2)+2*I3 ;
13555      S2++;
13556    }
13557  }
13558  for (I3=max(max(1,ceild(37-(10),2)),37-2*(10));I3<=37-(10);I3++) {
13559    J3 = 37-(I2)-(I3) ;
13560    S1++;
13561  }
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 ;
13564    S2++;
13565  }
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) ;
13569      S1++;
13570    }
13571  }
13572}
13573if (N1 == 22) {
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 ;
13577      S2++;
13578    }
13579  }
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 ;
13582    S2++;
13583  }
13584  for (I3=28-2*(3);I3<=min(N1,28-(3));I3++) {
13585    J3 = 28-(I2)-(I3) ;
13586    S1++;
13587  }
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 ;
13591      S2++;
13592    }
13593    for (I3=28-2*I2;I3<=N1;I3++) {
13594      J3 = 28-(I2)-(I3) ;
13595      S1++;
13596      J3 = -(28)-2*(I2)+2*I3 ;
13597      S2++;
13598    }
13599  }
13600  for (I3=ceild(9*4,2);I3<=5*4-1;I3++) {
13601    J3 = -(28)-2*(I2)+2*I3 ;
13602    S2++;
13603  }
13604  if (5*28%7 == 0) {
13605    I3 = 5*28/7 ;
13606    J1 = -2*(28)+3*I3 ;
13607    if ((2*28+J1)%3 == 0) {
13608      J2 = (2*28+J1)/3 ;
13609      J3 = 3*28-4*J2 ;
13610      S1++;
13611      S2++;
13612    }
13613  }
13614  for (I3=ceild(15*4+1,3);I3<=N1;I3++) {
13615    J3 = 28-(I2)-(I3) ;
13616    S1++;
13617    J3 = -(28)-2*(I2)+2*I3 ;
13618    S2++;
13619  }
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 ;
13623      S2++;
13624    }
13625    for (I3=28-2*I2;I3<=floord(2*28+I2-1,3);I3++) {
13626      J3 = -(28)-2*(I2)+2*I3 ;
13627      S2++;
13628      J3 = 28-(I2)-(I3) ;
13629      S1++;
13630    }
13631    if ((2*28+I2)%3 == 0) {
13632      I3 = (2*28+I2)/3 ;
13633      J1 = -2*(28)+3*I3 ;
13634      if ((2*28+J1)%3 == 0) {
13635        J2 = (2*28+J1)/3 ;
13636        J3 = 3*28-4*J2 ;
13637        S1++;
13638        S2++;
13639      }
13640    }
13641    for (I3=ceild(2*28+I2+1,3);I3<=N1;I3++) {
13642      J3 = 28-(I2)-(I3) ;
13643      S1++;
13644      J3 = -(28)-2*(I2)+2*I3 ;
13645      S2++;
13646    }
13647  }
13648  if (9%2 == 0) {
13649    for (I3=4*9/2+1;I3<=floord(13*9/2+1,3);I3++) {
13650      J3 = -(28)-2*(I2)+2*I3 ;
13651      S2++;
13652      J3 = 28-(I2)-(I3) ;
13653      S1++;
13654    }
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) {
13659        J2 = (2*28+J1)/3 ;
13660        J3 = 3*28-4*J2 ;
13661        S1++;
13662        S2++;
13663      }
13664    }
13665    for (I3=ceild(13*9/2+3,3);I3<=N1;I3++) {
13666      J3 = 28-(I2)-(I3) ;
13667      S1++;
13668      J3 = -(28)-2*(I2)+2*I3 ;
13669      S2++;
13670    }
13671  }
13672  if (14%3 == 0) {
13673    for (I3=4*14/3;I3<=floord(13*14/3-1,3);I3++) {
13674      J3 = -(28)-2*(I2)+2*I3 ;
13675      S2++;
13676      J3 = 28-(I2)-(I3) ;
13677      S1++;
13678    }
13679    if (13*28%18 == 0) {
13680      I3 = 13*28/18 ;
13681      J1 = -2*(28)+3*I3 ;
13682      if ((2*28+J1)%3 == 0) {
13683        J2 = (2*28+J1)/3 ;
13684        J3 = 3*28-4*J2 ;
13685        S1++;
13686        S2++;
13687      }
13688    }
13689    for (I3=ceild(13*14/3+1,3);I3<=min(N1,5*14/3);I3++) {
13690      J3 = 28-(I2)-(I3) ;
13691      S1++;
13692      J3 = -(28)-2*(I2)+2*I3 ;
13693      S2++;
13694    }
13695  }
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) ;
13699      S1++;
13700    }
13701    for (I3=ceild(28+2*I2,2);I3<=floord(2*28+I2-1,3);I3++) {
13702      J3 = -(28)-2*(I2)+2*I3 ;
13703      S2++;
13704      J3 = 28-(I2)-(I3) ;
13705      S1++;
13706    }
13707    if ((2*28+I2)%3 == 0) {
13708      I3 = (2*28+I2)/3 ;
13709      J1 = -2*(28)+3*I3 ;
13710      if ((2*28+J1)%3 == 0) {
13711        J2 = (2*28+J1)/3 ;
13712        J3 = 3*28-4*J2 ;
13713        S1++;
13714        S2++;
13715      }
13716    }
13717    for (I3=ceild(2*28+I2+1,3);I3<=N1;I3++) {
13718      J3 = 28-(I2)-(I3) ;
13719      S1++;
13720      J3 = -(28)-2*(I2)+2*I3 ;
13721      S2++;
13722    }
13723  }
13724  for (I3=2*7;I3<=floord(6*7-1,2);I3++) {
13725    J3 = 28-(I2)-(I3) ;
13726    S1++;
13727  }
13728  if (3*28%4 == 0) {
13729    I3 = 3*28/4 ;
13730    J1 = -2*(28)+3*I3 ;
13731    if ((2*28+J1)%3 == 0) {
13732      J2 = (2*28+J1)/3 ;
13733      J3 = 3*28-4*J2 ;
13734      S1++;
13735      S2++;
13736    }
13737  }
13738  for (I3=3*7+1;I3<=min(N1,floord(11*7,3));I3++) {
13739    J3 = -(28)-2*(I2)+2*I3 ;
13740    S2++;
13741  }
13742  for (I3=max(max(1,ceild(28-(8),2)),28-2*(8));I3<=28-(8);I3++) {
13743    J3 = 28-(I2)-(I3) ;
13744    S1++;
13745  }
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 ;
13748    S2++;
13749  }
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) ;
13753      S1++;
13754    }
13755  }
13756}
13757for (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 ;
13761      S2++;
13762    }
13763  }
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 ;
13767      S2++;
13768    }
13769    for (I3=I1-2*I2;I3<=N1;I3++) {
13770      J3 = I1-(I2)-(I3) ;
13771      S1++;
13772      J3 = -I1-2*(I2)+2*I3 ;
13773      S2++;
13774    }
13775  }
13776  if (I1%7 == 0) {
13777    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
13778      J3 = -I1-2*(I2)+2*I3 ;
13779      S2++;
13780    }
13781    if (5*I1%7 == 0) {
13782      I3 = 5*I1/7 ;
13783      J1 = -2*I1+3*I3 ;
13784      if ((2*I1+J1)%3 == 0) {
13785        J2 = (2*I1+J1)/3 ;
13786        J3 = 3*I1-4*J2 ;
13787        S1++;
13788        S2++;
13789      }
13790    }
13791    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
13792      J3 = I1-(I2)-(I3) ;
13793      S1++;
13794      J3 = -I1-2*(I2)+2*I3 ;
13795      S2++;
13796    }
13797  }
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 ;
13801      S2++;
13802    }
13803    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
13804      J3 = -I1-2*(I2)+2*I3 ;
13805      S2++;
13806      J3 = I1-(I2)-(I3) ;
13807      S1++;
13808    }
13809    if ((2*I1+I2)%3 == 0) {
13810      I3 = (2*I1+I2)/3 ;
13811      J1 = -2*I1+3*I3 ;
13812      if ((2*I1+J1)%3 == 0) {
13813        J2 = (2*I1+J1)/3 ;
13814        J3 = 3*I1-4*J2 ;
13815        S1++;
13816        S2++;
13817      }
13818    }
13819    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
13820      J3 = I1-(I2)-(I3) ;
13821      S1++;
13822      J3 = -I1-2*(I2)+2*I3 ;
13823      S2++;
13824    }
13825  }
13826  if ((I1-1)%6 == 0) {
13827    I2 = (I1-1)/6 ;
13828    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
13829      J3 = -I1-2*(I2)+2*I3 ;
13830      S2++;
13831      J3 = I1-(I2)-(I3) ;
13832      S1++;
13833    }
13834    if ((13*I1-1)%18 == 0) {
13835      I3 = (13*I1-1)/18 ;
13836      J1 = -2*I1+3*I3 ;
13837      if ((2*I1+J1)%3 == 0) {
13838        J2 = (2*I1+J1)/3 ;
13839        J3 = 3*I1-4*J2 ;
13840        S1++;
13841        S2++;
13842      }
13843    }
13844    for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
13845      J3 = I1-(I2)-(I3) ;
13846      S1++;
13847      J3 = -I1-2*(I2)+2*I3 ;
13848      S2++;
13849    }
13850  }
13851  if (I1%6 == 0) {
13852    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
13853      J3 = -I1-2*(I2)+2*I3 ;
13854      S2++;
13855      J3 = I1-(I2)-(I3) ;
13856      S1++;
13857    }
13858    if (13*I1%18 == 0) {
13859      I3 = 13*I1/18 ;
13860      J1 = -2*I1+3*I3 ;
13861      if ((2*I1+J1)%3 == 0) {
13862        J2 = (2*I1+J1)/3 ;
13863        J3 = 3*I1-4*J2 ;
13864        S1++;
13865        S2++;
13866      }
13867    }
13868    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
13869      J3 = I1-(I2)-(I3) ;
13870      S1++;
13871      J3 = -I1-2*(I2)+2*I3 ;
13872      S2++;
13873    }
13874  }
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) ;
13878      S1++;
13879    }
13880    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
13881      J3 = -I1-2*(I2)+2*I3 ;
13882      S2++;
13883      J3 = I1-(I2)-(I3) ;
13884      S1++;
13885    }
13886    if ((2*I1+I2)%3 == 0) {
13887      I3 = (2*I1+I2)/3 ;
13888      J1 = -2*I1+3*I3 ;
13889      if ((2*I1+J1)%3 == 0) {
13890        J2 = (2*I1+J1)/3 ;
13891        J3 = 3*I1-4*J2 ;
13892        S1++;
13893        S2++;
13894      }
13895    }
13896    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
13897      J3 = I1-(I2)-(I3) ;
13898      S1++;
13899      J3 = -I1-2*(I2)+2*I3 ;
13900      S2++;
13901    }
13902  }
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) ;
13906      S1++;
13907    }
13908    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
13909      J3 = -I1-2*(I2)+2*I3 ;
13910      S2++;
13911      J3 = I1-(I2)-(I3) ;
13912      S1++;
13913    }
13914    if ((2*I1+I2)%3 == 0) {
13915      I3 = (2*I1+I2)/3 ;
13916      J1 = -2*I1+3*I3 ;
13917      if ((2*I1+J1)%3 == 0) {
13918        J2 = (2*I1+J1)/3 ;
13919        J3 = 3*I1-4*J2 ;
13920        S1++;
13921        S2++;
13922      }
13923    }
13924    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
13925      J3 = I1-(I2)-(I3) ;
13926      S1++;
13927      J3 = -I1-2*(I2)+2*I3 ;
13928      S2++;
13929    }
13930    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
13931      J3 = -I1-2*(I2)+2*I3 ;
13932      S2++;
13933    }
13934  }
13935  if ((I1-1)%4 == 0) {
13936    I2 = (I1-1)/4 ;
13937    for (I3=2*I2+1;I3<=3*I2;I3++) {
13938      J3 = I1-(I2)-(I3) ;
13939      S1++;
13940    }
13941    if ((9*I1-1)%12 == 0) {
13942      I3 = (9*I1-1)/12 ;
13943      J1 = -2*I1+3*I3 ;
13944      if ((2*I1+J1)%3 == 0) {
13945        J2 = (2*I1+J1)/3 ;
13946        J3 = 3*I1-4*J2 ;
13947        S1++;
13948        S2++;
13949      }
13950    }
13951    if ((3*I1+1)%4 == 0) {
13952      I3 = (3*I1+1)/4 ;
13953      J3 = I1-(I2)-(I3) ;
13954      S1++;
13955      J3 = -I1-2*(I2)+2*I3 ;
13956      S2++;
13957    }
13958    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
13959      J3 = -I1-2*(I2)+2*I3 ;
13960      S2++;
13961    }
13962  }
13963  if (I1%4 == 0) {
13964    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
13965      J3 = I1-(I2)-(I3) ;
13966      S1++;
13967    }
13968    if (3*I1%4 == 0) {
13969      I3 = 3*I1/4 ;
13970      J1 = -2*I1+3*I3 ;
13971      if ((2*I1+J1)%3 == 0) {
13972        J2 = (2*I1+J1)/3 ;
13973        J3 = 3*I1-4*J2 ;
13974        S1++;
13975        S2++;
13976      }
13977    }
13978    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
13979      J3 = -I1-2*(I2)+2*I3 ;
13980      S2++;
13981    }
13982  }
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) ;
13986      S1++;
13987    }
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 ;
13990      S2++;
13991    }
13992  }
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) ;
13996      S1++;
13997    }
13998  }
13999}
14000if (N1 >= 32) {
14001  if ((4*N1-5)%3 == 0) {
14002    I1 = (4*N1-5)/3 ;
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 ;
14006        S2++;
14007      }
14008    }
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 ;
14012        S2++;
14013      }
14014      for (I3=I1-2*I2;I3<=N1;I3++) {
14015        J3 = I1-(I2)-(I3) ;
14016        S1++;
14017        J3 = -I1-2*(I2)+2*I3 ;
14018        S2++;
14019      }
14020    }
14021    if ((4*N1-5)%21 == 0) {
14022      I2 = (4*N1-5)/21 ;
14023      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
14024        J3 = -I1-2*(I2)+2*I3 ;
14025        S2++;
14026      }
14027      if (5*I1%7 == 0) {
14028        I3 = 5*I1/7 ;
14029        J1 = -2*I1+3*I3 ;
14030        if ((2*I1+J1)%3 == 0) {
14031          J2 = (2*I1+J1)/3 ;
14032          J3 = 3*I1-4*J2 ;
14033          S1++;
14034          S2++;
14035        }
14036      }
14037      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
14038        J3 = I1-(I2)-(I3) ;
14039        S1++;
14040        J3 = -I1-2*(I2)+2*I3 ;
14041        S2++;
14042      }
14043    }
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 ;
14047        S2++;
14048      }
14049      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
14050        J3 = -I1-2*(I2)+2*I3 ;
14051        S2++;
14052        J3 = I1-(I2)-(I3) ;
14053        S1++;
14054      }
14055      if ((2*I1+I2)%3 == 0) {
14056        I3 = (2*I1+I2)/3 ;
14057        J1 = -2*I1+3*I3 ;
14058        if ((2*I1+J1)%3 == 0) {
14059          J2 = (2*I1+J1)/3 ;
14060          J3 = 3*I1-4*J2 ;
14061          S1++;
14062          S2++;
14063        }
14064      }
14065      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
14066        J3 = I1-(I2)-(I3) ;
14067        S1++;
14068        J3 = -I1-2*(I2)+2*I3 ;
14069        S2++;
14070      }
14071    }
14072    if ((2*N1-4)%9 == 0) {
14073      I2 = (2*N1-4)/9 ;
14074      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
14075        J3 = -I1-2*(I2)+2*I3 ;
14076        S2++;
14077        J3 = I1-(I2)-(I3) ;
14078        S1++;
14079      }
14080      if ((13*I1-1)%18 == 0) {
14081        I3 = (13*I1-1)/18 ;
14082        J1 = -2*I1+3*I3 ;
14083        if ((2*I1+J1)%3 == 0) {
14084          J2 = (2*I1+J1)/3 ;
14085          J3 = 3*I1-4*J2 ;
14086          S1++;
14087          S2++;
14088        }
14089      }
14090      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
14091        J3 = I1-(I2)-(I3) ;
14092        S1++;
14093        J3 = -I1-2*(I2)+2*I3 ;
14094        S2++;
14095      }
14096    }
14097    if ((4*N1-5)%18 == 0) {
14098      I2 = (4*N1-5)/18 ;
14099      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
14100        J3 = -I1-2*(I2)+2*I3 ;
14101        S2++;
14102        J3 = I1-(I2)-(I3) ;
14103        S1++;
14104      }
14105      if (13*I1%18 == 0) {
14106        I3 = 13*I1/18 ;
14107        J1 = -2*I1+3*I3 ;
14108        if ((2*I1+J1)%3 == 0) {
14109          J2 = (2*I1+J1)/3 ;
14110          J3 = 3*I1-4*J2 ;
14111          S1++;
14112          S2++;
14113        }
14114      }
14115      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
14116        J3 = I1-(I2)-(I3) ;
14117        S1++;
14118        J3 = -I1-2*(I2)+2*I3 ;
14119        S2++;
14120      }
14121    }
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) ;
14125        S1++;
14126      }
14127      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
14128        J3 = -I1-2*(I2)+2*I3 ;
14129        S2++;
14130        J3 = I1-(I2)-(I3) ;
14131        S1++;
14132      }
14133      if ((2*I1+I2)%3 == 0) {
14134        I3 = (2*I1+I2)/3 ;
14135        J1 = -2*I1+3*I3 ;
14136        if ((2*I1+J1)%3 == 0) {
14137          J2 = (2*I1+J1)/3 ;
14138          J3 = 3*I1-4*J2 ;
14139          S1++;
14140          S2++;
14141        }
14142      }
14143      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
14144        J3 = I1-(I2)-(I3) ;
14145        S1++;
14146        J3 = -I1-2*(I2)+2*I3 ;
14147        S2++;
14148      }
14149    }
14150    if ((N1-2)%3 == 0) {
14151      I2 = (N1-2)/3 ;
14152      for (I3=2*I2+1;I3<=3*I2;I3++) {
14153        J3 = I1-(I2)-(I3) ;
14154        S1++;
14155      }
14156      if ((9*I1-1)%12 == 0) {
14157        I3 = (9*I1-1)/12 ;
14158        J1 = -2*I1+3*I3 ;
14159        if ((2*I1+J1)%3 == 0) {
14160          J2 = (2*I1+J1)/3 ;
14161          J3 = 3*I1-4*J2 ;
14162          S1++;
14163          S2++;
14164        }
14165      }
14166      if ((3*I1+1)%4 == 0) {
14167        I3 = (3*I1+1)/4 ;
14168        J3 = I1-(I2)-(I3) ;
14169        S1++;
14170        J3 = -I1-2*(I2)+2*I3 ;
14171        S2++;
14172      }
14173      for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
14174        J3 = -I1-2*(I2)+2*I3 ;
14175        S2++;
14176      }
14177    }
14178    if ((4*N1-5)%12 == 0) {
14179      I2 = (4*N1-5)/12 ;
14180      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
14181        J3 = I1-(I2)-(I3) ;
14182        S1++;
14183      }
14184      if (3*I1%4 == 0) {
14185        I3 = 3*I1/4 ;
14186        J1 = -2*I1+3*I3 ;
14187        if ((2*I1+J1)%3 == 0) {
14188          J2 = (2*I1+J1)/3 ;
14189          J3 = 3*I1-4*J2 ;
14190          S1++;
14191          S2++;
14192        }
14193      }
14194      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
14195        J3 = -I1-2*(I2)+2*I3 ;
14196        S2++;
14197      }
14198    }
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) ;
14202        S1++;
14203      }
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 ;
14206        S2++;
14207      }
14208    }
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) ;
14212        S1++;
14213      }
14214    }
14215  }
14216}
14217if (N1 >= 25) {
14218  if ((4*N1-4)%3 == 0) {
14219    I1 = (4*N1-4)/3 ;
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 ;
14223        S2++;
14224      }
14225    }
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 ;
14229        S2++;
14230      }
14231      for (I3=I1-2*I2;I3<=N1;I3++) {
14232        J3 = I1-(I2)-(I3) ;
14233        S1++;
14234        J3 = -I1-2*(I2)+2*I3 ;
14235        S2++;
14236      }
14237    }
14238    if ((4*N1-4)%21 == 0) {
14239      I2 = (4*N1-4)/21 ;
14240      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
14241        J3 = -I1-2*(I2)+2*I3 ;
14242        S2++;
14243      }
14244      if (5*I1%7 == 0) {
14245        I3 = 5*I1/7 ;
14246        J1 = -2*I1+3*I3 ;
14247        if ((2*I1+J1)%3 == 0) {
14248          J2 = (2*I1+J1)/3 ;
14249          J3 = 3*I1-4*J2 ;
14250          S1++;
14251          S2++;
14252        }
14253      }
14254      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
14255        J3 = I1-(I2)-(I3) ;
14256        S1++;
14257        J3 = -I1-2*(I2)+2*I3 ;
14258        S2++;
14259      }
14260    }
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 ;
14264        S2++;
14265      }
14266      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
14267        J3 = -I1-2*(I2)+2*I3 ;
14268        S2++;
14269        J3 = I1-(I2)-(I3) ;
14270        S1++;
14271      }
14272      if ((2*I1+I2)%3 == 0) {
14273        I3 = (2*I1+I2)/3 ;
14274        J1 = -2*I1+3*I3 ;
14275        if ((2*I1+J1)%3 == 0) {
14276          J2 = (2*I1+J1)/3 ;
14277          J3 = 3*I1-4*J2 ;
14278          S1++;
14279          S2++;
14280        }
14281      }
14282      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
14283        J3 = I1-(I2)-(I3) ;
14284        S1++;
14285        J3 = -I1-2*(I2)+2*I3 ;
14286        S2++;
14287      }
14288    }
14289    if ((4*N1-7)%18 == 0) {
14290      I2 = (4*N1-7)/18 ;
14291      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
14292        J3 = -I1-2*(I2)+2*I3 ;
14293        S2++;
14294        J3 = I1-(I2)-(I3) ;
14295        S1++;
14296      }
14297      if ((13*I1-1)%18 == 0) {
14298        I3 = (13*I1-1)/18 ;
14299        J1 = -2*I1+3*I3 ;
14300        if ((2*I1+J1)%3 == 0) {
14301          J2 = (2*I1+J1)/3 ;
14302          J3 = 3*I1-4*J2 ;
14303          S1++;
14304          S2++;
14305        }
14306      }
14307      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
14308        J3 = I1-(I2)-(I3) ;
14309        S1++;
14310        J3 = -I1-2*(I2)+2*I3 ;
14311        S2++;
14312      }
14313    }
14314    if ((2*N1-2)%9 == 0) {
14315      I2 = (2*N1-2)/9 ;
14316      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
14317        J3 = -I1-2*(I2)+2*I3 ;
14318        S2++;
14319        J3 = I1-(I2)-(I3) ;
14320        S1++;
14321      }
14322      if (13*I1%18 == 0) {
14323        I3 = 13*I1/18 ;
14324        J1 = -2*I1+3*I3 ;
14325        if ((2*I1+J1)%3 == 0) {
14326          J2 = (2*I1+J1)/3 ;
14327          J3 = 3*I1-4*J2 ;
14328          S1++;
14329          S2++;
14330        }
14331      }
14332      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
14333        J3 = I1-(I2)-(I3) ;
14334        S1++;
14335        J3 = -I1-2*(I2)+2*I3 ;
14336        S2++;
14337      }
14338    }
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) ;
14342        S1++;
14343      }
14344      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
14345        J3 = -I1-2*(I2)+2*I3 ;
14346        S2++;
14347        J3 = I1-(I2)-(I3) ;
14348        S1++;
14349      }
14350      if ((2*I1+I2)%3 == 0) {
14351        I3 = (2*I1+I2)/3 ;
14352        J1 = -2*I1+3*I3 ;
14353        if ((2*I1+J1)%3 == 0) {
14354          J2 = (2*I1+J1)/3 ;
14355          J3 = 3*I1-4*J2 ;
14356          S1++;
14357          S2++;
14358        }
14359      }
14360      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
14361        J3 = I1-(I2)-(I3) ;
14362        S1++;
14363        J3 = -I1-2*(I2)+2*I3 ;
14364        S2++;
14365      }
14366    }
14367    if ((N1-1)%3 == 0) {
14368      I2 = (N1-1)/3 ;
14369      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
14370        J3 = I1-(I2)-(I3) ;
14371        S1++;
14372      }
14373      if (3*I1%4 == 0) {
14374        I3 = 3*I1/4 ;
14375        J1 = -2*I1+3*I3 ;
14376        if ((2*I1+J1)%3 == 0) {
14377          J2 = (2*I1+J1)/3 ;
14378          J3 = 3*I1-4*J2 ;
14379          S1++;
14380          S2++;
14381        }
14382      }
14383      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
14384        J3 = -I1-2*(I2)+2*I3 ;
14385        S2++;
14386      }
14387    }
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) ;
14391        S1++;
14392      }
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 ;
14395        S2++;
14396      }
14397    }
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) ;
14401        S1++;
14402      }
14403    }
14404  }
14405}
14406for (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 ;
14410      S2++;
14411    }
14412  }
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 ;
14416      S2++;
14417    }
14418    for (I3=I1-2*I2;I3<=N1;I3++) {
14419      J3 = I1-(I2)-(I3) ;
14420      S1++;
14421      J3 = -I1-2*(I2)+2*I3 ;
14422      S2++;
14423    }
14424  }
14425  if (I1%7 == 0) {
14426    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
14427      J3 = -I1-2*(I2)+2*I3 ;
14428      S2++;
14429    }
14430    if (5*I1%7 == 0) {
14431      I3 = 5*I1/7 ;
14432      J1 = -2*I1+3*I3 ;
14433      if ((2*I1+J1)%3 == 0) {
14434        J2 = (2*I1+J1)/3 ;
14435        J3 = 3*I1-4*J2 ;
14436        S1++;
14437        S2++;
14438      }
14439    }
14440    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
14441      J3 = I1-(I2)-(I3) ;
14442      S1++;
14443      J3 = -I1-2*(I2)+2*I3 ;
14444      S2++;
14445    }
14446  }
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 ;
14450      S2++;
14451    }
14452    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
14453      J3 = -I1-2*(I2)+2*I3 ;
14454      S2++;
14455      J3 = I1-(I2)-(I3) ;
14456      S1++;
14457    }
14458    if ((2*I1+I2)%3 == 0) {
14459      I3 = (2*I1+I2)/3 ;
14460      J1 = -2*I1+3*I3 ;
14461      if ((2*I1+J1)%3 == 0) {
14462        J2 = (2*I1+J1)/3 ;
14463        J3 = 3*I1-4*J2 ;
14464        S1++;
14465        S2++;
14466      }
14467    }
14468    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
14469      J3 = I1-(I2)-(I3) ;
14470      S1++;
14471      J3 = -I1-2*(I2)+2*I3 ;
14472      S2++;
14473    }
14474  }
14475  if ((I1-1)%6 == 0) {
14476    I2 = (I1-1)/6 ;
14477    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
14478      J3 = -I1-2*(I2)+2*I3 ;
14479      S2++;
14480      J3 = I1-(I2)-(I3) ;
14481      S1++;
14482    }
14483    if ((13*I1-1)%18 == 0) {
14484      I3 = (13*I1-1)/18 ;
14485      J1 = -2*I1+3*I3 ;
14486      if ((2*I1+J1)%3 == 0) {
14487        J2 = (2*I1+J1)/3 ;
14488        J3 = 3*I1-4*J2 ;
14489        S1++;
14490        S2++;
14491      }
14492    }
14493    for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
14494      J3 = I1-(I2)-(I3) ;
14495      S1++;
14496      J3 = -I1-2*(I2)+2*I3 ;
14497      S2++;
14498    }
14499  }
14500  if (I1%6 == 0) {
14501    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
14502      J3 = -I1-2*(I2)+2*I3 ;
14503      S2++;
14504      J3 = I1-(I2)-(I3) ;
14505      S1++;
14506    }
14507    if (13*I1%18 == 0) {
14508      I3 = 13*I1/18 ;
14509      J1 = -2*I1+3*I3 ;
14510      if ((2*I1+J1)%3 == 0) {
14511        J2 = (2*I1+J1)/3 ;
14512        J3 = 3*I1-4*J2 ;
14513        S1++;
14514        S2++;
14515      }
14516    }
14517    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
14518      J3 = I1-(I2)-(I3) ;
14519      S1++;
14520      J3 = -I1-2*(I2)+2*I3 ;
14521      S2++;
14522    }
14523  }
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) ;
14527      S1++;
14528    }
14529    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
14530      J3 = -I1-2*(I2)+2*I3 ;
14531      S2++;
14532      J3 = I1-(I2)-(I3) ;
14533      S1++;
14534    }
14535    if ((2*I1+I2)%3 == 0) {
14536      I3 = (2*I1+I2)/3 ;
14537      J1 = -2*I1+3*I3 ;
14538      if ((2*I1+J1)%3 == 0) {
14539        J2 = (2*I1+J1)/3 ;
14540        J3 = 3*I1-4*J2 ;
14541        S1++;
14542        S2++;
14543      }
14544    }
14545    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
14546      J3 = I1-(I2)-(I3) ;
14547      S1++;
14548      J3 = -I1-2*(I2)+2*I3 ;
14549      S2++;
14550    }
14551  }
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) ;
14555      S1++;
14556    }
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 ;
14559      S2++;
14560    }
14561  }
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) ;
14565      S1++;
14566    }
14567  }
14568}
14569if (N1 >= 16) {
14570  if ((4*N1-1)%3 == 0) {
14571    I1 = (4*N1-1)/3 ;
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 ;
14575        S2++;
14576      }
14577    }
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 ;
14581        S2++;
14582      }
14583      for (I3=I1-2*I2;I3<=N1;I3++) {
14584        J3 = I1-(I2)-(I3) ;
14585        S1++;
14586        J3 = -I1-2*(I2)+2*I3 ;
14587        S2++;
14588      }
14589    }
14590    if ((4*N1-1)%21 == 0) {
14591      I2 = (4*N1-1)/21 ;
14592      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
14593        J3 = -I1-2*(I2)+2*I3 ;
14594        S2++;
14595      }
14596      if (5*I1%7 == 0) {
14597        I3 = 5*I1/7 ;
14598        J1 = -2*I1+3*I3 ;
14599        if ((2*I1+J1)%3 == 0) {
14600          J2 = (2*I1+J1)/3 ;
14601          J3 = 3*I1-4*J2 ;
14602          S1++;
14603          S2++;
14604        }
14605      }
14606      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
14607        J3 = I1-(I2)-(I3) ;
14608        S1++;
14609        J3 = -I1-2*(I2)+2*I3 ;
14610        S2++;
14611      }
14612    }
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 ;
14616        S2++;
14617      }
14618      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
14619        J3 = -I1-2*(I2)+2*I3 ;
14620        S2++;
14621        J3 = I1-(I2)-(I3) ;
14622        S1++;
14623      }
14624      if ((2*I1+I2)%3 == 0) {
14625        I3 = (2*I1+I2)/3 ;
14626        J1 = -2*I1+3*I3 ;
14627        if ((2*I1+J1)%3 == 0) {
14628          J2 = (2*I1+J1)/3 ;
14629          J3 = 3*I1-4*J2 ;
14630          S1++;
14631          S2++;
14632        }
14633      }
14634      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
14635        J3 = I1-(I2)-(I3) ;
14636        S1++;
14637        J3 = -I1-2*(I2)+2*I3 ;
14638        S2++;
14639      }
14640    }
14641    if ((2*N1-2)%9 == 0) {
14642      I2 = (2*N1-2)/9 ;
14643      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
14644        J3 = -I1-2*(I2)+2*I3 ;
14645        S2++;
14646        J3 = I1-(I2)-(I3) ;
14647        S1++;
14648      }
14649      if ((13*I1-1)%18 == 0) {
14650        I3 = (13*I1-1)/18 ;
14651        J1 = -2*I1+3*I3 ;
14652        if ((2*I1+J1)%3 == 0) {
14653          J2 = (2*I1+J1)/3 ;
14654          J3 = 3*I1-4*J2 ;
14655          S1++;
14656          S2++;
14657        }
14658      }
14659      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
14660        J3 = I1-(I2)-(I3) ;
14661        S1++;
14662        J3 = -I1-2*(I2)+2*I3 ;
14663        S2++;
14664      }
14665    }
14666    if ((4*N1-1)%18 == 0) {
14667      I2 = (4*N1-1)/18 ;
14668      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
14669        J3 = -I1-2*(I2)+2*I3 ;
14670        S2++;
14671        J3 = I1-(I2)-(I3) ;
14672        S1++;
14673      }
14674      if (13*I1%18 == 0) {
14675        I3 = 13*I1/18 ;
14676        J1 = -2*I1+3*I3 ;
14677        if ((2*I1+J1)%3 == 0) {
14678          J2 = (2*I1+J1)/3 ;
14679          J3 = 3*I1-4*J2 ;
14680          S1++;
14681          S2++;
14682        }
14683      }
14684      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
14685        J3 = I1-(I2)-(I3) ;
14686        S1++;
14687        J3 = -I1-2*(I2)+2*I3 ;
14688        S2++;
14689      }
14690    }
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) ;
14694        S1++;
14695      }
14696      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
14697        J3 = -I1-2*(I2)+2*I3 ;
14698        S2++;
14699        J3 = I1-(I2)-(I3) ;
14700        S1++;
14701      }
14702      if ((2*I1+I2)%3 == 0) {
14703        I3 = (2*I1+I2)/3 ;
14704        J1 = -2*I1+3*I3 ;
14705        if ((2*I1+J1)%3 == 0) {
14706          J2 = (2*I1+J1)/3 ;
14707          J3 = 3*I1-4*J2 ;
14708          S1++;
14709          S2++;
14710        }
14711      }
14712      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
14713        J3 = I1-(I2)-(I3) ;
14714        S1++;
14715        J3 = -I1-2*(I2)+2*I3 ;
14716        S2++;
14717      }
14718    }
14719    if ((N1-1)%3 == 0) {
14720      I2 = (N1-1)/3 ;
14721      for (I3=ceild(2*N1+1,3);I3<=N1-1;I3++) {
14722        J3 = I1-(I2)-(I3) ;
14723        S1++;
14724      }
14725      if (-1%3 == 0) {
14726        I3 = (3*N1-1)/3 ;
14727        J1 = -2*I1+3*I3 ;
14728        if ((2*I1+J1)%3 == 0) {
14729          J2 = (2*I1+J1)/3 ;
14730          J3 = 3*I1-4*J2 ;
14731          S1++;
14732          S2++;
14733        }
14734      }
14735      J3 = I1-(I2)-(I3) ;
14736      S1++;
14737      J3 = -I1-2*(I2)+2*I3 ;
14738      S2++;
14739    }
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) ;
14743        S1++;
14744      }
14745    }
14746  }
14747}
14748if (N1 >= 15) {
14749  if (4*N1%3 == 0) {
14750    I1 = 4*N1/3 ;
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 ;
14754        S2++;
14755      }
14756    }
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 ;
14760        S2++;
14761      }
14762      for (I3=I1-2*I2;I3<=N1;I3++) {
14763        J3 = I1-(I2)-(I3) ;
14764        S1++;
14765        J3 = -I1-2*(I2)+2*I3 ;
14766        S2++;
14767      }
14768    }
14769    if (4*N1%21 == 0) {
14770      I2 = 4*N1/21 ;
14771      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
14772        J3 = -I1-2*(I2)+2*I3 ;
14773        S2++;
14774      }
14775      if (5*I1%7 == 0) {
14776        I3 = 5*I1/7 ;
14777        J1 = -2*I1+3*I3 ;
14778        if ((2*I1+J1)%3 == 0) {
14779          J2 = (2*I1+J1)/3 ;
14780          J3 = 3*I1-4*J2 ;
14781          S1++;
14782          S2++;
14783        }
14784      }
14785      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
14786        J3 = I1-(I2)-(I3) ;
14787        S1++;
14788        J3 = -I1-2*(I2)+2*I3 ;
14789        S2++;
14790      }
14791    }
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 ;
14795        S2++;
14796      }
14797      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
14798        J3 = -I1-2*(I2)+2*I3 ;
14799        S2++;
14800        J3 = I1-(I2)-(I3) ;
14801        S1++;
14802      }
14803      if ((2*I1+I2)%3 == 0) {
14804        I3 = (2*I1+I2)/3 ;
14805        J1 = -2*I1+3*I3 ;
14806        if ((2*I1+J1)%3 == 0) {
14807          J2 = (2*I1+J1)/3 ;
14808          J3 = 3*I1-4*J2 ;
14809          S1++;
14810          S2++;
14811        }
14812      }
14813      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
14814        J3 = I1-(I2)-(I3) ;
14815        S1++;
14816        J3 = -I1-2*(I2)+2*I3 ;
14817        S2++;
14818      }
14819    }
14820    if ((4*N1-3)%18 == 0) {
14821      I2 = (4*N1-3)/18 ;
14822      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
14823        J3 = -I1-2*(I2)+2*I3 ;
14824        S2++;
14825        J3 = I1-(I2)-(I3) ;
14826        S1++;
14827      }
14828      if ((13*I1-1)%18 == 0) {
14829        I3 = (13*I1-1)/18 ;
14830        J1 = -2*I1+3*I3 ;
14831        if ((2*I1+J1)%3 == 0) {
14832          J2 = (2*I1+J1)/3 ;
14833          J3 = 3*I1-4*J2 ;
14834          S1++;
14835          S2++;
14836        }
14837      }
14838      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
14839        J3 = I1-(I2)-(I3) ;
14840        S1++;
14841        J3 = -I1-2*(I2)+2*I3 ;
14842        S2++;
14843      }
14844    }
14845    if (2*N1%9 == 0) {
14846      I2 = 2*N1/9 ;
14847      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
14848        J3 = -I1-2*(I2)+2*I3 ;
14849        S2++;
14850        J3 = I1-(I2)-(I3) ;
14851        S1++;
14852      }
14853      if (13*I1%18 == 0) {
14854        I3 = 13*I1/18 ;
14855        J1 = -2*I1+3*I3 ;
14856        if ((2*I1+J1)%3 == 0) {
14857          J2 = (2*I1+J1)/3 ;
14858          J3 = 3*I1-4*J2 ;
14859          S1++;
14860          S2++;
14861        }
14862      }
14863      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
14864        J3 = I1-(I2)-(I3) ;
14865        S1++;
14866        J3 = -I1-2*(I2)+2*I3 ;
14867        S2++;
14868      }
14869    }
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) ;
14873        S1++;
14874      }
14875      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
14876        J3 = -I1-2*(I2)+2*I3 ;
14877        S2++;
14878        J3 = I1-(I2)-(I3) ;
14879        S1++;
14880      }
14881      if ((2*I1+I2)%3 == 0) {
14882        I3 = (2*I1+I2)/3 ;
14883        J1 = -2*I1+3*I3 ;
14884        if ((2*I1+J1)%3 == 0) {
14885          J2 = (2*I1+J1)/3 ;
14886          J3 = 3*I1-4*J2 ;
14887          S1++;
14888          S2++;
14889        }
14890      }
14891      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
14892        J3 = I1-(I2)-(I3) ;
14893        S1++;
14894        J3 = -I1-2*(I2)+2*I3 ;
14895        S2++;
14896      }
14897    }
14898    if (N1%3 == 0) {
14899      for (I3=ceild(2*N1,3);I3<=floord(2*N1-1,2);I3++) {
14900        J3 = I1-(I2)-(I3) ;
14901        S1++;
14902      }
14903      J1 = -2*I1+3*N1 ;
14904      if ((2*I1+J1)%3 == 0) {
14905        J2 = (2*I1+J1)/3 ;
14906        J3 = 3*I1-4*J2 ;
14907        S1++;
14908        S2++;
14909      }
14910    }
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) ;
14914        S1++;
14915      }
14916    }
14917  }
14918}
14919if (N1 >= 17) {
14920  if ((4*N1+1)%3 == 0) {
14921    I1 = (4*N1+1)/3 ;
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 ;
14925        S2++;
14926      }
14927    }
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 ;
14931        S2++;
14932      }
14933      for (I3=I1-2*I2;I3<=N1;I3++) {
14934        J3 = I1-(I2)-(I3) ;
14935        S1++;
14936        J3 = -I1-2*(I2)+2*I3 ;
14937        S2++;
14938      }
14939    }
14940    if ((4*N1+1)%21 == 0) {
14941      I2 = (4*N1+1)/21 ;
14942      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
14943        J3 = -I1-2*(I2)+2*I3 ;
14944        S2++;
14945      }
14946      if (5*I1%7 == 0) {
14947        I3 = 5*I1/7 ;
14948        J1 = -2*I1+3*I3 ;
14949        if ((2*I1+J1)%3 == 0) {
14950          J2 = (2*I1+J1)/3 ;
14951          J3 = 3*I1-4*J2 ;
14952          S1++;
14953          S2++;
14954        }
14955      }
14956      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
14957        J3 = I1-(I2)-(I3) ;
14958        S1++;
14959        J3 = -I1-2*(I2)+2*I3 ;
14960        S2++;
14961      }
14962    }
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 ;
14966        S2++;
14967      }
14968      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
14969        J3 = -I1-2*(I2)+2*I3 ;
14970        S2++;
14971        J3 = I1-(I2)-(I3) ;
14972        S1++;
14973      }
14974      if ((2*I1+I2)%3 == 0) {
14975        I3 = (2*I1+I2)/3 ;
14976        J1 = -2*I1+3*I3 ;
14977        if ((2*I1+J1)%3 == 0) {
14978          J2 = (2*I1+J1)/3 ;
14979          J3 = 3*I1-4*J2 ;
14980          S1++;
14981          S2++;
14982        }
14983      }
14984      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
14985        J3 = I1-(I2)-(I3) ;
14986        S1++;
14987        J3 = -I1-2*(I2)+2*I3 ;
14988        S2++;
14989      }
14990    }
14991    if ((2*N1-1)%9 == 0) {
14992      I2 = (2*N1-1)/9 ;
14993      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
14994        J3 = -I1-2*(I2)+2*I3 ;
14995        S2++;
14996        J3 = I1-(I2)-(I3) ;
14997        S1++;
14998      }
14999      if ((13*I1-1)%18 == 0) {
15000        I3 = (13*I1-1)/18 ;
15001        J1 = -2*I1+3*I3 ;
15002        if ((2*I1+J1)%3 == 0) {
15003          J2 = (2*I1+J1)/3 ;
15004          J3 = 3*I1-4*J2 ;
15005          S1++;
15006          S2++;
15007        }
15008      }
15009      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
15010        J3 = I1-(I2)-(I3) ;
15011        S1++;
15012        J3 = -I1-2*(I2)+2*I3 ;
15013        S2++;
15014      }
15015    }
15016    if ((4*N1+1)%18 == 0) {
15017      I2 = (4*N1+1)/18 ;
15018      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
15019        J3 = -I1-2*(I2)+2*I3 ;
15020        S2++;
15021        J3 = I1-(I2)-(I3) ;
15022        S1++;
15023      }
15024      if (13*I1%18 == 0) {
15025        I3 = 13*I1/18 ;
15026        J1 = -2*I1+3*I3 ;
15027        if ((2*I1+J1)%3 == 0) {
15028          J2 = (2*I1+J1)/3 ;
15029          J3 = 3*I1-4*J2 ;
15030          S1++;
15031          S2++;
15032        }
15033      }
15034      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
15035        J3 = I1-(I2)-(I3) ;
15036        S1++;
15037        J3 = -I1-2*(I2)+2*I3 ;
15038        S2++;
15039      }
15040    }
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) ;
15044        S1++;
15045      }
15046      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
15047        J3 = -I1-2*(I2)+2*I3 ;
15048        S2++;
15049        J3 = I1-(I2)-(I3) ;
15050        S1++;
15051      }
15052      if ((2*I1+I2)%3 == 0) {
15053        I3 = (2*I1+I2)/3 ;
15054        J1 = -2*I1+3*I3 ;
15055        if ((2*I1+J1)%3 == 0) {
15056          J2 = (2*I1+J1)/3 ;
15057          J3 = 3*I1-4*J2 ;
15058          S1++;
15059          S2++;
15060        }
15061      }
15062      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
15063        J3 = I1-(I2)-(I3) ;
15064        S1++;
15065        J3 = -I1-2*(I2)+2*I3 ;
15066        S2++;
15067      }
15068    }
15069    if ((N1-2)%3 == 0) {
15070      I2 = (N1-2)/3 ;
15071      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) {
15072        J3 = I1-(I2)-(I3) ;
15073        S1++;
15074      }
15075      for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
15076        J3 = -I1-2*(I2)+2*I3 ;
15077        S2++;
15078        J3 = I1-(I2)-(I3) ;
15079        S1++;
15080      }
15081      J1 = -2*I1+3*N1 ;
15082      if ((2*I1+J1)%3 == 0) {
15083        J2 = (2*I1+J1)/3 ;
15084        J3 = 3*I1-4*J2 ;
15085        S1++;
15086        S2++;
15087      }
15088    }
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) ;
15092        S1++;
15093      }
15094    }
15095  }
15096}
15097for (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 ;
15101      S2++;
15102    }
15103  }
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 ;
15107      S2++;
15108    }
15109    for (I3=I1-2*I2;I3<=N1;I3++) {
15110      J3 = I1-(I2)-(I3) ;
15111      S1++;
15112      J3 = -I1-2*(I2)+2*I3 ;
15113      S2++;
15114    }
15115  }
15116  if (I1%7 == 0) {
15117    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
15118      J3 = -I1-2*(I2)+2*I3 ;
15119      S2++;
15120    }
15121    if (5*I1%7 == 0) {
15122      I3 = 5*I1/7 ;
15123      J1 = -2*I1+3*I3 ;
15124      if ((2*I1+J1)%3 == 0) {
15125        J2 = (2*I1+J1)/3 ;
15126        J3 = 3*I1-4*J2 ;
15127        S1++;
15128        S2++;
15129      }
15130    }
15131    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
15132      J3 = I1-(I2)-(I3) ;
15133      S1++;
15134      J3 = -I1-2*(I2)+2*I3 ;
15135      S2++;
15136    }
15137  }
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 ;
15141      S2++;
15142    }
15143    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
15144      J3 = -I1-2*(I2)+2*I3 ;
15145      S2++;
15146      J3 = I1-(I2)-(I3) ;
15147      S1++;
15148    }
15149    if ((2*I1+I2)%3 == 0) {
15150      I3 = (2*I1+I2)/3 ;
15151      J1 = -2*I1+3*I3 ;
15152      if ((2*I1+J1)%3 == 0) {
15153        J2 = (2*I1+J1)/3 ;
15154        J3 = 3*I1-4*J2 ;
15155        S1++;
15156        S2++;
15157      }
15158    }
15159    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
15160      J3 = I1-(I2)-(I3) ;
15161      S1++;
15162      J3 = -I1-2*(I2)+2*I3 ;
15163      S2++;
15164    }
15165  }
15166  if ((I1-1)%6 == 0) {
15167    I2 = (I1-1)/6 ;
15168    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
15169      J3 = -I1-2*(I2)+2*I3 ;
15170      S2++;
15171      J3 = I1-(I2)-(I3) ;
15172      S1++;
15173    }
15174    if ((13*I1-1)%18 == 0) {
15175      I3 = (13*I1-1)/18 ;
15176      J1 = -2*I1+3*I3 ;
15177      if ((2*I1+J1)%3 == 0) {
15178        J2 = (2*I1+J1)/3 ;
15179        J3 = 3*I1-4*J2 ;
15180        S1++;
15181        S2++;
15182      }
15183    }
15184    for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
15185      J3 = I1-(I2)-(I3) ;
15186      S1++;
15187      J3 = -I1-2*(I2)+2*I3 ;
15188      S2++;
15189    }
15190  }
15191  if (I1%6 == 0) {
15192    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
15193      J3 = -I1-2*(I2)+2*I3 ;
15194      S2++;
15195      J3 = I1-(I2)-(I3) ;
15196      S1++;
15197    }
15198    if (13*I1%18 == 0) {
15199      I3 = 13*I1/18 ;
15200      J1 = -2*I1+3*I3 ;
15201      if ((2*I1+J1)%3 == 0) {
15202        J2 = (2*I1+J1)/3 ;
15203        J3 = 3*I1-4*J2 ;
15204        S1++;
15205        S2++;
15206      }
15207    }
15208    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
15209      J3 = I1-(I2)-(I3) ;
15210      S1++;
15211      J3 = -I1-2*(I2)+2*I3 ;
15212      S2++;
15213    }
15214  }
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) ;
15218      S1++;
15219    }
15220    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
15221      J3 = -I1-2*(I2)+2*I3 ;
15222      S2++;
15223      J3 = I1-(I2)-(I3) ;
15224      S1++;
15225    }
15226    if ((2*I1+I2)%3 == 0) {
15227      I3 = (2*I1+I2)/3 ;
15228      J1 = -2*I1+3*I3 ;
15229      if ((2*I1+J1)%3 == 0) {
15230        J2 = (2*I1+J1)/3 ;
15231        J3 = 3*I1-4*J2 ;
15232        S1++;
15233        S2++;
15234      }
15235    }
15236    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
15237      J3 = I1-(I2)-(I3) ;
15238      S1++;
15239      J3 = -I1-2*(I2)+2*I3 ;
15240      S2++;
15241    }
15242  }
15243  I2 = -2*I1+3*N1 ;
15244  for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) {
15245    J3 = I1-(I2)-(I3) ;
15246    S1++;
15247  }
15248  for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
15249    J3 = -I1-2*(I2)+2*I3 ;
15250    S2++;
15251    J3 = I1-(I2)-(I3) ;
15252    S1++;
15253  }
15254  J1 = -2*I1+3*N1 ;
15255  if ((2*I1+J1)%3 == 0) {
15256    J2 = (2*I1+J1)/3 ;
15257    J3 = 3*I1-4*J2 ;
15258    S1++;
15259    S2++;
15260  }
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) ;
15264      S1++;
15265    }
15266    for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
15267      J3 = -I1-2*(I2)+2*I3 ;
15268      S2++;
15269      J3 = I1-(I2)-(I3) ;
15270      S1++;
15271    }
15272  }
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) ;
15276      S1++;
15277    }
15278  }
15279}
15280if (N1 >= 22) {
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 ;
15286        S2++;
15287      }
15288    }
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 ;
15292        S2++;
15293      }
15294      for (I3=I1-2*I2;I3<=N1;I3++) {
15295        J3 = I1-(I2)-(I3) ;
15296        S1++;
15297        J3 = -I1-2*(I2)+2*I3 ;
15298        S2++;
15299      }
15300    }
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 ;
15305        S2++;
15306      }
15307      if (5*I1%7 == 0) {
15308        I3 = 5*I1/7 ;
15309        J1 = -2*I1+3*I3 ;
15310        if ((2*I1+J1)%3 == 0) {
15311          J2 = (2*I1+J1)/3 ;
15312          J3 = 3*I1-4*J2 ;
15313          S1++;
15314          S2++;
15315        }
15316      }
15317      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
15318        J3 = I1-(I2)-(I3) ;
15319        S1++;
15320        J3 = -I1-2*(I2)+2*I3 ;
15321        S2++;
15322      }
15323    }
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 ;
15327        S2++;
15328      }
15329      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
15330        J3 = -I1-2*(I2)+2*I3 ;
15331        S2++;
15332        J3 = I1-(I2)-(I3) ;
15333        S1++;
15334      }
15335      if ((2*I1+I2)%3 == 0) {
15336        I3 = (2*I1+I2)/3 ;
15337        J1 = -2*I1+3*I3 ;
15338        if ((2*I1+J1)%3 == 0) {
15339          J2 = (2*I1+J1)/3 ;
15340          J3 = 3*I1-4*J2 ;
15341          S1++;
15342          S2++;
15343        }
15344      }
15345      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
15346        J3 = I1-(I2)-(I3) ;
15347        S1++;
15348        J3 = -I1-2*(I2)+2*I3 ;
15349        S2++;
15350      }
15351    }
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 ;
15356        S2++;
15357        J3 = I1-(I2)-(I3) ;
15358        S1++;
15359      }
15360      if ((13*I1-1)%18 == 0) {
15361        I3 = (13*I1-1)/18 ;
15362        J1 = -2*I1+3*I3 ;
15363        if ((2*I1+J1)%3 == 0) {
15364          J2 = (2*I1+J1)/3 ;
15365          J3 = 3*I1-4*J2 ;
15366          S1++;
15367          S2++;
15368        }
15369      }
15370      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
15371        J3 = I1-(I2)-(I3) ;
15372        S1++;
15373        J3 = -I1-2*(I2)+2*I3 ;
15374        S2++;
15375      }
15376    }
15377    if ((3*N1-1)%13 == 0) {
15378      I2 = (3*N1-1)/13 ;
15379      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
15380        J3 = -I1-2*(I2)+2*I3 ;
15381        S2++;
15382        J3 = I1-(I2)-(I3) ;
15383        S1++;
15384      }
15385      if (13*I1%18 == 0) {
15386        I3 = 13*I1/18 ;
15387        J1 = -2*I1+3*I3 ;
15388        if ((2*I1+J1)%3 == 0) {
15389          J2 = (2*I1+J1)/3 ;
15390          J3 = 3*I1-4*J2 ;
15391          S1++;
15392          S2++;
15393        }
15394      }
15395      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
15396        J3 = I1-(I2)-(I3) ;
15397        S1++;
15398        J3 = -I1-2*(I2)+2*I3 ;
15399        S2++;
15400      }
15401    }
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) ;
15406        S1++;
15407      }
15408      for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
15409        J3 = -I1-2*(I2)+2*I3 ;
15410        S2++;
15411        J3 = I1-(I2)-(I3) ;
15412        S1++;
15413      }
15414      J1 = -2*I1+3*N1 ;
15415      if ((2*I1+J1)%3 == 0) {
15416        J2 = (2*I1+J1)/3 ;
15417        J3 = 3*I1-4*J2 ;
15418        S1++;
15419        S2++;
15420      }
15421    }
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) ;
15425        S1++;
15426      }
15427      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
15428        J3 = -I1-2*(I2)+2*I3 ;
15429        S2++;
15430        J3 = I1-(I2)-(I3) ;
15431        S1++;
15432      }
15433    }
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) ;
15437        S1++;
15438      }
15439    }
15440  }
15441}
15442if (N1 >= 21) {
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 ;
15448        S2++;
15449      }
15450    }
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 ;
15454        S2++;
15455      }
15456      for (I3=I1-2*I2;I3<=N1;I3++) {
15457        J3 = I1-(I2)-(I3) ;
15458        S1++;
15459        J3 = -I1-2*(I2)+2*I3 ;
15460        S2++;
15461      }
15462    }
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 ;
15467        S2++;
15468      }
15469      if (5*I1%7 == 0) {
15470        I3 = 5*I1/7 ;
15471        J1 = -2*I1+3*I3 ;
15472        if ((2*I1+J1)%3 == 0) {
15473          J2 = (2*I1+J1)/3 ;
15474          J3 = 3*I1-4*J2 ;
15475          S1++;
15476          S2++;
15477        }
15478      }
15479      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
15480        J3 = I1-(I2)-(I3) ;
15481        S1++;
15482        J3 = -I1-2*(I2)+2*I3 ;
15483        S2++;
15484      }
15485    }
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 ;
15489        S2++;
15490      }
15491      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
15492        J3 = -I1-2*(I2)+2*I3 ;
15493        S2++;
15494        J3 = I1-(I2)-(I3) ;
15495        S1++;
15496      }
15497      if ((2*I1+I2)%3 == 0) {
15498        I3 = (2*I1+I2)/3 ;
15499        J1 = -2*I1+3*I3 ;
15500        if ((2*I1+J1)%3 == 0) {
15501          J2 = (2*I1+J1)/3 ;
15502          J3 = 3*I1-4*J2 ;
15503          S1++;
15504          S2++;
15505        }
15506      }
15507      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
15508        J3 = I1-(I2)-(I3) ;
15509        S1++;
15510        J3 = -I1-2*(I2)+2*I3 ;
15511        S2++;
15512      }
15513    }
15514    if ((3*N1-3)%13 == 0) {
15515      I2 = (3*N1-3)/13 ;
15516      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
15517        J3 = -I1-2*(I2)+2*I3 ;
15518        S2++;
15519        J3 = I1-(I2)-(I3) ;
15520        S1++;
15521      }
15522      if ((13*I1-1)%18 == 0) {
15523        I3 = (13*I1-1)/18 ;
15524        J1 = -2*I1+3*I3 ;
15525        if ((2*I1+J1)%3 == 0) {
15526          J2 = (2*I1+J1)/3 ;
15527          J3 = 3*I1-4*J2 ;
15528          S1++;
15529          S2++;
15530        }
15531      }
15532      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
15533        J3 = I1-(I2)-(I3) ;
15534        S1++;
15535        J3 = -I1-2*(I2)+2*I3 ;
15536        S2++;
15537      }
15538    }
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) ;
15543        S1++;
15544      }
15545      for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
15546        J3 = -I1-2*(I2)+2*I3 ;
15547        S2++;
15548        J3 = I1-(I2)-(I3) ;
15549        S1++;
15550      }
15551      J1 = -2*I1+3*N1 ;
15552      if ((2*I1+J1)%3 == 0) {
15553        J2 = (2*I1+J1)/3 ;
15554        J3 = 3*I1-4*J2 ;
15555        S1++;
15556        S2++;
15557      }
15558    }
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) ;
15562        S1++;
15563      }
15564      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
15565        J3 = -I1-2*(I2)+2*I3 ;
15566        S2++;
15567        J3 = I1-(I2)-(I3) ;
15568        S1++;
15569      }
15570    }
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) ;
15574        S1++;
15575      }
15576    }
15577  }
15578}
15579for (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 ;
15583      S2++;
15584    }
15585  }
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 ;
15589      S2++;
15590    }
15591    for (I3=I1-2*I2;I3<=N1;I3++) {
15592      J3 = I1-(I2)-(I3) ;
15593      S1++;
15594      J3 = -I1-2*(I2)+2*I3 ;
15595      S2++;
15596    }
15597  }
15598  if (I1%7 == 0) {
15599    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
15600      J3 = -I1-2*(I2)+2*I3 ;
15601      S2++;
15602    }
15603    if (5*I1%7 == 0) {
15604      I3 = 5*I1/7 ;
15605      J1 = -2*I1+3*I3 ;
15606      if ((2*I1+J1)%3 == 0) {
15607        J2 = (2*I1+J1)/3 ;
15608        J3 = 3*I1-4*J2 ;
15609        S1++;
15610        S2++;
15611      }
15612    }
15613    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
15614      J3 = I1-(I2)-(I3) ;
15615      S1++;
15616      J3 = -I1-2*(I2)+2*I3 ;
15617      S2++;
15618    }
15619  }
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 ;
15623      S2++;
15624    }
15625    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
15626      J3 = -I1-2*(I2)+2*I3 ;
15627      S2++;
15628      J3 = I1-(I2)-(I3) ;
15629      S1++;
15630    }
15631    if ((2*I1+I2)%3 == 0) {
15632      I3 = (2*I1+I2)/3 ;
15633      J1 = -2*I1+3*I3 ;
15634      if ((2*I1+J1)%3 == 0) {
15635        J2 = (2*I1+J1)/3 ;
15636        J3 = 3*I1-4*J2 ;
15637        S1++;
15638        S2++;
15639      }
15640    }
15641    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
15642      J3 = I1-(I2)-(I3) ;
15643      S1++;
15644      J3 = -I1-2*(I2)+2*I3 ;
15645      S2++;
15646    }
15647  }
15648  I2 = -2*I1+3*N1 ;
15649  for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) {
15650    J3 = I1-(I2)-(I3) ;
15651    S1++;
15652  }
15653  for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
15654    J3 = -I1-2*(I2)+2*I3 ;
15655    S2++;
15656    J3 = I1-(I2)-(I3) ;
15657    S1++;
15658  }
15659  J1 = -2*I1+3*N1 ;
15660  if ((2*I1+J1)%3 == 0) {
15661    J2 = (2*I1+J1)/3 ;
15662    J3 = 3*I1-4*J2 ;
15663    S1++;
15664    S2++;
15665  }
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) ;
15669      S1++;
15670    }
15671    for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
15672      J3 = -I1-2*(I2)+2*I3 ;
15673      S2++;
15674      J3 = I1-(I2)-(I3) ;
15675      S1++;
15676    }
15677  }
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) ;
15681      S1++;
15682    }
15683  }
15684}
15685for (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 ;
15689      S2++;
15690    }
15691  }
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 ;
15695      S2++;
15696    }
15697    for (I3=I1-2*I2;I3<=N1;I3++) {
15698      J3 = I1-(I2)-(I3) ;
15699      S1++;
15700      J3 = -I1-2*(I2)+2*I3 ;
15701      S2++;
15702    }
15703  }
15704  if (I1%7 == 0) {
15705    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
15706      J3 = -I1-2*(I2)+2*I3 ;
15707      S2++;
15708    }
15709    if (5*I1%7 == 0) {
15710      I3 = 5*I1/7 ;
15711      J1 = -2*I1+3*I3 ;
15712      if ((2*I1+J1)%3 == 0) {
15713        J2 = (2*I1+J1)/3 ;
15714        J3 = 3*I1-4*J2 ;
15715        S1++;
15716        S2++;
15717      }
15718    }
15719    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
15720      J3 = I1-(I2)-(I3) ;
15721      S1++;
15722      J3 = -I1-2*(I2)+2*I3 ;
15723      S2++;
15724    }
15725  }
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 ;
15729      S2++;
15730    }
15731    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
15732      J3 = -I1-2*(I2)+2*I3 ;
15733      S2++;
15734      J3 = I1-(I2)-(I3) ;
15735      S1++;
15736    }
15737    if ((2*I1+I2)%3 == 0) {
15738      I3 = (2*I1+I2)/3 ;
15739      J1 = -2*I1+3*I3 ;
15740      if ((2*I1+J1)%3 == 0) {
15741        J2 = (2*I1+J1)/3 ;
15742        J3 = 3*I1-4*J2 ;
15743        S1++;
15744        S2++;
15745      }
15746    }
15747    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
15748      J3 = I1-(I2)-(I3) ;
15749      S1++;
15750      J3 = -I1-2*(I2)+2*I3 ;
15751      S2++;
15752    }
15753  }
15754  I2 = -2*I1+3*N1 ;
15755  for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
15756    J3 = -I1-2*(I2)+2*I3 ;
15757    S2++;
15758    J3 = I1-(I2)-(I3) ;
15759    S1++;
15760  }
15761  J1 = -2*I1+3*N1 ;
15762  if ((2*I1+J1)%3 == 0) {
15763    J2 = (2*I1+J1)/3 ;
15764    J3 = 3*I1-4*J2 ;
15765    S1++;
15766    S2++;
15767  }
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) ;
15771      S1++;
15772    }
15773    for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
15774      J3 = -I1-2*(I2)+2*I3 ;
15775      S2++;
15776      J3 = I1-(I2)-(I3) ;
15777      S1++;
15778    }
15779  }
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) ;
15783      S1++;
15784    }
15785  }
15786}
15787if ((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 ;
15793        S2++;
15794      }
15795    }
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 ;
15799        S2++;
15800      }
15801      for (I3=I1-2*I2;I3<=N1;I3++) {
15802        J3 = I1-(I2)-(I3) ;
15803        S1++;
15804        J3 = -I1-2*(I2)+2*I3 ;
15805        S2++;
15806      }
15807    }
15808    if ((3*N1-1)%15 == 0) {
15809      I2 = (3*N1-1)/15 ;
15810      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
15811        J3 = -I1-2*(I2)+2*I3 ;
15812        S2++;
15813      }
15814      if (5*I1%7 == 0) {
15815        I3 = 5*I1/7 ;
15816        J1 = -2*I1+3*I3 ;
15817        if ((2*I1+J1)%3 == 0) {
15818          J2 = (2*I1+J1)/3 ;
15819          J3 = 3*I1-4*J2 ;
15820          S1++;
15821          S2++;
15822        }
15823      }
15824      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
15825        J3 = I1-(I2)-(I3) ;
15826        S1++;
15827        J3 = -I1-2*(I2)+2*I3 ;
15828        S2++;
15829      }
15830    }
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) ;
15835        S1++;
15836      }
15837      for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
15838        J3 = -I1-2*(I2)+2*I3 ;
15839        S2++;
15840        J3 = I1-(I2)-(I3) ;
15841        S1++;
15842      }
15843      J1 = -2*I1+3*N1 ;
15844      if ((2*I1+J1)%3 == 0) {
15845        J2 = (2*I1+J1)/3 ;
15846        J3 = 3*I1-4*J2 ;
15847        S1++;
15848        S2++;
15849      }
15850    }
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) ;
15854        S1++;
15855      }
15856      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
15857        J3 = -I1-2*(I2)+2*I3 ;
15858        S2++;
15859        J3 = I1-(I2)-(I3) ;
15860        S1++;
15861      }
15862    }
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) ;
15866        S1++;
15867      }
15868    }
15869  }
15870}
15871for (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 ;
15875      S2++;
15876    }
15877  }
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 ;
15881      S2++;
15882    }
15883    for (I3=I1-2*I2;I3<=N1;I3++) {
15884      J3 = I1-(I2)-(I3) ;
15885      S1++;
15886      J3 = -I1-2*(I2)+2*I3 ;
15887      S2++;
15888    }
15889  }
15890  if (I1%7 == 0) {
15891    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
15892      J3 = -I1-2*(I2)+2*I3 ;
15893      S2++;
15894    }
15895    if (5*I1%7 == 0) {
15896      I3 = 5*I1/7 ;
15897      J1 = -2*I1+3*I3 ;
15898      if ((2*I1+J1)%3 == 0) {
15899        J2 = (2*I1+J1)/3 ;
15900        J3 = 3*I1-4*J2 ;
15901        S1++;
15902        S2++;
15903      }
15904    }
15905    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
15906      J3 = I1-(I2)-(I3) ;
15907      S1++;
15908      J3 = -I1-2*(I2)+2*I3 ;
15909      S2++;
15910    }
15911  }
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 ;
15915      S2++;
15916    }
15917    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
15918      J3 = -I1-2*(I2)+2*I3 ;
15919      S2++;
15920      J3 = I1-(I2)-(I3) ;
15921      S1++;
15922    }
15923    if ((2*I1+I2)%3 == 0) {
15924      I3 = (2*I1+I2)/3 ;
15925      J1 = -2*I1+3*I3 ;
15926      if ((2*I1+J1)%3 == 0) {
15927        J2 = (2*I1+J1)/3 ;
15928        J3 = 3*I1-4*J2 ;
15929        S1++;
15930        S2++;
15931      }
15932    }
15933    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
15934      J3 = I1-(I2)-(I3) ;
15935      S1++;
15936      J3 = -I1-2*(I2)+2*I3 ;
15937      S2++;
15938    }
15939  }
15940  I2 = -2*I1+3*N1 ;
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 ;
15943    S2++;
15944  }
15945  for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
15946    J3 = -I1-2*(I2)+2*I3 ;
15947    S2++;
15948    J3 = I1-(I2)-(I3) ;
15949    S1++;
15950  }
15951  J1 = -2*I1+3*N1 ;
15952  if ((2*I1+J1)%3 == 0) {
15953    J2 = (2*I1+J1)/3 ;
15954    J3 = 3*I1-4*J2 ;
15955    S1++;
15956    S2++;
15957  }
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) ;
15961      S1++;
15962    }
15963    for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
15964      J3 = -I1-2*(I2)+2*I3 ;
15965      S2++;
15966      J3 = I1-(I2)-(I3) ;
15967      S1++;
15968    }
15969  }
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) ;
15973      S1++;
15974    }
15975  }
15976}
15977if ((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 ;
15983        S2++;
15984      }
15985    }
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 ;
15989        S2++;
15990      }
15991      for (I3=I1-2*I2;I3<=N1;I3++) {
15992        J3 = I1-(I2)-(I3) ;
15993        S1++;
15994        J3 = -I1-2*(I2)+2*I3 ;
15995        S2++;
15996      }
15997    }
15998    if ((3*N1-1)%15 == 0) {
15999      I2 = (3*N1-1)/15 ;
16000      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
16001        J3 = -I1-2*(I2)+2*I3 ;
16002        S2++;
16003      }
16004      if (5*I1%7 == 0) {
16005        I3 = 5*I1/7 ;
16006        J1 = -2*I1+3*I3 ;
16007        if ((2*I1+J1)%3 == 0) {
16008          J2 = (2*I1+J1)/3 ;
16009          J3 = 3*I1-4*J2 ;
16010          S1++;
16011          S2++;
16012        }
16013      }
16014      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
16015        J3 = I1-(I2)-(I3) ;
16016        S1++;
16017        J3 = -I1-2*(I2)+2*I3 ;
16018        S2++;
16019      }
16020    }
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 ;
16025        S2++;
16026        J3 = I1-(I2)-(I3) ;
16027        S1++;
16028      }
16029      J1 = -2*I1+3*N1 ;
16030      if ((2*I1+J1)%3 == 0) {
16031        J2 = (2*I1+J1)/3 ;
16032        J3 = 3*I1-4*J2 ;
16033        S1++;
16034        S2++;
16035      }
16036    }
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) ;
16040        S1++;
16041      }
16042      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16043        J3 = -I1-2*(I2)+2*I3 ;
16044        S2++;
16045        J3 = I1-(I2)-(I3) ;
16046        S1++;
16047      }
16048    }
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) ;
16052        S1++;
16053      }
16054    }
16055  }
16056}
16057if ((N1 >= 16) && (N1 <= 21)) {
16058  if ((7*N1-2)%5 == 0) {
16059    I1 = (7*N1-2)/5 ;
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 ;
16063        S2++;
16064      }
16065    }
16066    if ((N1-1)%5 == 0) {
16067      I2 = (N1-1)/5 ;
16068      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
16069        J3 = -I1-2*(I2)+2*I3 ;
16070        S2++;
16071      }
16072      for (I3=I1-2*I2;I3<=N1;I3++) {
16073        J3 = I1-(I2)-(I3) ;
16074        S1++;
16075        J3 = -I1-2*(I2)+2*I3 ;
16076        S2++;
16077      }
16078    }
16079    if ((N1+4)%5 == 0) {
16080      I2 = (N1+4)/5 ;
16081      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) {
16082        J3 = I1-(I2)-(I3) ;
16083        S1++;
16084      }
16085      for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
16086        J3 = -I1-2*(I2)+2*I3 ;
16087        S2++;
16088        J3 = I1-(I2)-(I3) ;
16089        S1++;
16090      }
16091      J1 = -2*I1+3*N1 ;
16092      if ((2*I1+J1)%3 == 0) {
16093        J2 = (2*I1+J1)/3 ;
16094        J3 = 3*I1-4*J2 ;
16095        S1++;
16096        S2++;
16097      }
16098    }
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) ;
16102        S1++;
16103      }
16104      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16105        J3 = -I1-2*(I2)+2*I3 ;
16106        S2++;
16107        J3 = I1-(I2)-(I3) ;
16108        S1++;
16109      }
16110    }
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) ;
16114        S1++;
16115      }
16116    }
16117  }
16118}
16119for (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 ;
16123      S2++;
16124    }
16125  }
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 ;
16129      S2++;
16130    }
16131    for (I3=I1-2*I2;I3<=N1;I3++) {
16132      J3 = I1-(I2)-(I3) ;
16133      S1++;
16134      J3 = -I1-2*(I2)+2*I3 ;
16135      S2++;
16136    }
16137  }
16138  if (I1%7 == 0) {
16139    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
16140      J3 = -I1-2*(I2)+2*I3 ;
16141      S2++;
16142    }
16143    if (5*I1%7 == 0) {
16144      I3 = 5*I1/7 ;
16145      J1 = -2*I1+3*I3 ;
16146      if ((2*I1+J1)%3 == 0) {
16147        J2 = (2*I1+J1)/3 ;
16148        J3 = 3*I1-4*J2 ;
16149        S1++;
16150        S2++;
16151      }
16152    }
16153    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
16154      J3 = I1-(I2)-(I3) ;
16155      S1++;
16156      J3 = -I1-2*(I2)+2*I3 ;
16157      S2++;
16158    }
16159  }
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 ;
16163      S2++;
16164    }
16165    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
16166      J3 = -I1-2*(I2)+2*I3 ;
16167      S2++;
16168      J3 = I1-(I2)-(I3) ;
16169      S1++;
16170    }
16171    if ((2*I1+I2)%3 == 0) {
16172      I3 = (2*I1+I2)/3 ;
16173      J1 = -2*I1+3*I3 ;
16174      if ((2*I1+J1)%3 == 0) {
16175        J2 = (2*I1+J1)/3 ;
16176        J3 = 3*I1-4*J2 ;
16177        S1++;
16178        S2++;
16179      }
16180    }
16181    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
16182      J3 = I1-(I2)-(I3) ;
16183      S1++;
16184      J3 = -I1-2*(I2)+2*I3 ;
16185      S2++;
16186    }
16187  }
16188  I2 = -2*I1+3*N1 ;
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 ;
16191    S2++;
16192  }
16193  for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16194    J3 = -I1-2*(I2)+2*I3 ;
16195    S2++;
16196    J3 = I1-(I2)-(I3) ;
16197    S1++;
16198  }
16199  J1 = -2*I1+3*N1 ;
16200  if ((2*I1+J1)%3 == 0) {
16201    J2 = (2*I1+J1)/3 ;
16202    J3 = 3*I1-4*J2 ;
16203    S1++;
16204    S2++;
16205  }
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 ;
16209      S2++;
16210      J3 = I1-(I2)-(I3) ;
16211      S1++;
16212    }
16213  }
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) ;
16217      S1++;
16218    }
16219    for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16220      J3 = -I1-2*(I2)+2*I3 ;
16221      S2++;
16222      J3 = I1-(I2)-(I3) ;
16223      S1++;
16224    }
16225  }
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) ;
16229      S1++;
16230    }
16231  }
16232}
16233if ((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 ;
16239        S2++;
16240      }
16241    }
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 ;
16245        S2++;
16246      }
16247      for (I3=I1-2*I2;I3<=N1;I3++) {
16248        J3 = I1-(I2)-(I3) ;
16249        S1++;
16250        J3 = -I1-2*(I2)+2*I3 ;
16251        S2++;
16252      }
16253    }
16254    if ((3*N1-1)%15 == 0) {
16255      I2 = (3*N1-1)/15 ;
16256      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
16257        J3 = -I1-2*(I2)+2*I3 ;
16258        S2++;
16259      }
16260      if (5*I1%7 == 0) {
16261        I3 = 5*I1/7 ;
16262        J1 = -2*I1+3*I3 ;
16263        if ((2*I1+J1)%3 == 0) {
16264          J2 = (2*I1+J1)/3 ;
16265          J3 = 3*I1-4*J2 ;
16266          S1++;
16267          S2++;
16268        }
16269      }
16270      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
16271        J3 = I1-(I2)-(I3) ;
16272        S1++;
16273        J3 = -I1-2*(I2)+2*I3 ;
16274        S2++;
16275      }
16276    }
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 ;
16281        S2++;
16282      }
16283      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16284        J3 = -I1-2*(I2)+2*I3 ;
16285        S2++;
16286        J3 = I1-(I2)-(I3) ;
16287        S1++;
16288      }
16289      J1 = -2*I1+3*N1 ;
16290      if ((2*I1+J1)%3 == 0) {
16291        J2 = (2*I1+J1)/3 ;
16292        J3 = 3*I1-4*J2 ;
16293        S1++;
16294        S2++;
16295      }
16296    }
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) ;
16300        S1++;
16301      }
16302      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16303        J3 = -I1-2*(I2)+2*I3 ;
16304        S2++;
16305        J3 = I1-(I2)-(I3) ;
16306        S1++;
16307      }
16308    }
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) ;
16312        S1++;
16313      }
16314    }
16315  }
16316}
16317if ((N1 <= 31) && (N1 >= 26)) {
16318  if ((7*N1-2)%5 == 0) {
16319    I1 = (7*N1-2)/5 ;
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 ;
16323        S2++;
16324      }
16325    }
16326    if ((N1-1)%5 == 0) {
16327      I2 = (N1-1)/5 ;
16328      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
16329        J3 = -I1-2*(I2)+2*I3 ;
16330        S2++;
16331      }
16332      for (I3=I1-2*I2;I3<=N1;I3++) {
16333        J3 = I1-(I2)-(I3) ;
16334        S1++;
16335        J3 = -I1-2*(I2)+2*I3 ;
16336        S2++;
16337      }
16338    }
16339    if ((N1+4)%5 == 0) {
16340      I2 = (N1+4)/5 ;
16341      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16342        J3 = -I1-2*(I2)+2*I3 ;
16343        S2++;
16344        J3 = I1-(I2)-(I3) ;
16345        S1++;
16346      }
16347      J1 = -2*I1+3*N1 ;
16348      if ((2*I1+J1)%3 == 0) {
16349        J2 = (2*I1+J1)/3 ;
16350        J3 = 3*I1-4*J2 ;
16351        S1++;
16352        S2++;
16353      }
16354    }
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) ;
16358        S1++;
16359      }
16360      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16361        J3 = -I1-2*(I2)+2*I3 ;
16362        S2++;
16363        J3 = I1-(I2)-(I3) ;
16364        S1++;
16365      }
16366    }
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) ;
16370        S1++;
16371      }
16372    }
16373  }
16374}
16375if ((N1 <= 18) && (N1 >= 13)) {
16376  if ((7*N1-1)%5 == 0) {
16377    I1 = (7*N1-1)/5 ;
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 ;
16381        S2++;
16382      }
16383    }
16384    if ((N1+2)%5 == 0) {
16385      I2 = (N1+2)/5 ;
16386      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16387        J3 = -I1-2*(I2)+2*I3 ;
16388        S2++;
16389        J3 = I1-(I2)-(I3) ;
16390        S1++;
16391      }
16392      J1 = -2*I1+3*N1 ;
16393      if ((2*I1+J1)%3 == 0) {
16394        J2 = (2*I1+J1)/3 ;
16395        J3 = 3*I1-4*J2 ;
16396        S1++;
16397        S2++;
16398      }
16399    }
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) ;
16403        S1++;
16404      }
16405      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16406        J3 = -I1-2*(I2)+2*I3 ;
16407        S2++;
16408        J3 = I1-(I2)-(I3) ;
16409        S1++;
16410      }
16411    }
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) ;
16415        S1++;
16416      }
16417    }
16418  }
16419}
16420for (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 ;
16424      S2++;
16425    }
16426  }
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 ;
16430      S2++;
16431    }
16432    for (I3=I1-2*I2;I3<=N1;I3++) {
16433      J3 = I1-(I2)-(I3) ;
16434      S1++;
16435      J3 = -I1-2*(I2)+2*I3 ;
16436      S2++;
16437    }
16438  }
16439  if (I1%7 == 0) {
16440    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
16441      J3 = -I1-2*(I2)+2*I3 ;
16442      S2++;
16443    }
16444    if (5*I1%7 == 0) {
16445      I3 = 5*I1/7 ;
16446      J1 = -2*I1+3*I3 ;
16447      if ((2*I1+J1)%3 == 0) {
16448        J2 = (2*I1+J1)/3 ;
16449        J3 = 3*I1-4*J2 ;
16450        S1++;
16451        S2++;
16452      }
16453    }
16454    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
16455      J3 = I1-(I2)-(I3) ;
16456      S1++;
16457      J3 = -I1-2*(I2)+2*I3 ;
16458      S2++;
16459    }
16460  }
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 ;
16464      S2++;
16465    }
16466    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
16467      J3 = -I1-2*(I2)+2*I3 ;
16468      S2++;
16469      J3 = I1-(I2)-(I3) ;
16470      S1++;
16471    }
16472    if ((2*I1+I2)%3 == 0) {
16473      I3 = (2*I1+I2)/3 ;
16474      J1 = -2*I1+3*I3 ;
16475      if ((2*I1+J1)%3 == 0) {
16476        J2 = (2*I1+J1)/3 ;
16477        J3 = 3*I1-4*J2 ;
16478        S1++;
16479        S2++;
16480      }
16481    }
16482    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
16483      J3 = I1-(I2)-(I3) ;
16484      S1++;
16485      J3 = -I1-2*(I2)+2*I3 ;
16486      S2++;
16487    }
16488  }
16489  I2 = -2*I1+3*N1 ;
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 ;
16492    S2++;
16493  }
16494  for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16495    J3 = -I1-2*(I2)+2*I3 ;
16496    S2++;
16497    J3 = I1-(I2)-(I3) ;
16498    S1++;
16499  }
16500  J1 = -2*I1+3*N1 ;
16501  if ((2*I1+J1)%3 == 0) {
16502    J2 = (2*I1+J1)/3 ;
16503    J3 = 3*I1-4*J2 ;
16504    S1++;
16505    S2++;
16506  }
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 ;
16510      S2++;
16511    }
16512    for (I3=I1-2*I2;I3<=N1;I3++) {
16513      J3 = -I1-2*(I2)+2*I3 ;
16514      S2++;
16515      J3 = I1-(I2)-(I3) ;
16516      S1++;
16517    }
16518  }
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 ;
16522      S2++;
16523      J3 = I1-(I2)-(I3) ;
16524      S1++;
16525    }
16526  }
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) ;
16530      S1++;
16531    }
16532    for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16533      J3 = -I1-2*(I2)+2*I3 ;
16534      S2++;
16535      J3 = I1-(I2)-(I3) ;
16536      S1++;
16537    }
16538  }
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) ;
16542      S1++;
16543    }
16544  }
16545}
16546if ((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 ;
16552        S2++;
16553      }
16554    }
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 ;
16558        S2++;
16559      }
16560      for (I3=I1-2*I2;I3<=N1;I3++) {
16561        J3 = I1-(I2)-(I3) ;
16562        S1++;
16563        J3 = -I1-2*(I2)+2*I3 ;
16564        S2++;
16565      }
16566    }
16567    if ((3*N1-1)%15 == 0) {
16568      I2 = (3*N1-1)/15 ;
16569      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
16570        J3 = -I1-2*(I2)+2*I3 ;
16571        S2++;
16572      }
16573      if (5*I1%7 == 0) {
16574        I3 = 5*I1/7 ;
16575        J1 = -2*I1+3*I3 ;
16576        if ((2*I1+J1)%3 == 0) {
16577          J2 = (2*I1+J1)/3 ;
16578          J3 = 3*I1-4*J2 ;
16579          S1++;
16580          S2++;
16581        }
16582      }
16583      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
16584        J3 = I1-(I2)-(I3) ;
16585        S1++;
16586        J3 = -I1-2*(I2)+2*I3 ;
16587        S2++;
16588      }
16589    }
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 ;
16594        S2++;
16595      }
16596      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16597        J3 = -I1-2*(I2)+2*I3 ;
16598        S2++;
16599        J3 = I1-(I2)-(I3) ;
16600        S1++;
16601      }
16602      J1 = -2*I1+3*N1 ;
16603      if ((2*I1+J1)%3 == 0) {
16604        J2 = (2*I1+J1)/3 ;
16605        J3 = 3*I1-4*J2 ;
16606        S1++;
16607        S2++;
16608      }
16609    }
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 ;
16613        S2++;
16614        J3 = I1-(I2)-(I3) ;
16615        S1++;
16616      }
16617    }
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) ;
16621        S1++;
16622      }
16623      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16624        J3 = -I1-2*(I2)+2*I3 ;
16625        S2++;
16626        J3 = I1-(I2)-(I3) ;
16627        S1++;
16628      }
16629    }
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) ;
16633        S1++;
16634      }
16635    }
16636  }
16637}
16638if ((N1 <= 51) && (N1 >= 36)) {
16639  if ((7*N1-2)%5 == 0) {
16640    I1 = (7*N1-2)/5 ;
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 ;
16644        S2++;
16645      }
16646    }
16647    if ((N1-1)%5 == 0) {
16648      I2 = (N1-1)/5 ;
16649      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
16650        J3 = -I1-2*(I2)+2*I3 ;
16651        S2++;
16652      }
16653      for (I3=I1-2*I2;I3<=N1;I3++) {
16654        J3 = I1-(I2)-(I3) ;
16655        S1++;
16656        J3 = -I1-2*(I2)+2*I3 ;
16657        S2++;
16658      }
16659    }
16660    if ((N1+4)%5 == 0) {
16661      I2 = (N1+4)/5 ;
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 ;
16664        S2++;
16665      }
16666      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16667        J3 = -I1-2*(I2)+2*I3 ;
16668        S2++;
16669        J3 = I1-(I2)-(I3) ;
16670        S1++;
16671      }
16672      J1 = -2*I1+3*N1 ;
16673      if ((2*I1+J1)%3 == 0) {
16674        J2 = (2*I1+J1)/3 ;
16675        J3 = 3*I1-4*J2 ;
16676        S1++;
16677        S2++;
16678      }
16679    }
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) ;
16683        S1++;
16684      }
16685      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16686        J3 = -I1-2*(I2)+2*I3 ;
16687        S2++;
16688        J3 = I1-(I2)-(I3) ;
16689        S1++;
16690      }
16691    }
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) ;
16695        S1++;
16696      }
16697    }
16698  }
16699}
16700if (N1 >= 71) {
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 ;
16706        S2++;
16707      }
16708    }
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 ;
16712        S2++;
16713      }
16714      for (I3=I1-2*I2;I3<=N1;I3++) {
16715        J3 = I1-(I2)-(I3) ;
16716        S1++;
16717        J3 = -I1-2*(I2)+2*I3 ;
16718        S2++;
16719      }
16720    }
16721    if ((3*N1-1)%15 == 0) {
16722      I2 = (3*N1-1)/15 ;
16723      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
16724        J3 = -I1-2*(I2)+2*I3 ;
16725        S2++;
16726      }
16727      if (5*I1%7 == 0) {
16728        I3 = 5*I1/7 ;
16729        J1 = -2*I1+3*I3 ;
16730        if ((2*I1+J1)%3 == 0) {
16731          J2 = (2*I1+J1)/3 ;
16732          J3 = 3*I1-4*J2 ;
16733          S1++;
16734          S2++;
16735        }
16736      }
16737      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
16738        J3 = I1-(I2)-(I3) ;
16739        S1++;
16740        J3 = -I1-2*(I2)+2*I3 ;
16741        S2++;
16742      }
16743    }
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 ;
16748        S2++;
16749      }
16750      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16751        J3 = -I1-2*(I2)+2*I3 ;
16752        S2++;
16753        J3 = I1-(I2)-(I3) ;
16754        S1++;
16755      }
16756      J1 = -2*I1+3*N1 ;
16757      if ((2*I1+J1)%3 == 0) {
16758        J2 = (2*I1+J1)/3 ;
16759        J3 = 3*I1-4*J2 ;
16760        S1++;
16761        S2++;
16762      }
16763    }
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 ;
16767        S2++;
16768      }
16769      for (I3=I1-2*I2;I3<=N1;I3++) {
16770        J3 = -I1-2*(I2)+2*I3 ;
16771        S2++;
16772        J3 = I1-(I2)-(I3) ;
16773        S1++;
16774      }
16775    }
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 ;
16779        S2++;
16780        J3 = I1-(I2)-(I3) ;
16781        S1++;
16782      }
16783    }
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) ;
16787        S1++;
16788      }
16789      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16790        J3 = -I1-2*(I2)+2*I3 ;
16791        S2++;
16792        J3 = I1-(I2)-(I3) ;
16793        S1++;
16794      }
16795    }
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) ;
16799        S1++;
16800      }
16801    }
16802  }
16803}
16804if ((N1 >= 56) && (N1 <= 61)) {
16805  if ((7*N1-2)%5 == 0) {
16806    I1 = (7*N1-2)/5 ;
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 ;
16810        S2++;
16811      }
16812    }
16813    if ((N1-1)%5 == 0) {
16814      I2 = (N1-1)/5 ;
16815      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
16816        J3 = -I1-2*(I2)+2*I3 ;
16817        S2++;
16818      }
16819      for (I3=I1-2*I2;I3<=N1;I3++) {
16820        J3 = I1-(I2)-(I3) ;
16821        S1++;
16822        J3 = -I1-2*(I2)+2*I3 ;
16823        S2++;
16824      }
16825    }
16826    if ((N1+4)%5 == 0) {
16827      I2 = (N1+4)/5 ;
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 ;
16830        S2++;
16831      }
16832      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16833        J3 = -I1-2*(I2)+2*I3 ;
16834        S2++;
16835        J3 = I1-(I2)-(I3) ;
16836        S1++;
16837      }
16838      J1 = -2*I1+3*N1 ;
16839      if ((2*I1+J1)%3 == 0) {
16840        J2 = (2*I1+J1)/3 ;
16841        J3 = 3*I1-4*J2 ;
16842        S1++;
16843        S2++;
16844      }
16845    }
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 ;
16849        S2++;
16850        J3 = I1-(I2)-(I3) ;
16851        S1++;
16852      }
16853    }
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) ;
16857        S1++;
16858      }
16859      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16860        J3 = -I1-2*(I2)+2*I3 ;
16861        S2++;
16862        J3 = I1-(I2)-(I3) ;
16863        S1++;
16864      }
16865    }
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) ;
16869        S1++;
16870      }
16871    }
16872  }
16873}
16874if ((N1 >= 43) && (N1 <= 48)) {
16875  if ((7*N1-1)%5 == 0) {
16876    I1 = (7*N1-1)/5 ;
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 ;
16880        S2++;
16881      }
16882    }
16883    if ((N1+2)%5 == 0) {
16884      I2 = (N1+2)/5 ;
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 ;
16887        S2++;
16888      }
16889      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16890        J3 = -I1-2*(I2)+2*I3 ;
16891        S2++;
16892        J3 = I1-(I2)-(I3) ;
16893        S1++;
16894      }
16895      J1 = -2*I1+3*N1 ;
16896      if ((2*I1+J1)%3 == 0) {
16897        J2 = (2*I1+J1)/3 ;
16898        J3 = 3*I1-4*J2 ;
16899        S1++;
16900        S2++;
16901      }
16902    }
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 ;
16906        S2++;
16907        J3 = I1-(I2)-(I3) ;
16908        S1++;
16909      }
16910    }
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) ;
16914        S1++;
16915      }
16916      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16917        J3 = -I1-2*(I2)+2*I3 ;
16918        S2++;
16919        J3 = I1-(I2)-(I3) ;
16920        S1++;
16921      }
16922    }
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) ;
16926        S1++;
16927      }
16928    }
16929  }
16930}
16931if ((N1 <= 38) && (N1 >= 23)) {
16932  if ((7*N1-1)%5 == 0) {
16933    I1 = (7*N1-1)/5 ;
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 ;
16937        S2++;
16938      }
16939    }
16940    if ((N1+2)%5 == 0) {
16941      I2 = (N1+2)/5 ;
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 ;
16944        S2++;
16945      }
16946      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
16947        J3 = -I1-2*(I2)+2*I3 ;
16948        S2++;
16949        J3 = I1-(I2)-(I3) ;
16950        S1++;
16951      }
16952      J1 = -2*I1+3*N1 ;
16953      if ((2*I1+J1)%3 == 0) {
16954        J2 = (2*I1+J1)/3 ;
16955        J3 = 3*I1-4*J2 ;
16956        S1++;
16957        S2++;
16958      }
16959    }
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) ;
16963        S1++;
16964      }
16965      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
16966        J3 = -I1-2*(I2)+2*I3 ;
16967        S2++;
16968        J3 = I1-(I2)-(I3) ;
16969        S1++;
16970      }
16971    }
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) ;
16975        S1++;
16976      }
16977    }
16978  }
16979}
16980if ((N1 >= 30) && (N1 <= 35)) {
16981  if (7*N1%5 == 0) {
16982    I1 = 7*N1/5 ;
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 ;
16986        S2++;
16987      }
16988    }
16989    if (N1%5 == 0) {
16990      for (I3=ceild(9*N1,10);I3<=N1-1;I3++) {
16991        J3 = -I1-2*(I2)+2*I3 ;
16992        S2++;
16993      }
16994      J1 = -2*I1+3*N1 ;
16995      if ((2*I1+J1)%3 == 0) {
16996        J2 = (2*I1+J1)/3 ;
16997        J3 = 3*I1-4*J2 ;
16998        S1++;
16999        S2++;
17000      }
17001    }
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 ;
17005        S2++;
17006        J3 = I1-(I2)-(I3) ;
17007        S1++;
17008      }
17009    }
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) ;
17013        S1++;
17014      }
17015      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
17016        J3 = -I1-2*(I2)+2*I3 ;
17017        S2++;
17018        J3 = I1-(I2)-(I3) ;
17019        S1++;
17020      }
17021    }
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) ;
17025        S1++;
17026      }
17027    }
17028  }
17029}
17030if ((N1 <= 25) && (N1 >= 10)) {
17031  if (7*N1%5 == 0) {
17032    I1 = 7*N1/5 ;
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 ;
17036        S2++;
17037      }
17038    }
17039    if (N1%5 == 0) {
17040      for (I3=ceild(9*N1,10);I3<=N1-1;I3++) {
17041        J3 = -I1-2*(I2)+2*I3 ;
17042        S2++;
17043      }
17044      J1 = -2*I1+3*N1 ;
17045      if ((2*I1+J1)%3 == 0) {
17046        J2 = (2*I1+J1)/3 ;
17047        J3 = 3*I1-4*J2 ;
17048        S1++;
17049        S2++;
17050      }
17051    }
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) ;
17055        S1++;
17056      }
17057      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
17058        J3 = -I1-2*(I2)+2*I3 ;
17059        S2++;
17060        J3 = I1-(I2)-(I3) ;
17061        S1++;
17062      }
17063    }
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) ;
17067        S1++;
17068      }
17069    }
17070  }
17071}
17072if (N1 >= 66) {
17073  if ((7*N1-2)%5 == 0) {
17074    I1 = (7*N1-2)/5 ;
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 ;
17078        S2++;
17079      }
17080    }
17081    if ((N1-1)%5 == 0) {
17082      I2 = (N1-1)/5 ;
17083      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
17084        J3 = -I1-2*(I2)+2*I3 ;
17085        S2++;
17086      }
17087      for (I3=I1-2*I2;I3<=N1;I3++) {
17088        J3 = I1-(I2)-(I3) ;
17089        S1++;
17090        J3 = -I1-2*(I2)+2*I3 ;
17091        S2++;
17092      }
17093    }
17094    if ((N1+4)%5 == 0) {
17095      I2 = (N1+4)/5 ;
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 ;
17098        S2++;
17099      }
17100      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
17101        J3 = -I1-2*(I2)+2*I3 ;
17102        S2++;
17103        J3 = I1-(I2)-(I3) ;
17104        S1++;
17105      }
17106      J1 = -2*I1+3*N1 ;
17107      if ((2*I1+J1)%3 == 0) {
17108        J2 = (2*I1+J1)/3 ;
17109        J3 = 3*I1-4*J2 ;
17110        S1++;
17111        S2++;
17112      }
17113    }
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 ;
17117        S2++;
17118      }
17119      for (I3=I1-2*I2;I3<=N1;I3++) {
17120        J3 = -I1-2*(I2)+2*I3 ;
17121        S2++;
17122        J3 = I1-(I2)-(I3) ;
17123        S1++;
17124      }
17125    }
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 ;
17129        S2++;
17130        J3 = I1-(I2)-(I3) ;
17131        S1++;
17132      }
17133    }
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) ;
17137        S1++;
17138      }
17139      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
17140        J3 = -I1-2*(I2)+2*I3 ;
17141        S2++;
17142        J3 = I1-(I2)-(I3) ;
17143        S1++;
17144      }
17145    }
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) ;
17149        S1++;
17150      }
17151    }
17152  }
17153}
17154if (N1 >= 53) {
17155  if ((7*N1-1)%5 == 0) {
17156    I1 = (7*N1-1)/5 ;
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 ;
17160        S2++;
17161      }
17162    }
17163    if ((N1+2)%5 == 0) {
17164      I2 = (N1+2)/5 ;
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 ;
17167        S2++;
17168      }
17169      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
17170        J3 = -I1-2*(I2)+2*I3 ;
17171        S2++;
17172        J3 = I1-(I2)-(I3) ;
17173        S1++;
17174      }
17175      J1 = -2*I1+3*N1 ;
17176      if ((2*I1+J1)%3 == 0) {
17177        J2 = (2*I1+J1)/3 ;
17178        J3 = 3*I1-4*J2 ;
17179        S1++;
17180        S2++;
17181      }
17182    }
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 ;
17186        S2++;
17187      }
17188      for (I3=I1-2*I2;I3<=N1;I3++) {
17189        J3 = -I1-2*(I2)+2*I3 ;
17190        S2++;
17191        J3 = I1-(I2)-(I3) ;
17192        S1++;
17193      }
17194    }
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 ;
17198        S2++;
17199        J3 = I1-(I2)-(I3) ;
17200        S1++;
17201      }
17202    }
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) ;
17206        S1++;
17207      }
17208      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
17209        J3 = -I1-2*(I2)+2*I3 ;
17210        S2++;
17211        J3 = I1-(I2)-(I3) ;
17212        S1++;
17213      }
17214    }
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) ;
17218        S1++;
17219      }
17220    }
17221  }
17222}
17223for (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 ;
17227      S2++;
17228    }
17229  }
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 ;
17233      S2++;
17234      J3 = I1-(I2)-(I3) ;
17235      S1++;
17236    }
17237  }
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) ;
17241      S1++;
17242    }
17243    for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
17244      J3 = -I1-2*(I2)+2*I3 ;
17245      S2++;
17246      J3 = I1-(I2)-(I3) ;
17247      S1++;
17248    }
17249  }
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) ;
17253      S1++;
17254    }
17255  }
17256}
17257if (N1 == 12) {
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 ;
17261      S2++;
17262    }
17263  }
17264  for (I3=17-2*(3);I3<=floord(17+2*3-1,2);I3++) {
17265    J3 = 17-(I2)-(I3) ;
17266    S1++;
17267  }
17268  for (I3=ceild(17+2*3,2);I3<=N1;I3++) {
17269    J3 = -(17)-2*(I2)+2*I3 ;
17270    S2++;
17271    J3 = 17-(I2)-(I3) ;
17272    S1++;
17273  }
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) ;
17277      S1++;
17278    }
17279  }
17280}
17281if (N1 >= 40) {
17282  if (7*N1%5 == 0) {
17283    I1 = 7*N1/5 ;
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 ;
17287        S2++;
17288      }
17289    }
17290    if (N1%5 == 0) {
17291      for (I3=ceild(9*N1,10);I3<=N1-1;I3++) {
17292        J3 = -I1-2*(I2)+2*I3 ;
17293        S2++;
17294      }
17295      J1 = -2*I1+3*N1 ;
17296      if ((2*I1+J1)%3 == 0) {
17297        J2 = (2*I1+J1)/3 ;
17298        J3 = 3*I1-4*J2 ;
17299        S1++;
17300        S2++;
17301      }
17302    }
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 ;
17306        S2++;
17307      }
17308      for (I3=I1-2*I2;I3<=N1;I3++) {
17309        J3 = -I1-2*(I2)+2*I3 ;
17310        S2++;
17311        J3 = I1-(I2)-(I3) ;
17312        S1++;
17313      }
17314    }
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 ;
17318        S2++;
17319        J3 = I1-(I2)-(I3) ;
17320        S1++;
17321      }
17322    }
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) ;
17326        S1++;
17327      }
17328      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
17329        J3 = -I1-2*(I2)+2*I3 ;
17330        S2++;
17331        J3 = I1-(I2)-(I3) ;
17332        S1++;
17333      }
17334    }
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) ;
17338        S1++;
17339      }
17340    }
17341  }
17342}
17343for (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 ;
17347      S2++;
17348    }
17349  }
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 ;
17353      S2++;
17354    }
17355    for (I3=I1-2*I2;I3<=N1;I3++) {
17356      J3 = -I1-2*(I2)+2*I3 ;
17357      S2++;
17358      J3 = I1-(I2)-(I3) ;
17359      S1++;
17360    }
17361  }
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 ;
17365      S2++;
17366      J3 = I1-(I2)-(I3) ;
17367      S1++;
17368    }
17369  }
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) ;
17373      S1++;
17374    }
17375    for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
17376      J3 = -I1-2*(I2)+2*I3 ;
17377      S2++;
17378      J3 = I1-(I2)-(I3) ;
17379      S1++;
17380    }
17381  }
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) ;
17385      S1++;
17386    }
17387  }
17388}
17389for (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 ;
17393      S2++;
17394    }
17395  }
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 ;
17399      S2++;
17400      J3 = I1-(I2)-(I3) ;
17401      S1++;
17402    }
17403  }
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) ;
17407      S1++;
17408    }
17409    for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
17410      J3 = -I1-2*(I2)+2*I3 ;
17411      S2++;
17412      J3 = I1-(I2)-(I3) ;
17413      S1++;
17414    }
17415  }
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) ;
17419      S1++;
17420    }
17421  }
17422}
17423if (N1 >= 6) {
17424  if (3*N1%2 == 0) {
17425    I1 = 3*N1/2 ;
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 ;
17429        S2++;
17430      }
17431    }
17432    if (N1%4 == 0) {
17433      for (I3=I1-2*(N1/4);I3<=N1;I3++) {
17434        J3 = -I1-2*(I2)+2*I3 ;
17435        S2++;
17436        J3 = I1-(I2)-(I3) ;
17437        S1++;
17438      }
17439    }
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) ;
17443        S1++;
17444      }
17445    }
17446  }
17447}
17448for (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 ;
17452      S2++;
17453    }
17454  }
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) ;
17458      S1++;
17459    }
17460  }
17461}
17462for (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) ;
17466      S1++;
17467    }
17468  }
17469}
17470
17471
17472    /* statements print */
17473    fprintf(stderr, "S1 : %d\n", S1);
17474    fprintf(stderr, "S2 : %d\n", S2);
17475
17476
17477}
17478
17479
17480
17481------=_Part_1422_26966204.1114622640387
17482Content-Type: application/octet-stream; name=LUDom_OSP.type2.c
17483Content-Transfer-Encoding: 7bit
17484Content-Disposition: attachment; filename="LUDom_OSP.type2.c"
17485
17486/* Author : DaeGon Kim 
17487   Date   : Tue Apr 26 20:28:07 MDT 2005 */
17488
17489#include <stdio.h>
17490#include <stdlib.h>
17491
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) 
17496
17497int main(int argc, char **argv) {
17498
17499    /* parameters declaration */
17500    int N1 = 0;
17501
17502    /* statements declaration */
17503    int S1 = 0;
17504    int S2 = 0;
17505
17506    /* iterators declaration */
17507    int I1 = 0;
17508    int J1 = 0;
17509    int I2 = 0;
17510    int J2 = 0;
17511    int I3 = 0;
17512    int J3 = 0;
17513
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]);
17517        exit(0);
17518    }
17519
17520    N1 = atoi(argv[1]);
17521
17522/* Generated from ./INPUT/CLOOG/LUDom_OSP_cloog by CLooG v0.12.2 64 bits in 0.03s. */
17523for (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) ;
17527      S1++;
17528    }
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 ;
17531      S2++;
17532    }
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 ;
17535      S2++;
17536      J3 = I1-(I2)-(I3) ;
17537      S1++;
17538    }
17539    if ((2*I1+I2)%3 == 0) {
17540      I3 = (2*I1+I2)/3 ;
17541      J1 = -2*I1+3*I3 ;
17542      if ((2*I1+J1)%3 == 0) {
17543        J2 = (2*I1+J1)/3 ;
17544        J3 = 3*I1-4*J2 ;
17545        S1++;
17546        S2++;
17547      }
17548    }
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) ;
17551      S1++;
17552      J3 = -I1-2*(I2)+2*I3 ;
17553      S2++;
17554    }
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) ;
17557      S1++;
17558    }
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 ;
17561      S2++;
17562    }
17563  }
17564}
17565
17566
17567    /* statements print */
17568    fprintf(stderr, "S1 : %d\n", S1);
17569    fprintf(stderr, "S2 : %d\n", S2);
17570
17571
17572}
17573
17574
17575
17576------=_Part_1422_26966204.1114622640387--
17577
17578
17579