~ubuntu-branches/ubuntu/utopic/cloog/utopic

« back to all changes in this revision

Viewing changes to test/reports/kim_daegon_27-04-2005.eml

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2014-02-26 14:21:11 UTC
  • mfrom: (3.1.8 sid)
  • Revision ID: package-import@ubuntu.com-20140226142111-vsbb1isby30uundd
Tags: 0.18.2-1
New upstream version.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
X-UIDL: 38762.1114626251
2
 
X-Mozilla-Status: 0003
3
 
X-Mozilla-Status2: 00000000
4
 
Received: from soleil.uvsq.fr (soleil.uvsq.fr [193.51.24.1])
5
 
        by relay-6m.club-internet.fr (Postfix) with ESMTP id DCFE125639
6
 
        for <netced@club-internet.fr>; Wed, 27 Apr 2005 20:24:09 +0200 (CEST)
7
 
Received: from torquenada.prism.uvsq.fr (torquenada.prism.uvsq.fr [193.51.25.9])
8
 
          by soleil.uvsq.fr (8.12.11/jtpda-5.4) with ESMTP id j3RIO8Nk002407
9
 
          for <netced@club-internet.fr>; Wed, 27 Apr 2005 20:24:09 +0200 (CEST)
10
 
Received: from soleil.uvsq.fr (root@soleil.uvsq.fr [193.51.24.1])
11
 
          by torquenada.prism.uvsq.fr (8.11.4/jtpda-5.3.2) with ESMTP id j3RIO7C02410
12
 
          for <cedric.bastoul@prism.uvsq.fr>; Wed, 27 Apr 2005 20:24:08 +0200 (MEST)
13
 
Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.205])
14
 
          by soleil.uvsq.fr (8.12.11/jtpda-5.4) with ESMTP id j3RIO6e7001164
15
 
          for <cedric.bastoul@prism.uvsq.fr>; Wed, 27 Apr 2005 20:24:06 +0200 (CEST)
16
 
Received: by wproxy.gmail.com with SMTP id 68so387084wri
17
 
        for <cedric.bastoul@prism.uvsq.fr>; Wed, 27 Apr 2005 11:24:00 -0700 (PDT)
18
 
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws;
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=
22
 
Received: by 10.54.121.20 with SMTP id t20mr277933wrc;
23
 
        Wed, 27 Apr 2005 10:24:00 -0700 (PDT)
24
 
Received: by 10.54.5.57 with HTTP; Wed, 27 Apr 2005 10:24:00 -0700 (PDT)
25
 
Message-ID: <fc5f19de05042710245f9acadd@mail.gmail.com>
26
 
Date: Wed, 27 Apr 2005 11:24:00 -0600
27
 
From: DaeGon Kim <daegonk@gmail.com>
28
 
Reply-To: DaeGon Kim <daegonk@gmail.com>
29
 
To: cedric.bastoul@prism.uvsq.fr
30
 
Subject: Question about Cloog
31
 
Cc: svr@cs.colostate.edu
32
 
Mime-Version: 1.0
33
 
Content-Type: multipart/mixed; 
34
 
        boundary="----=_Part_1422_26966204.1114622640387"
35
 
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-1.7.5 (soleil.uvsq.fr [193.51.24.1]); Wed, 27 Apr 2005 20:24:09 +0200 (CEST)
36
 
X-Greylist: Delayed for 00:53:20 by milter-greylist-1.7.5 (soleil.uvsq.fr [193.51.24.1]); Wed, 27 Apr 2005 20:24:07 +0200 (CEST)
37
 
X-Miltered: at soleil.uvsq.fr with ID 426FD8C9.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)!
38
 
X-Miltered: at soleil.uvsq.fr with ID 426FD8C6.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)!
39
 
X-Antivirus: scanned by sophie at soleil.uvsq.fr
40
 
X-Antivirus: scanned by sophie at soleil.uvsq.fr
41
 
Status:   
42
 
X-Mmail: \Recent                                 
43
 
X-M-Uid: 38762.1114626251
44
 
 
45
 
------=_Part_1422_26966204.1114622640387
46
 
Content-Type: text/plain; charset=ISO-8859-1
47
 
Content-Transfer-Encoding: quoted-printable
48
 
Content-Disposition: inline
49
 
 
50
 
Hello Dr Cedric Bastoul,
51
 
 
52
 
I am a graduate student in CSU working with Dr. Sanjay Rajopadhye.
53
 
I am working on experiments on code generation software.=20
54
 
A few days ago I wrote three cloog input files: LUDom_cloog,
55
 
OSP_cloog, and LUDom_OSP_cloog. The last file is nothing but
56
 
concatenation of two previous files. So it has two statements since
57
 
each of the first two has one statement each.
58
 
 
59
 
When I generated, I got something strange:=20
60
 
 - The numbers of visited points are different between the first two
61
 
and the last one.
62
 
 - The numbers of visited points become different, if I use different
63
 
options: default and "-f 3".
64
 
  - Domains of all statements are 3-dimensional, but there are
65
 
statements having only two indices inside one if block. I added
66
 
generated code below.
67
 
 
68
 
Also, I attached my three inputs and C programs in which generated
69
 
code from cloog can be executed. type1 files contain generated code
70
 
without any options and type2 files contains generated code with -f 3
71
 
option.
72
 
 
73
 
/* Generated from LUDom_OSP_cloog by CLooG v0.12.2 64 bits in 0.03s. */
74
 
for (I1=3D0;I1<=3D3*N1;I1++) {
75
 
  for (I2=3Dmax(max(1,ceild(I1-2*N1+2,2)),I1-2*N1);I2<=3DN1;I2++) {
76
 
    for (I3=3Dmax(max(I1-2*I2,ceild(I1-I2,2)),1);I3<=3Dmin(min(N1,floord(I1=
77
 
+2*I2-1,2)),I1-I2);I3++)
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+=
107
 
3*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=
119
 
1);I3++)
120
 
{
121
 
      J3 =3D -I1-2*(I2)+2*I3 ;
122
 
      S2(J1 =3D I2,J2 =3D I3) ;
123
 
    }
124
 
  }
125
 
}
126
 
 
127
 
 
128
 
Thank you for reading.
129
 
 
130
 
--=20
131
 
DaeGon Kim
132
 
 
133
 
Graduate Student, Computer Science Department,
134
 
Colorado State University, Fort Collins, CO
135
 
Tel. Office: (1) 970 491 5937
136
 
kim@cs.colostate.edu
137
 
Personal Homepage : http://www.roadtohome.com/
138
 
 
139
 
------=_Part_1422_26966204.1114622640387
140
 
Content-Type: application/octet-stream; name=LUDom_cloog
141
 
Content-Transfer-Encoding: 7bit
142
 
Content-Disposition: attachment; filename="LUDom_cloog"
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
205
 
Content-Type: application/octet-stream; name=OSP_cloog
206
 
Content-Transfer-Encoding: 7bit
207
 
Content-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
268
 
Content-Type: application/octet-stream; name=LUDom_OSP_cloog
269
 
Content-Transfer-Encoding: 7bit
270
 
Content-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
354
 
Content-Type: application/octet-stream; name=LUDom.type1.c
355
 
Content-Transfer-Encoding: 7bit
356
 
Content-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
 
 
369
 
int 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. */
394
 
for (I1=2;I1<=3*N1;I1++) {
395
 
  for (I2=max(ceild(I1-N1,2),1);I2<=min(N1,I1-1);I2++) {
396
 
    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=min(N1,I1-I2);I3++) {
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
413
 
Content-Type: application/octet-stream; name=LUDom.type2.c
414
 
Content-Transfer-Encoding: 7bit
415
 
Content-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
 
 
428
 
int 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. */
453
 
for (I1=2;I1<=3*N1;I1++) {
454
 
  for (I2=max(ceild(I1-N1,2),1);I2<=min(N1,I1-1);I2++) {
455
 
    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=min(N1,I1-I2);I3++) {
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
471
 
Content-Type: application/octet-stream; name=OSP.type1.c
472
 
Content-Transfer-Encoding: 7bit
473
 
Content-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
 
 
486
 
int 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. */
511
 
for (I1=0;I1<=2*N1-2;I1++) {
512
 
  for (I2=1;I2<=floord(-I1+2*N1,2);I2++) {
513
 
    for (I3=ceild(I1+2*I2,2);I3<=min(floord(2*I1+3*I2,3),N1);I3++) {
514
 
      J3 = -I1-2*(I2)+2*I3 ;
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
529
 
Content-Type: application/octet-stream; name=OSP.type2.c
530
 
Content-Transfer-Encoding: 7bit
531
 
Content-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
 
 
544
 
int 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. */
569
 
for (I1=0;I1<=2*N1-2;I1++) {
570
 
  for (I2=1;I2<=floord(-I1+2*N1,2);I2++) {
571
 
    for (I3=ceild(I1+2*I2,2);I3<=min(floord(2*I1+3*I2,3),N1);I3++) {
572
 
      J3 = -I1-2*(I2)+2*I3 ;
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
588
 
Content-Type: application/octet-stream; name=LUDom_OSP.type1.c
589
 
Content-Transfer-Encoding: 7bit
590
 
Content-Disposition: attachment; filename="LUDom_OSP.type1.c"
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
 
 
603
 
int 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. */
629
 
for (I1=0;I1<=1;I1++) {
630
 
  for (I2=1;I2<=floord(-I1+2*N1,2);I2++) {
631
 
    for (I3=ceild(I1+2*I2,2);I3<=min(floord(2*I1+3*I2,3),N1);I3++) {
632
 
      J3 = -I1-2*(I2)+2*I3 ;
633
 
      S2++;
634
 
    }
635
 
  }
636
 
}
637
 
for (I1=2;I1<=min(3,floord(2*N1,3));I1++) {
638
 
  for (I2=max(ceild(I1+1,4),1);I2<=I1-1;I2++) {
639
 
    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
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
 
}
655
 
if (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
 
}
682
 
if ((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
 
}
703
 
for (I1=max(2,ceild(2*N1+1,3));I1<=min(3,floord(2*N1+2,3));I1++) {
704
 
  for (I2=max(ceild(I1+1,4),1);I2<=I1-1;I2++) {
705
 
    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
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
 
}
715
 
if (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
 
}
754
 
if ((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
 
}
787
 
for (I1=ceild(2*N1+3,3);I1<=min(floord(4*N1-2,3),3);I1++) {
788
 
  for (I2=max(ceild(I1+1,4),I1-N1+1);I2<=floord(-I1+2*N1,2);I2++) {
789
 
    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
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
 
}
805
 
if ((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
 
}
832
 
if (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
 
}
915
 
if ((N1 <= 8) && (N1 >= 8)) {
916
 
  for (I3=4*1;I3<=floord(13*1-1,3);I3++) {
917
 
    J3 = -(6)-2*(I2)+2*I3 ;
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
 
}
992
 
if ((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
 
}
1003
 
if (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
 
}
1103
 
if ((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
 
}
1197
 
if ((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
 
}
1236
 
if (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
 
}
1262
 
if (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
 
}
1364
 
if ((N1 <= 11) && (N1 >= 11)) {
1365
 
  for (I3=ceild(8+2*1,2);I3<=8-2*(1)-1;I3++) {
1366
 
    J3 = -(8)-2*(I2)+2*I3 ;
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
 
}
1460
 
if ((N1 <= 7) && (N1 >= 6)) {
1461
 
  for (I3=4*1;I3<=floord(13*1-1,3);I3++) {
1462
 
    J3 = -(6)-2*(I2)+2*I3 ;
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
 
}
1543
 
if ((N1 <= 5) && (N1 >= 5)) {
1544
 
  for (I3=4*1;I3<=floord(13*1-1,3);I3++) {
1545
 
    J3 = -(6)-2*(I2)+2*I3 ;
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
 
}
1606
 
if ((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
 
}
1630
 
if ((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
 
}
1730
 
if (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
 
}
1808
 
if (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
 
}
1823
 
if (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
 
}
1952
 
if ((N1 <= 13) && (N1 >= 13)) {
1953
 
  for (I3=ceild(9+2*1,2);I3<=9-2*(1)-1;I3++) {
1954
 
    J3 = -(9)-2*(I2)+2*I3 ;
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
 
}
2075
 
if ((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
 
}
2086
 
for (I1=10;I1<=min(11,floord(2*N1,3));I1++) {
2087
 
  for (I2=1;I2<=floord(I1-1,9);I2++) {
2088
 
    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
2089
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
2230
 
if ((N1 <= 10) && (N1 >= 8)) {
2231
 
  for (I3=ceild(8+2*1,2);I3<=8-2*(1)-1;I3++) {
2232
 
    J3 = -(8)-2*(I2)+2*I3 ;
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
 
}
2332
 
if (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
 
}
2361
 
if (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
 
}
2375
 
if (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
 
}
2544
 
if ((N1 <= 17) && (N1 >= 17)) {
2545
 
  for (I3=ceild(12+2*1,2);I3<=min(12-2*(1)-1,floord(2*12+3*1,3));I3++) {
2546
 
    J3 = -(12)-2*(I2)+2*I3 ;
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
 
}
2707
 
for (I1=max(10,ceild(2*N1+1,3));I1<=min(11,floord(2*N1+2,3));I1++) {
2708
 
  for (I2=1;I2<=floord(I1-1,9);I2++) {
2709
 
    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
2710
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
2845
 
if ((N1 <= 12) && (N1 >= 9)) {
2846
 
  for (I3=ceild(9+2*1,2);I3<=9-2*(1)-1;I3++) {
2847
 
    J3 = -(9)-2*(I2)+2*I3 ;
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
 
}
2974
 
if (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
 
}
3073
 
for (I1=max(8,ceild(4*N1-13,2));I1<=floord(4*N1-4,3);I1++) {
3074
 
  for (I2=1;I2<=floord(I1-1,7);I2++) {
3075
 
    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
3076
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
3151
 
if (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
 
}
3349
 
if ((N1 <= 19) && (N1 >= 19)) {
3350
 
  for (I3=ceild(13+2*1,2);I3<=min(13-2*(1)-1,floord(2*13+3*1,3));I3++) {
3351
 
    J3 = -(13)-2*(I2)+2*I3 ;
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
 
}
3541
 
for (I1=max(10,ceild(2*N1+3,3));I1<=min(floord(6*N1-4,5),11);I1++) {
3542
 
  for (I2=1;I2<=floord(I1-1,9);I2++) {
3543
 
    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
3544
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
3685
 
if (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
 
}
3759
 
for (I1=max(8,ceild(4*N1-3,3));I1<=floord(6*N1,5);I1++) {
3760
 
  for (I2=1;I2<=floord(I1-1,7);I2++) {
3761
 
    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
3762
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
3817
 
if (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
 
}
3846
 
for (I1=14;I1<=min(19,floord(2*N1,3));I1++) {
3847
 
  for (I2=1;I2<=floord(I1-1,9);I2++) {
3848
 
    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
3849
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
4078
 
if ((N1 <= 16) && (N1 >= 11)) {
4079
 
  for (I3=ceild(12+2*1,2);I3<=min(12-2*(1)-1,floord(2*12+3*1,3));I3++) {
4080
 
    J3 = -(12)-2*(I2)+2*I3 ;
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
 
}
4247
 
for (I1=max(max(10,ceild(12*N1-39,7)),ceild(6*N1-3,5));I1<=floord(4*N1-5,3);I1++) {
4248
 
  for (I2=1;I2<=floord(I1-1,9);I2++) {
4249
 
    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
4250
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
4363
 
if ((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
 
}
4460
 
for (I1=max(N1+3,ceild(3*N1-1,2));I1<=floord(18*N1+5,13);I1++) {
4461
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
4462
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
4463
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
4486
 
for (I1=20;I1<=floord(2*N1,3);I1++) {
4487
 
  for (I2=1;I2<=floord(I1-1,9);I2++) {
4488
 
    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
4489
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
4750
 
for (I1=max(14,ceild(2*N1+1,3));I1<=min(19,floord(2*N1+2,3));I1++) {
4751
 
  for (I2=1;I2<=floord(I1-1,9);I2++) {
4752
 
    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
4753
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
4976
 
if ((N1 <= 18) && (N1 >= 12)) {
4977
 
  for (I3=ceild(13+2*1,2);I3<=min(13-2*(1)-1,floord(2*13+3*1,3));I3++) {
4978
 
    J3 = -(13)-2*(I2)+2*I3 ;
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
 
}
5174
 
if ((N1 >= 12) && (N1 <= 11)) {
5175
 
  for (I3=ceild(13+2*1,2);I3<=min(13-2*(1)-1,floord(2*13+3*1,3));I3++) {
5176
 
    J3 = -(13)-2*(I2)+2*I3 ;
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
 
}
5344
 
if (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
 
}
5480
 
if ((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
 
}
5573
 
if (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
 
}
5675
 
if (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
 
}
5791
 
for (I1=max(20,ceild(2*N1+1,3));I1<=floord(2*N1+2,3);I1++) {
5792
 
  for (I2=1;I2<=floord(I1-1,9);I2++) {
5793
 
    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
5794
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
6049
 
for (I1=max(14,ceild(2*N1+3,3));I1<=min(min(N1+2,19),floord(6*N1-4,5));I1++) {
6050
 
  for (I2=1;I2<=floord(I1-1,9);I2++) {
6051
 
    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
6052
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
6281
 
for (I1=max(10,ceild(6*N1+1,5));I1<=min(N1+2,floord(9*N1-3,7));I1++) {
6282
 
  for (I2=1;I2<=floord(I1-1,9);I2++) {
6283
 
    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
6284
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
6377
 
if (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
 
}
6548
 
if (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
 
}
6748
 
if ((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
 
}
6931
 
if (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
 
}
6988
 
for (I1=max(20,ceild(2*N1+3,3));I1<=N1+2;I1++) {
6989
 
  for (I2=1;I2<=floord(I1-1,9);I2++) {
6990
 
    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
6991
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
7252
 
for (I1=max(14,ceild(6*N1-3,5));I1<=N1+2;I1++) {
7253
 
  for (I2=1;I2<=floord(I1-1,9);I2++) {
7254
 
    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
7255
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
7456
 
for (I1=N1+3;I1<=floord(6*N1-4,5);I1++) {
7457
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
7458
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
7459
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
7726
 
if (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
 
}
7898
 
if (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
 
}
8026
 
if ((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
 
}
8181
 
if (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
 
}
8293
 
for (I1=max(max(N1+3,20),ceild(6*N1-3,5));I1<=floord(6*N1-1,5);I1++) {
8294
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
8295
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
8296
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
8535
 
if ((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
 
}
8685
 
if (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
 
}
8819
 
if ((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
 
}
8945
 
if (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
 
}
9162
 
for (I1=max(ceild(9*N1-1,7),ceild(6*N1+5,5));I1<=min(19,floord(4*N1-2,3));I1++) {
9163
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
9164
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
9165
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
9297
 
if (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
 
}
9544
 
if ((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
 
}
9759
 
if ((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
 
}
9910
 
for (I1=ceild(6*N1+2,5);I1<=min(floord(21*N1-10,17),floord(6*N1+4,5));I1++) {
9911
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
9912
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
9913
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
10178
 
if ((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
 
}
10321
 
for (I1=ceild(6*N1+5,5);I1<=floord(21*N1-10,17);I1++) {
10322
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
10323
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
10324
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
10614
 
for (I1=max(ceild(21*N1-9,17),ceild(6*N1+2,5));I1<=min(floord(21*N1-7,17),floord(6*N1+4,5));I1++) {
10615
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
10616
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
10617
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
10850
 
if (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
 
}
10937
 
if (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
 
}
10976
 
for (I1=max(ceild(21*N1-9,17),ceild(6*N1+5,5));I1<=floord(21*N1-7,17);I1++) {
10977
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
10978
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
10979
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
11237
 
for (I1=max(ceild(21*N1-6,17),ceild(6*N1+2,5));I1<=min(min(floord(21*N1-1,17),floord(6*N1+4,5)),floord(4*N1-6,3));I1++) {
11238
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
11239
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
11240
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
11447
 
for (I1=ceild(21*N1,17);I1<=min(floord(6*N1+4,5),floord(4*N1-6,3));I1++) {
11448
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
11449
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
11450
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
11679
 
if ((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
 
}
11885
 
for (I1=max(ceild(21*N1-6,17),ceild(6*N1+5,5));I1<=floord(21*N1-1,17);I1++) {
11886
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
11887
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
11888
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
12120
 
if ((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
 
}
12335
 
for (I1=max(ceild(21*N1,17),ceild(6*N1+5,5));I1<=floord(21*N1+2,17);I1++) {
12336
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
12337
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
12338
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
12592
 
for (I1=max(ceild(21*N1+3,17),ceild(6*N1+5,5));I1<=min(floord(9*N1-3,7),floord(4*N1-6,3));I1++) {
12593
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
12594
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
12595
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
12861
 
if ((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
 
}
13104
 
if (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
 
}
13364
 
if (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
 
}
13573
 
if (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
 
}
13757
 
for (I1=ceild(9*N1-1,7);I1<=floord(4*N1-6,3);I1++) {
13758
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
13759
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
13760
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
14000
 
if (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
 
}
14217
 
if (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
 
}
14406
 
for (I1=max(max(20,ceild(9*N1-1,7)),ceild(4*N1-3,3));I1<=floord(4*N1-2,3);I1++) {
14407
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
14408
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
14409
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
14569
 
if (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
 
}
14748
 
if (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
 
}
14919
 
if (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
 
}
15097
 
for (I1=ceild(4*N1+2,3);I1<=floord(18*N1-7,13);I1++) {
15098
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
15099
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
15100
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
15280
 
if (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
 
}
15442
 
if (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
 
}
15579
 
for (I1=max(ceild(18*N1-4,13),ceild(4*N1+2,3));I1<=min(floord(21*N1-8,15),floord(18*N1-1,13));I1++) {
15580
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
15581
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
15582
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
15685
 
for (I1=ceild(18*N1,13);I1<=min(floord(21*N1-8,15),floord(18*N1+1,13));I1++) {
15686
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
15687
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
15688
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
15787
 
if ((N1 >= 17) && (N1 <= 25)) {
15788
 
  if ((21*N1-7)%15 == 0) {
15789
 
    I1 = (21*N1-7)/15 ;
15790
 
    for (I2=1;I2<=floord(3*N1-11,15);I2++) {
15791
 
      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
15792
 
        J3 = -I1-2*(I2)+2*I3 ;
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
 
}
15871
 
for (I1=ceild(18*N1+2,13);I1<=min(floord(21*N1-8,15),floord(18*N1+5,13));I1++) {
15872
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
15873
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
15874
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
15977
 
if ((N1 <= 35) && (N1 >= 31)) {
15978
 
  if ((21*N1-7)%15 == 0) {
15979
 
    I1 = (21*N1-7)/15 ;
15980
 
    for (I2=1;I2<=floord(3*N1-11,15);I2++) {
15981
 
      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
15982
 
        J3 = -I1-2*(I2)+2*I3 ;
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
 
}
16057
 
if ((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
 
}
16119
 
for (I1=ceild(18*N1+6,13);I1<=min(floord(21*N1-8,15),floord(18*N1+7,13));I1++) {
16120
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
16121
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
16122
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
16233
 
if ((N1 <= 55) && (N1 >= 41)) {
16234
 
  if ((21*N1-7)%15 == 0) {
16235
 
    I1 = (21*N1-7)/15 ;
16236
 
    for (I2=1;I2<=floord(3*N1-11,15);I2++) {
16237
 
      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
16238
 
        J3 = -I1-2*(I2)+2*I3 ;
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
 
}
16317
 
if ((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
 
}
16375
 
if ((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
 
}
16420
 
for (I1=ceild(18*N1+8,13);I1<=floord(21*N1-8,15);I1++) {
16421
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
16422
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
16423
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
16546
 
if ((N1 >= 61) && (N1 <= 65)) {
16547
 
  if ((21*N1-7)%15 == 0) {
16548
 
    I1 = (21*N1-7)/15 ;
16549
 
    for (I2=1;I2<=floord(3*N1-11,15);I2++) {
16550
 
      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
16551
 
        J3 = -I1-2*(I2)+2*I3 ;
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
 
}
16638
 
if ((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
 
}
16700
 
if (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
 
}
16804
 
if ((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
 
}
16874
 
if ((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
 
}
16931
 
if ((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
 
}
16980
 
if ((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
 
}
17030
 
if ((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
 
}
17072
 
if (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
 
}
17154
 
if (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
 
}
17223
 
for (I1=max(ceild(7*N1+1,5),ceild(18*N1+6,13));I1<=min(floord(18*N1+7,13),floord(3*N1-2,2));I1++) {
17224
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
17225
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
17226
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
17257
 
if (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
 
}
17281
 
if (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
 
}
17343
 
for (I1=max(ceild(7*N1+1,5),ceild(18*N1+8,13));I1<=floord(3*N1-2,2);I1++) {
17344
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
17345
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
17346
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
17389
 
for (I1=max(max(N1+3,ceild(3*N1-1,2)),ceild(18*N1+6,13));I1<=floord(6*N1-1,4);I1++) {
17390
 
  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
17391
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
17392
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
17423
 
if (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
 
}
17448
 
for (I1=ceild(3*N1+1,2);I1<=2*N1-2;I1++) {
17449
 
  for (I2=1;I2<=floord(-I1+2*N1,2);I2++) {
17450
 
    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
17451
 
      J3 = -I1-2*(I2)+2*I3 ;
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
 
}
17462
 
for (I1=2*N1-1;I1<=3*N1;I1++) {
17463
 
  for (I2=max(ceild(I1-N1,2),1);I2<=N1;I2++) {
17464
 
    for (I3=max(max(I1-2*I2,ceild(I1-I2,2)),1);I3<=min(N1,I1-I2);I3++) {
17465
 
      J3 = I1-(I2)-(I3) ;
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
17482
 
Content-Type: application/octet-stream; name=LUDom_OSP.type2.c
17483
 
Content-Transfer-Encoding: 7bit
17484
 
Content-Disposition: attachment; filename="LUDom_OSP.type2.c"
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
 
 
17497
 
int 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. */
17523
 
for (I1=0;I1<=3*N1;I1++) {
17524
 
  for (I2=max(max(1,ceild(I1-2*N1+2,2)),I1-2*N1);I2<=N1;I2++) {
17525
 
    for (I3=max(max(I1-2*I2,ceild(I1-I2,2)),1);I3<=min(min(N1,floord(I1+2*I2-1,2)),I1-I2);I3++) {
17526
 
      J3 = I1-(I2)-(I3) ;
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