1X-UIDL: 38762.1114626251 2X-Mozilla-Status: 0003 3X-Mozilla-Status2: 00000000 4Received: from soleil.uvsq.fr (soleil.uvsq.fr [193.51.24.1]) 5 by relay-6m.club-internet.fr (Postfix) with ESMTP id DCFE125639 6 for <netced@club-internet.fr>; Wed, 27 Apr 2005 20:24:09 +0200 (CEST) 7Received: from torquenada.prism.uvsq.fr (torquenada.prism.uvsq.fr [193.51.25.9]) 8 by soleil.uvsq.fr (8.12.11/jtpda-5.4) with ESMTP id j3RIO8Nk002407 9 for <netced@club-internet.fr>; Wed, 27 Apr 2005 20:24:09 +0200 (CEST) 10Received: from soleil.uvsq.fr (root@soleil.uvsq.fr [193.51.24.1]) 11 by torquenada.prism.uvsq.fr (8.11.4/jtpda-5.3.2) with ESMTP id j3RIO7C02410 12 for <cedric.bastoul@prism.uvsq.fr>; Wed, 27 Apr 2005 20:24:08 +0200 (MEST) 13Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.205]) 14 by soleil.uvsq.fr (8.12.11/jtpda-5.4) with ESMTP id j3RIO6e7001164 15 for <cedric.bastoul@prism.uvsq.fr>; Wed, 27 Apr 2005 20:24:06 +0200 (CEST) 16Received: by wproxy.gmail.com with SMTP id 68so387084wri 17 for <cedric.bastoul@prism.uvsq.fr>; Wed, 27 Apr 2005 11:24:00 -0700 (PDT) 18DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; 19 s=beta; d=gmail.com; 20 h=received:message-id:date:from:reply-to:to:subject:cc:mime-version:content-type; 21 b=LoJNXKibxMTIYItkoT/Sqykpnxxkeik4zUmMeWoVeasUn+yIfBWhF0UkkR0kHBRIeOFOZ/As82OpJ6TQiYZxy/WwuxyQ2aameC9qouWqE6R/dFG1zSY5MilV5/9RLrfinOfdyAoCZ1XzM6VMGspBtK4l5NBZYpsFxJBnVJ5AeW0= 22Received: by 10.54.121.20 with SMTP id t20mr277933wrc; 23 Wed, 27 Apr 2005 10:24:00 -0700 (PDT) 24Received: by 10.54.5.57 with HTTP; Wed, 27 Apr 2005 10:24:00 -0700 (PDT) 25Message-ID: <fc5f19de05042710245f9acadd@mail.gmail.com> 26Date: Wed, 27 Apr 2005 11:24:00 -0600 27From: DaeGon Kim <daegonk@gmail.com> 28Reply-To: DaeGon Kim <daegonk@gmail.com> 29To: cedric.bastoul@prism.uvsq.fr 30Subject: Question about Cloog 31Cc: svr@cs.colostate.edu 32Mime-Version: 1.0 33Content-Type: multipart/mixed; 34 boundary="----=_Part_1422_26966204.1114622640387" 35X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-1.7.5 (soleil.uvsq.fr [193.51.24.1]); Wed, 27 Apr 2005 20:24:09 +0200 (CEST) 36X-Greylist: Delayed for 00:53:20 by milter-greylist-1.7.5 (soleil.uvsq.fr [193.51.24.1]); Wed, 27 Apr 2005 20:24:07 +0200 (CEST) 37X-Miltered: at soleil.uvsq.fr with ID 426FD8C9.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! 38X-Miltered: at soleil.uvsq.fr with ID 426FD8C6.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! 39X-Antivirus: scanned by sophie at soleil.uvsq.fr 40X-Antivirus: scanned by sophie at soleil.uvsq.fr 41Status: 42X-Mmail: \Recent 43X-M-Uid: 38762.1114626251 44 45------=_Part_1422_26966204.1114622640387 46Content-Type: text/plain; charset=ISO-8859-1 47Content-Transfer-Encoding: quoted-printable 48Content-Disposition: inline 49 50Hello Dr Cedric Bastoul, 51 52I am a graduate student in CSU working with Dr. Sanjay Rajopadhye. 53I am working on experiments on code generation software.=20 54A few days ago I wrote three cloog input files: LUDom_cloog, 55OSP_cloog, and LUDom_OSP_cloog. The last file is nothing but 56concatenation of two previous files. So it has two statements since 57each of the first two has one statement each. 58 59When I generated, I got something strange:=20 60 - The numbers of visited points are different between the first two 61and the last one. 62 - The numbers of visited points become different, if I use different 63options: default and "-f 3". 64 - Domains of all statements are 3-dimensional, but there are 65statements having only two indices inside one if block. I added 66generated code below. 67 68Also, I attached my three inputs and C programs in which generated 69code from cloog can be executed. type1 files contain generated code 70without any options and type2 files contains generated code with -f 3 71option. 72 73/* Generated from LUDom_OSP_cloog by CLooG v0.12.2 64 bits in 0.03s. */ 74for (I1=3D0;I1<=3D3*N1;I1++) { 75 for (I2=3Dmax(max(1,ceild(I1-2*N1+2,2)),I1-2*N1);I2<=3DN1;I2++) { 76 for (I3=3Dmax(max(I1-2*I2,ceild(I1-I2,2)),1);I3<=3Dmin(min(N1,floord(I1= 77+2*I2-1,2)),I1-I2);I3++) 78{ 79 J3 =3D I1-(I2)-(I3) ; 80 S1(J1 =3D I2,J2 =3D I3) ; 81 } 82 for (I3=3Dceild(I1+2*I2,2);I3<=3Dmin(min(N1,I1-2*I2-1),floord(2*I1+3*I2= 83,3));I3++) 84{ 85 J3 =3D -I1-2*(I2)+2*I3 ; 86 S2(J1 =3D I2,J2 =3D I3) ; 87 } 88 for (I3=3Dmax(I1-2*I2,ceild(I1+2*I2,2));I3<=3Dmin(N1,floord(2*I1+I2-1,3= 89));I3++) 90{ 91 J3 =3D -I1-2*(I2)+2*I3 ; 92 S2(J1 =3D I2,J2 =3D I3) ; 93 J3 =3D I1-(I2)-(I3) ; 94 S1(J1 =3D I2,J2 =3D I3) ; 95 } 96 if ((2*I1+I2)%3 =3D=3D 0) { 97 I3 =3D (2*I1+I2)/3 ; 98 J1 =3D -2*I1+3*I3 ; 99 if ((2*I1+J1)%3 =3D=3D 0) { 100 J2 =3D (2*I1+J1)/3 ; 101 J3 =3D 3*I1-4*J2 ; 102 S1 ; 103 S2 ; 104 } 105 } 106 for (I3=3Dmax(I1-2*I2,ceild(2*I1+I2+1,3));I3<=3Dmin(min(N1,floord(2*I1+= 1073*I2,3)),I1-I2);I3++) 108{ 109 J3 =3D I1-(I2)-(I3) ; 110 S1(J1 =3D I2,J2 =3D I3) ; 111 J3 =3D -I1-2*(I2)+2*I3 ; 112 S2(J1 =3D I2,J2 =3D I3) ; 113 } 114 for (I3=3Dmax(ceild(2*I1+3*I2+1,3),I1-2*I2);I3<=3Dmin(N1,I1-I2);I3++) { 115 J3 =3D I1-(I2)-(I3) ; 116 S1(J1 =3D I2,J2 =3D I3) ; 117 } 118 for (I3=3Dmax(ceild(I1+2*I2,2),I1-I2+1);I3<=3Dmin(floord(2*I1+3*I2,3),N= 1191);I3++) 120{ 121 J3 =3D -I1-2*(I2)+2*I3 ; 122 S2(J1 =3D I2,J2 =3D I3) ; 123 } 124 } 125} 126 127 128Thank you for reading. 129 130--=20 131DaeGon Kim 132 133Graduate Student, Computer Science Department, 134Colorado State University, Fort Collins, CO 135Tel. Office: (1) 970 491 5937 136kim@cs.colostate.edu 137Personal Homepage : http://www.roadtohome.com/ 138 139------=_Part_1422_26966204.1114622640387 140Content-Type: application/octet-stream; name=LUDom_cloog 141Content-Transfer-Encoding: 7bit 142Content-Disposition: attachment; filename="LUDom_cloog" 143 144############################################################################### 145# 146# Problem : LU Decomposition 147# Date : 2005. 4. 25 148# Author : DaeGon Kim 149# 150############################################################################### 151 152### Context ------------------------------------------------------------------- 153 c # language is c 154 155 1 # Context 156 1 3 # 1 lines and 3 coloumns 157 # N1 1 158 1 1 -2 # N > 1 159 160 1 # 1 - Specify the names of parameters 161 N1 # parameter names 162 163### ---------------------------------------------------------------------------- 164 165### Statements ----------------------------------------------------------------- 166 1 # number of statements 167 # first statement 168 1 169 7 6 170 # Eq/In J J K N1 Constants 171 1 1 0 0 0 -1 # 1 <= I 172 1 0 1 0 0 -1 # 1 <= J 173 1 0 0 1 0 0 # 0 <= K 174 1 -1 0 0 1 0 # I <= N1 175 1 0 -1 0 1 0 # J <= N1 176 1 1 0 -1 0 0 # K <= I 177 1 0 1 -1 0 0 # K <= J 178 0 0 0 179 180 1 # Iterators 181 J1 J2 J3 # iterator names 182 183### ---------------------------------------------------------------------------- 184 185 186### Scattering Functions ------------------------------------------------------- 187 188 1 # Number of scattering functions 189 190 3 9 191 # I1 I2 I3 I J K N1 1 192 0 1 0 0 -1 -1 -1 0 0 # I1 = I+J+K 193 0 0 1 0 -1 0 0 0 0 # I2 = I 194 0 0 0 1 0 -1 0 0 0 # I3 = J 195 196 197 1 # Specify scattering dimension names 198 I1 I2 I3 # Scattering dimension names 199 200### ---------------------------------------------------------------------------- 201 202 203 204------=_Part_1422_26966204.1114622640387 205Content-Type: application/octet-stream; name=OSP_cloog 206Content-Transfer-Encoding: 7bit 207Content-Disposition: attachment; filename="OSP_cloog" 208 209############################################################################### 210# 211# Problem : Optimal String Parentheses 212# Date : 2005. 4. 25 213# Author : DaeGon Kim 214# 215############################################################################### 216 217### Context ------------------------------------------------------------------- 218 c # language is c 219 1 # Context 220 1 3 # 1 lines and 3 coloumns 221 # N1 1 222 1 1 -2 223 224 1 # We want to set manually the parameter names 225 N1 # parameter names 226 227### ---------------------------------------------------------------------------- 228 229### Statements ----------------------------------------------------------------- 230 1 # number of statements 231 # first statement 232 1 233 6 6 234 # Eq/In I J K N1 Constants 235 1 1 0 0 0 -1 # 1 <= I 236 1 0 1 0 0 -1 # 1 <= J 237 1 0 0 1 0 0 # 0 <= K 238 1 0 -1 0 1 0 # J <= N1 239 1 -1 1 0 0 0 # I <= J 240 1 -1 1 -2 0 0 # 2K <= J-I 241 0 0 0 242 243 1 # Iterators 244 J1 J2 J3 # Iterators name 245 246### ---------------------------------------------------------------------------- 247 248 249### Scattering Functions ------------------------------------------------------- 250 251 1 # Number of scattering functions 252 253 3 9 254 # I1 I2 I3 I J K N1 1 255 0 1 0 0 2 -2 1 0 0 # I1 = -2I + 2J - K 256 0 0 1 0 -1 0 0 0 0 # I2 = I 257 0 0 0 1 0 -1 0 0 0 # I3 = J 258 259 260 1 # Specify scattering dimension names 261 I1 I2 I3 # Scattering dimension names 262 263### ---------------------------------------------------------------------------- 264 265 266 267------=_Part_1422_26966204.1114622640387 268Content-Type: application/octet-stream; name=LUDom_OSP_cloog 269Content-Transfer-Encoding: 7bit 270Content-Disposition: attachment; filename="LUDom_OSP_cloog" 271 272############################################################################### 273# 274# Problem : LU Decomposition + 275# Date : 2005. 4. 25 276# Author : DaeGon Kim 277# 278############################################################################### 279 280### Context ------------------------------------------------------------------- 281 c # language is c 282 283 1 # Context 284 1 3 # 1 lines and 3 coloumns 285 # N1 1 286 1 1 -2 # N > 1 287 288 1 # 1 - Specify the names of parameters 289 N1 # parameter names 290 291### ---------------------------------------------------------------------------- 292 293### Statements ----------------------------------------------------------------- 294 2 # number of statements 295 # first statement 296 1 297 7 6 298 # Eq/In J J K N1 Constants 299 1 1 0 0 0 -1 # 1 <= I 300 1 0 1 0 0 -1 # 1 <= J 301 1 0 0 1 0 0 # 0 <= K 302 1 -1 0 0 1 0 # I <= N1 303 1 0 -1 0 1 0 # J <= N1 304 1 1 0 -1 0 0 # K <= I 305 1 0 1 -1 0 0 # K <= J 306 0 0 0 307 308 # second statement 309 1 310 6 6 311 # Eq/In I J K N1 Constants 312 1 1 0 0 0 -1 # 1 <= I 313 1 0 1 0 0 -1 # 1 <= J 314 1 0 0 1 0 0 # 0 <= K 315 1 0 -1 0 1 0 # J <= N1 316 1 -1 1 0 0 0 # I <= J 317 1 -1 1 -2 0 0 # 2K <= J-I 318 0 0 0 319 320 1 # Iterators 321 J1 J2 J3 # Iterators name 322 323### ---------------------------------------------------------------------------- 324 325 326### Scattering Functions ------------------------------------------------------- 327 328 2 # Number of scattering functions 329 330 # First statement 331 3 9 332 # I1 I2 I3 I J K N1 1 333 0 1 0 0 -1 -1 -1 0 0 # I1 = I+J+K 334 0 0 1 0 -1 0 0 0 0 # I2 = I 335 0 0 0 1 0 -1 0 0 0 # I3 = J 336 337 # Second statement 338 3 9 339 # I1 I2 I3 I J K N1 1 340 0 1 0 0 2 -2 1 0 0 # I1 = -2I + 2J - K 341 0 0 1 0 -1 0 0 0 0 # I2 = I 342 0 0 0 1 0 -1 0 0 0 # I3 = J 343 344 345 1 # Specify scattering dimension names 346 I1 I2 I3 # Scattering dimension names 347 348### ---------------------------------------------------------------------------- 349 350 351 352 353------=_Part_1422_26966204.1114622640387 354Content-Type: application/octet-stream; name=LUDom.type1.c 355Content-Transfer-Encoding: 7bit 356Content-Disposition: attachment; filename="LUDom.type1.c" 357 358/* Author : DaeGon Kim 359 Date : Tue Apr 26 20:03:32 MDT 2005 */ 360 361#include <stdio.h> 362#include <stdlib.h> 363 364#define max(x,y) ((x)>(y) ? (x) : (y)) 365#define min(x,y) ((x)>(y) ? (y) : (x)) 366#define ceild(x,y) ((x)+1) / (y) 367#define floord(x,y) (x) / (y) 368 369int main(int argc, char **argv) { 370 371 /* parameters declaration */ 372 int N1 = 0; 373 374 /* statements declaration */ 375 int S1 = 0; 376 377 /* iterators declaration */ 378 int I1 = 0; 379 int J1 = 0; 380 int I2 = 0; 381 int J2 = 0; 382 int I3 = 0; 383 int J3 = 0; 384 385 /* check arguements and get values of parameters */ 386 if ( argc != 1 + 1) { 387 printf("The number of arguements for %s is 1\n", argv[0]); 388 exit(0); 389 } 390 391 N1 = atoi(argv[1]); 392 393/* Generated from ./INPUT/CLOOG/LUDom_cloog by CLooG v0.12.2 64 bits in 0.00s. */ 394for (I1=2;I1<=3*N1;I1++) { 395 for (I2=max(ceild(I1-N1,2),1);I2<=min(N1,I1-1);I2++) { 396 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=min(N1,I1-I2);I3++) { 397 J3 = I1-(I2)-(I3) ; 398 S1++; 399 } 400 } 401} 402 403 404 /* statements print */ 405 fprintf(stderr, "S1 : %d\n", S1); 406 407 408} 409 410 411 412------=_Part_1422_26966204.1114622640387 413Content-Type: application/octet-stream; name=LUDom.type2.c 414Content-Transfer-Encoding: 7bit 415Content-Disposition: attachment; filename="LUDom.type2.c" 416 417/* Author : DaeGon Kim 418 Date : Tue Apr 26 20:03:33 MDT 2005 */ 419 420#include <stdio.h> 421#include <stdlib.h> 422 423#define max(x,y) ((x)>(y) ? (x) : (y)) 424#define min(x,y) ((x)>(y) ? (y) : (x)) 425#define ceild(x,y) ((x)+1) / (y) 426#define floord(x,y) (x) / (y) 427 428int main(int argc, char **argv) { 429 430 /* parameters declaration */ 431 int N1 = 0; 432 433 /* statements declaration */ 434 int S1 = 0; 435 436 /* iterators declaration */ 437 int I1 = 0; 438 int J1 = 0; 439 int I2 = 0; 440 int J2 = 0; 441 int I3 = 0; 442 int J3 = 0; 443 444 /* check arguements and get values of parameters */ 445 if ( argc != 1 + 1) { 446 printf("The number of arguements for %s is 1\n", argv[0]); 447 exit(0); 448 } 449 450 N1 = atoi(argv[1]); 451 452/* Generated from ./INPUT/CLOOG/LUDom_cloog by CLooG v0.12.2 64 bits in 0.00s. */ 453for (I1=2;I1<=3*N1;I1++) { 454 for (I2=max(ceild(I1-N1,2),1);I2<=min(N1,I1-1);I2++) { 455 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=min(N1,I1-I2);I3++) { 456 J3 = I1-(I2)-(I3) ; 457 S1++; 458 } 459 } 460} 461 462 /* statements print */ 463 fprintf(stderr, "S1 : %d\n", S1); 464 465 466} 467 468 469 470------=_Part_1422_26966204.1114622640387 471Content-Type: application/octet-stream; name=OSP.type1.c 472Content-Transfer-Encoding: 7bit 473Content-Disposition: attachment; filename="OSP.type1.c" 474 475/* Author : DaeGon Kim 476 Date : Tue Apr 26 20:04:18 MDT 2005 */ 477 478#include <stdio.h> 479#include <stdlib.h> 480 481#define max(x,y) ((x)>(y) ? (x) : (y)) 482#define min(x,y) ((x)>(y) ? (y) : (x)) 483#define ceild(x,y) ((x)+1) / (y) 484#define floord(x,y) (x) / (y) 485 486int main(int argc, char **argv) { 487 488 /* parameters declaration */ 489 int N1 = 0; 490 491 /* statements declaration */ 492 int S1 = 0; 493 494 /* iterators declaration */ 495 int I1 = 0; 496 int J1 = 0; 497 int I2 = 0; 498 int J2 = 0; 499 int I3 = 0; 500 int J3 = 0; 501 502 /* check arguements and get values of parameters */ 503 if ( argc != 1 + 1) { 504 printf("The number of arguements for %s is 1\n", argv[0]); 505 exit(0); 506 } 507 508 N1 = atoi(argv[1]); 509 510/* Generated from ./INPUT/CLOOG/OSP_cloog by CLooG v0.12.2 64 bits in 0.00s. */ 511for (I1=0;I1<=2*N1-2;I1++) { 512 for (I2=1;I2<=floord(-I1+2*N1,2);I2++) { 513 for (I3=ceild(I1+2*I2,2);I3<=min(floord(2*I1+3*I2,3),N1);I3++) { 514 J3 = -I1-2*(I2)+2*I3 ; 515 S1++; 516 } 517 } 518} 519 520 521 /* statements print */ 522 fprintf(stderr, "S1 : %d\n", S1); 523 524} 525 526 527 528------=_Part_1422_26966204.1114622640387 529Content-Type: application/octet-stream; name=OSP.type2.c 530Content-Transfer-Encoding: 7bit 531Content-Disposition: attachment; filename="OSP.type2.c" 532 533/* Author : DaeGon Kim 534 Date : Tue Apr 26 20:04:19 MDT 2005 */ 535 536#include <stdio.h> 537#include <stdlib.h> 538 539#define max(x,y) ((x)>(y) ? (x) : (y)) 540#define min(x,y) ((x)>(y) ? (y) : (x)) 541#define ceild(x,y) ((x)+1) / (y) 542#define floord(x,y) (x) / (y) 543 544int main(int argc, char **argv) { 545 546 /* parameters declaration */ 547 int N1 = 0; 548 549 /* statements declaration */ 550 int S1 = 0; 551 552 /* iterators declaration */ 553 int I1 = 0; 554 int J1 = 0; 555 int I2 = 0; 556 int J2 = 0; 557 int I3 = 0; 558 int J3 = 0; 559 560 /* check arguements and get values of parameters */ 561 if ( argc != 1 + 1) { 562 printf("The number of arguements for %s is 1\n", argv[0]); 563 exit(0); 564 } 565 566 N1 = atoi(argv[1]); 567 568/* Generated from ./INPUT/CLOOG/OSP_cloog by CLooG v0.12.2 64 bits in 0.00s. */ 569for (I1=0;I1<=2*N1-2;I1++) { 570 for (I2=1;I2<=floord(-I1+2*N1,2);I2++) { 571 for (I3=ceild(I1+2*I2,2);I3<=min(floord(2*I1+3*I2,3),N1);I3++) { 572 J3 = -I1-2*(I2)+2*I3 ; 573 S1++; 574 } 575 } 576} 577 578 579 /* statements print */ 580 fprintf(stderr, "S1 : %d\n", S1); 581 582 583} 584 585 586 587------=_Part_1422_26966204.1114622640387 588Content-Type: application/octet-stream; name=LUDom_OSP.type1.c 589Content-Transfer-Encoding: 7bit 590Content-Disposition: attachment; filename="LUDom_OSP.type1.c" 591 592/* Author : DaeGon Kim 593 Date : Tue Apr 26 20:28:05 MDT 2005 */ 594 595#include <stdio.h> 596#include <stdlib.h> 597 598#define max(x,y) ((x)>(y) ? (x) : (y)) 599#define min(x,y) ((x)>(y) ? (y) : (x)) 600#define ceild(x,y) ((x)+1) / (y) 601#define floord(x,y) (x) / (y) 602 603int main(int argc, char **argv) { 604 605 /* parameters declaration */ 606 int N1 = 0; 607 608 /* statements declaration */ 609 int S1 = 0; 610 int S2 = 0; 611 612 /* iterators declaration */ 613 int I1 = 0; 614 int J1 = 0; 615 int I2 = 0; 616 int J2 = 0; 617 int I3 = 0; 618 int J3 = 0; 619 620 /* check arguements and get values of parameters */ 621 if ( argc != 1 + 1) { 622 printf("The number of arguements for %s is 1\n", argv[0]); 623 exit(0); 624 } 625 626 N1 = atoi(argv[1]); 627 628/* Generated from ./INPUT/CLOOG/LUDom_OSP_cloog by CLooG v0.12.2 64 bits in 0.76s. */ 629for (I1=0;I1<=1;I1++) { 630 for (I2=1;I2<=floord(-I1+2*N1,2);I2++) { 631 for (I3=ceild(I1+2*I2,2);I3<=min(floord(2*I1+3*I2,3),N1);I3++) { 632 J3 = -I1-2*(I2)+2*I3 ; 633 S2++; 634 } 635 } 636} 637for (I1=2;I1<=min(3,floord(2*N1,3));I1++) { 638 for (I2=max(ceild(I1+1,4),1);I2<=I1-1;I2++) { 639 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 640 J3 = I1-(I2)-(I3) ; 641 S1++; 642 } 643 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 644 J3 = -I1-2*(I2)+2*I3 ; 645 S2++; 646 } 647 } 648 for (I2=I1;I2<=floord(-I1+2*N1,2);I2++) { 649 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 650 J3 = -I1-2*(I2)+2*I3 ; 651 S2++; 652 } 653 } 654} 655if (N1 >= 6) { 656 J3 = 4-(I2)-(I3) ; 657 S1++; 658 J1 = -2*(4)+3*3 ; 659 if ((2*4+J1)%3 == 0) { 660 J2 = (2*4+J1)/3 ; 661 J3 = 3*4-4*J2 ; 662 S1++; 663 S2++; 664 } 665 for (I2=2;I2<=3;I2++) { 666 for (I3=max(max(1,ceild(4-I2,2)),4-2*I2);I3<=4-I2;I3++) { 667 J3 = 4-(I2)-(I3) ; 668 S1++; 669 } 670 for (I3=max(4-I2+1,ceild(4+2*I2,2));I3<=min(N1,floord(2*4+3*I2,3));I3++) { 671 J3 = -(4)-2*(I2)+2*I3 ; 672 S2++; 673 } 674 } 675 for (I2=4;I2<=N1-2;I2++) { 676 for (I3=ceild(4+2*I2,2);I3<=min(N1,floord(2*4+3*I2,3));I3++) { 677 J3 = -(4)-2*(I2)+2*I3 ; 678 S2++; 679 } 680 } 681} 682if ((N1 <= 5) && (N1 >= 5)) { 683 J3 = 4-(I2)-(I3) ; 684 S1++; 685 J1 = -2*(4)+3*3 ; 686 if ((2*4+J1)%3 == 0) { 687 J2 = (2*4+J1)/3 ; 688 J3 = 3*4-4*J2 ; 689 S1++; 690 S2++; 691 } 692 for (I2=2;I2<=3;I2++) { 693 for (I3=max(max(1,ceild(4-I2,2)),4-2*I2);I3<=4-I2;I3++) { 694 J3 = 4-(I2)-(I3) ; 695 S1++; 696 } 697 for (I3=max(4-I2+1,ceild(4+2*I2,2));I3<=min(N1,floord(2*4+3*I2,3));I3++) { 698 J3 = -(4)-2*(I2)+2*I3 ; 699 S2++; 700 } 701 } 702} 703for (I1=max(2,ceild(2*N1+1,3));I1<=min(3,floord(2*N1+2,3));I1++) { 704 for (I2=max(ceild(I1+1,4),1);I2<=I1-1;I2++) { 705 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 706 J3 = I1-(I2)-(I3) ; 707 S1++; 708 } 709 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 710 J3 = -I1-2*(I2)+2*I3 ; 711 S2++; 712 } 713 } 714} 715if (N1 >= 8) { 716 for (I3=2*1+1;I3<=3*1;I3++) { 717 J3 = 5-(I2)-(I3) ; 718 S1++; 719 } 720 if ((9*5-1)%12 == 0) { 721 I3 = (9*5-1)/12 ; 722 J1 = -2*(5)+3*I3 ; 723 if ((2*5+J1)%3 == 0) { 724 J2 = (2*5+J1)/3 ; 725 J3 = 3*5-4*J2 ; 726 S1++; 727 S2++; 728 } 729 } 730 if ((3*5+1)%4 == 0) { 731 I3 = (3*5+1)/4 ; 732 J3 = 5-(I2)-(I3) ; 733 S1++; 734 J3 = -(5)-2*(I2)+2*I3 ; 735 S2++; 736 } 737 for (I2=2;I2<=4;I2++) { 738 for (I3=max(max(1,ceild(5-I2,2)),5-2*I2);I3<=5-I2;I3++) { 739 J3 = 5-(I2)-(I3) ; 740 S1++; 741 } 742 for (I3=max(5-I2+1,ceild(5+2*I2,2));I3<=min(N1,floord(2*5+3*I2,3));I3++) { 743 J3 = -(5)-2*(I2)+2*I3 ; 744 S2++; 745 } 746 } 747 for (I2=5;I2<=floord(2*N1-5,2);I2++) { 748 for (I3=ceild(5+2*I2,2);I3<=min(N1,floord(2*5+3*I2,3));I3++) { 749 J3 = -(5)-2*(I2)+2*I3 ; 750 S2++; 751 } 752 } 753} 754if ((N1 <= 7) && (N1 >= 7)) { 755 for (I3=2*1+1;I3<=3*1;I3++) { 756 J3 = 5-(I2)-(I3) ; 757 S1++; 758 } 759 if ((9*5-1)%12 == 0) { 760 I3 = (9*5-1)/12 ; 761 J1 = -2*(5)+3*I3 ; 762 if ((2*5+J1)%3 == 0) { 763 J2 = (2*5+J1)/3 ; 764 J3 = 3*5-4*J2 ; 765 S1++; 766 S2++; 767 } 768 } 769 if ((3*5+1)%4 == 0) { 770 I3 = (3*5+1)/4 ; 771 J3 = 5-(I2)-(I3) ; 772 S1++; 773 J3 = -(5)-2*(I2)+2*I3 ; 774 S2++; 775 } 776 for (I2=2;I2<=4;I2++) { 777 for (I3=max(max(1,ceild(5-I2,2)),5-2*I2);I3<=5-I2;I3++) { 778 J3 = 5-(I2)-(I3) ; 779 S1++; 780 } 781 for (I3=max(5-I2+1,ceild(5+2*I2,2));I3<=min(N1,floord(2*5+3*I2,3));I3++) { 782 J3 = -(5)-2*(I2)+2*I3 ; 783 S2++; 784 } 785 } 786} 787for (I1=ceild(2*N1+3,3);I1<=min(floord(4*N1-2,3),3);I1++) { 788 for (I2=max(ceild(I1+1,4),I1-N1+1);I2<=floord(-I1+2*N1,2);I2++) { 789 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 790 J3 = I1-(I2)-(I3) ; 791 S1++; 792 } 793 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 794 J3 = -I1-2*(I2)+2*I3 ; 795 S2++; 796 } 797 } 798 for (I2=ceild(-I1+2*N1+1,2);I2<=I1-1;I2++) { 799 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 800 J3 = I1-(I2)-(I3) ; 801 S1++; 802 } 803 } 804} 805if ((N1 <= 4) && (N1 >= 4)) { 806 J3 = 4-(I2)-(I3) ; 807 S1++; 808 J1 = -2*(4)+3*3 ; 809 if ((2*4+J1)%3 == 0) { 810 J2 = (2*4+J1)/3 ; 811 J3 = 3*4-4*J2 ; 812 S1++; 813 S2++; 814 } 815 for (I2=max(2,-N1+5);I2<=N1-2;I2++) { 816 for (I3=max(max(1,ceild(4-I2,2)),4-2*I2);I3<=4-I2;I3++) { 817 J3 = 4-(I2)-(I3) ; 818 S1++; 819 } 820 for (I3=max(4-I2+1,ceild(4+2*I2,2));I3<=min(N1,floord(2*4+3*I2,3));I3++) { 821 J3 = -(4)-2*(I2)+2*I3 ; 822 S2++; 823 } 824 } 825 for (I2=ceild(2*N1-3,2);I2<=3;I2++) { 826 for (I3=max(max(ceild(4-I2,2),4-2*I2),1);I3<=min(4-I2,N1);I3++) { 827 J3 = 4-(I2)-(I3) ; 828 S1++; 829 } 830 } 831} 832if (N1 >= 9) { 833 for (I3=4*1;I3<=floord(13*1-1,3);I3++) { 834 J3 = -(6)-2*(I2)+2*I3 ; 835 S2++; 836 J3 = 6-(I2)-(I3) ; 837 S1++; 838 } 839 if (13*6%18 == 0) { 840 I3 = 13*6/18 ; 841 J1 = -2*(6)+3*I3 ; 842 if ((2*6+J1)%3 == 0) { 843 J2 = (2*6+J1)/3 ; 844 J3 = 3*6-4*J2 ; 845 S1++; 846 S2++; 847 } 848 } 849 for (I3=ceild(13*1+1,3);I3<=min(N1,5*1);I3++) { 850 J3 = 6-(I2)-(I3) ; 851 S1++; 852 J3 = -(6)-2*(I2)+2*I3 ; 853 S2++; 854 } 855 if (5%4 == 0) { 856 for (I3=2*5/4+1;I3<=3*5/4;I3++) { 857 J3 = 6-(I2)-(I3) ; 858 S1++; 859 } 860 if ((9*6-1)%12 == 0) { 861 I3 = (9*6-1)/12 ; 862 J1 = -2*(6)+3*I3 ; 863 if ((2*6+J1)%3 == 0) { 864 J2 = (2*6+J1)/3 ; 865 J3 = 3*6-4*J2 ; 866 S1++; 867 S2++; 868 } 869 } 870 if ((3*6+1)%4 == 0) { 871 I3 = (3*6+1)/4 ; 872 J3 = 6-(I2)-(I3) ; 873 S1++; 874 J3 = -(6)-2*(I2)+2*I3 ; 875 S2++; 876 } 877 } 878 if (3%2 == 0) { 879 for (I3=2*3/2;I3<=floord(6*3/2-1,2);I3++) { 880 J3 = 6-(I2)-(I3) ; 881 S1++; 882 } 883 if (3*6%4 == 0) { 884 I3 = 3*6/4 ; 885 J1 = -2*(6)+3*I3 ; 886 if ((2*6+J1)%3 == 0) { 887 J2 = (2*6+J1)/3 ; 888 J3 = 3*6-4*J2 ; 889 S1++; 890 S2++; 891 } 892 } 893 for (I3=3*3/2+1;I3<=min(N1,floord(11*3/2,3));I3++) { 894 J3 = -(6)-2*(I2)+2*I3 ; 895 S2++; 896 } 897 } 898 for (I2=2;I2<=5;I2++) { 899 for (I3=max(max(1,ceild(6-I2,2)),6-2*I2);I3<=6-I2;I3++) { 900 J3 = 6-(I2)-(I3) ; 901 S1++; 902 } 903 for (I3=max(6-I2+1,ceild(6+2*I2,2));I3<=min(N1,floord(2*6+3*I2,3));I3++) { 904 J3 = -(6)-2*(I2)+2*I3 ; 905 S2++; 906 } 907 } 908 for (I2=6;I2<=N1-3;I2++) { 909 for (I3=ceild(6+2*I2,2);I3<=min(N1,floord(2*6+3*I2,3));I3++) { 910 J3 = -(6)-2*(I2)+2*I3 ; 911 S2++; 912 } 913 } 914} 915if ((N1 <= 8) && (N1 >= 8)) { 916 for (I3=4*1;I3<=floord(13*1-1,3);I3++) { 917 J3 = -(6)-2*(I2)+2*I3 ; 918 S2++; 919 J3 = 6-(I2)-(I3) ; 920 S1++; 921 } 922 if (13*6%18 == 0) { 923 I3 = 13*6/18 ; 924 J1 = -2*(6)+3*I3 ; 925 if ((2*6+J1)%3 == 0) { 926 J2 = (2*6+J1)/3 ; 927 J3 = 3*6-4*J2 ; 928 S1++; 929 S2++; 930 } 931 } 932 for (I3=ceild(13*1+1,3);I3<=min(N1,5*1);I3++) { 933 J3 = 6-(I2)-(I3) ; 934 S1++; 935 J3 = -(6)-2*(I2)+2*I3 ; 936 S2++; 937 } 938 if (5%4 == 0) { 939 for (I3=2*5/4+1;I3<=3*5/4;I3++) { 940 J3 = 6-(I2)-(I3) ; 941 S1++; 942 } 943 if ((9*6-1)%12 == 0) { 944 I3 = (9*6-1)/12 ; 945 J1 = -2*(6)+3*I3 ; 946 if ((2*6+J1)%3 == 0) { 947 J2 = (2*6+J1)/3 ; 948 J3 = 3*6-4*J2 ; 949 S1++; 950 S2++; 951 } 952 } 953 if ((3*6+1)%4 == 0) { 954 I3 = (3*6+1)/4 ; 955 J3 = 6-(I2)-(I3) ; 956 S1++; 957 J3 = -(6)-2*(I2)+2*I3 ; 958 S2++; 959 } 960 } 961 if (3%2 == 0) { 962 for (I3=2*3/2;I3<=floord(6*3/2-1,2);I3++) { 963 J3 = 6-(I2)-(I3) ; 964 S1++; 965 } 966 if (3*6%4 == 0) { 967 I3 = 3*6/4 ; 968 J1 = -2*(6)+3*I3 ; 969 if ((2*6+J1)%3 == 0) { 970 J2 = (2*6+J1)/3 ; 971 J3 = 3*6-4*J2 ; 972 S1++; 973 S2++; 974 } 975 } 976 for (I3=3*3/2+1;I3<=min(N1,floord(11*3/2,3));I3++) { 977 J3 = -(6)-2*(I2)+2*I3 ; 978 S2++; 979 } 980 } 981 for (I2=2;I2<=5;I2++) { 982 for (I3=max(max(1,ceild(6-I2,2)),6-2*I2);I3<=6-I2;I3++) { 983 J3 = 6-(I2)-(I3) ; 984 S1++; 985 } 986 for (I3=max(6-I2+1,ceild(6+2*I2,2));I3<=min(N1,floord(2*6+3*I2,3));I3++) { 987 J3 = -(6)-2*(I2)+2*I3 ; 988 S2++; 989 } 990 } 991} 992if ((N1 <= 3) && (N1 >= 3)) { 993 if ((4*N1-1)%3 == 0) { 994 I1 = (4*N1-1)/3 ; 995 for (I2=ceild(N1+2,3);I2<=floord(4*N1-4,3);I2++) { 996 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 997 J3 = I1-(I2)-(I3) ; 998 S1++; 999 } 1000 } 1001 } 1002} 1003if (N1 >= 11) { 1004 J1 = -2*(7)+3*5 ; 1005 if ((2*7+J1)%3 == 0) { 1006 J2 = (2*7+J1)/3 ; 1007 J3 = 3*7-4*J2 ; 1008 S1++; 1009 S2++; 1010 } 1011 for (I3=6;I3<=5;I3++) { 1012 J3 = 7-(I2)-(I3) ; 1013 S1++; 1014 J3 = -(7)-2*(I2)+2*I3 ; 1015 S2++; 1016 } 1017 J3 = 7-(I2)-(I3) ; 1018 S1++; 1019 if (7%6 == 0) { 1020 for (I3=4*7/6;I3<=floord(13*7/6-1,3);I3++) { 1021 J3 = -(7)-2*(I2)+2*I3 ; 1022 S2++; 1023 J3 = 7-(I2)-(I3) ; 1024 S1++; 1025 } 1026 if (13*7%18 == 0) { 1027 I3 = 13*7/18 ; 1028 J1 = -2*(7)+3*I3 ; 1029 if ((2*7+J1)%3 == 0) { 1030 J2 = (2*7+J1)/3 ; 1031 J3 = 3*7-4*J2 ; 1032 S1++; 1033 S2++; 1034 } 1035 } 1036 for (I3=ceild(13*7/6+1,3);I3<=min(N1,5*7/6);I3++) { 1037 J3 = 7-(I2)-(I3) ; 1038 S1++; 1039 J3 = -(7)-2*(I2)+2*I3 ; 1040 S2++; 1041 } 1042 } 1043 if (3%2 == 0) { 1044 for (I3=2*3/2+1;I3<=3*3/2;I3++) { 1045 J3 = 7-(I2)-(I3) ; 1046 S1++; 1047 } 1048 if ((9*7-1)%12 == 0) { 1049 I3 = (9*7-1)/12 ; 1050 J1 = -2*(7)+3*I3 ; 1051 if ((2*7+J1)%3 == 0) { 1052 J2 = (2*7+J1)/3 ; 1053 J3 = 3*7-4*J2 ; 1054 S1++; 1055 S2++; 1056 } 1057 } 1058 if ((3*7+1)%4 == 0) { 1059 I3 = (3*7+1)/4 ; 1060 J3 = 7-(I2)-(I3) ; 1061 S1++; 1062 J3 = -(7)-2*(I2)+2*I3 ; 1063 S2++; 1064 } 1065 } 1066 if (7%4 == 0) { 1067 for (I3=2*7/4;I3<=floord(6*7/4-1,2);I3++) { 1068 J3 = 7-(I2)-(I3) ; 1069 S1++; 1070 } 1071 if (3*7%4 == 0) { 1072 I3 = 3*7/4 ; 1073 J1 = -2*(7)+3*I3 ; 1074 if ((2*7+J1)%3 == 0) { 1075 J2 = (2*7+J1)/3 ; 1076 J3 = 3*7-4*J2 ; 1077 S1++; 1078 S2++; 1079 } 1080 } 1081 for (I3=3*7/4+1;I3<=min(N1,floord(11*7/4,3));I3++) { 1082 J3 = -(7)-2*(I2)+2*I3 ; 1083 S2++; 1084 } 1085 } 1086 for (I2=2;I2<=6;I2++) { 1087 for (I3=max(max(1,ceild(7-I2,2)),7-2*I2);I3<=7-I2;I3++) { 1088 J3 = 7-(I2)-(I3) ; 1089 S1++; 1090 } 1091 for (I3=max(7-I2+1,ceild(7+2*I2,2));I3<=min(N1,floord(2*7+3*I2,3));I3++) { 1092 J3 = -(7)-2*(I2)+2*I3 ; 1093 S2++; 1094 } 1095 } 1096 for (I2=7;I2<=floord(2*N1-7,2);I2++) { 1097 for (I3=ceild(7+2*I2,2);I3<=min(N1,floord(2*7+3*I2,3));I3++) { 1098 J3 = -(7)-2*(I2)+2*I3 ; 1099 S2++; 1100 } 1101 } 1102} 1103if ((N1 <= 10) && (N1 >= 10)) { 1104 J1 = -2*(7)+3*5 ; 1105 if ((2*7+J1)%3 == 0) { 1106 J2 = (2*7+J1)/3 ; 1107 J3 = 3*7-4*J2 ; 1108 S1++; 1109 S2++; 1110 } 1111 for (I3=6;I3<=5;I3++) { 1112 J3 = 7-(I2)-(I3) ; 1113 S1++; 1114 J3 = -(7)-2*(I2)+2*I3 ; 1115 S2++; 1116 } 1117 J3 = 7-(I2)-(I3) ; 1118 S1++; 1119 if (7%6 == 0) { 1120 for (I3=4*7/6;I3<=floord(13*7/6-1,3);I3++) { 1121 J3 = -(7)-2*(I2)+2*I3 ; 1122 S2++; 1123 J3 = 7-(I2)-(I3) ; 1124 S1++; 1125 } 1126 if (13*7%18 == 0) { 1127 I3 = 13*7/18 ; 1128 J1 = -2*(7)+3*I3 ; 1129 if ((2*7+J1)%3 == 0) { 1130 J2 = (2*7+J1)/3 ; 1131 J3 = 3*7-4*J2 ; 1132 S1++; 1133 S2++; 1134 } 1135 } 1136 for (I3=ceild(13*7/6+1,3);I3<=min(N1,5*7/6);I3++) { 1137 J3 = 7-(I2)-(I3) ; 1138 S1++; 1139 J3 = -(7)-2*(I2)+2*I3 ; 1140 S2++; 1141 } 1142 } 1143 if (3%2 == 0) { 1144 for (I3=2*3/2+1;I3<=3*3/2;I3++) { 1145 J3 = 7-(I2)-(I3) ; 1146 S1++; 1147 } 1148 if ((9*7-1)%12 == 0) { 1149 I3 = (9*7-1)/12 ; 1150 J1 = -2*(7)+3*I3 ; 1151 if ((2*7+J1)%3 == 0) { 1152 J2 = (2*7+J1)/3 ; 1153 J3 = 3*7-4*J2 ; 1154 S1++; 1155 S2++; 1156 } 1157 } 1158 if ((3*7+1)%4 == 0) { 1159 I3 = (3*7+1)/4 ; 1160 J3 = 7-(I2)-(I3) ; 1161 S1++; 1162 J3 = -(7)-2*(I2)+2*I3 ; 1163 S2++; 1164 } 1165 } 1166 if (7%4 == 0) { 1167 for (I3=2*7/4;I3<=floord(6*7/4-1,2);I3++) { 1168 J3 = 7-(I2)-(I3) ; 1169 S1++; 1170 } 1171 if (3*7%4 == 0) { 1172 I3 = 3*7/4 ; 1173 J1 = -2*(7)+3*I3 ; 1174 if ((2*7+J1)%3 == 0) { 1175 J2 = (2*7+J1)/3 ; 1176 J3 = 3*7-4*J2 ; 1177 S1++; 1178 S2++; 1179 } 1180 } 1181 for (I3=3*7/4+1;I3<=min(N1,floord(11*7/4,3));I3++) { 1182 J3 = -(7)-2*(I2)+2*I3 ; 1183 S2++; 1184 } 1185 } 1186 for (I2=2;I2<=6;I2++) { 1187 for (I3=max(max(1,ceild(7-I2,2)),7-2*I2);I3<=7-I2;I3++) { 1188 J3 = 7-(I2)-(I3) ; 1189 S1++; 1190 } 1191 for (I3=max(7-I2+1,ceild(7+2*I2,2));I3<=min(N1,floord(2*7+3*I2,3));I3++) { 1192 J3 = -(7)-2*(I2)+2*I3 ; 1193 S2++; 1194 } 1195 } 1196} 1197if ((N1 <= 6) && (N1 >= 5)) { 1198 for (I3=2*1+1;I3<=3*1;I3++) { 1199 J3 = 5-(I2)-(I3) ; 1200 S1++; 1201 } 1202 if ((9*5-1)%12 == 0) { 1203 I3 = (9*5-1)/12 ; 1204 J1 = -2*(5)+3*I3 ; 1205 if ((2*5+J1)%3 == 0) { 1206 J2 = (2*5+J1)/3 ; 1207 J3 = 3*5-4*J2 ; 1208 S1++; 1209 S2++; 1210 } 1211 } 1212 if ((3*5+1)%4 == 0) { 1213 I3 = (3*5+1)/4 ; 1214 J3 = 5-(I2)-(I3) ; 1215 S1++; 1216 J3 = -(5)-2*(I2)+2*I3 ; 1217 S2++; 1218 } 1219 for (I2=max(2,-N1+6);I2<=floord(2*N1-5,2);I2++) { 1220 for (I3=max(max(1,ceild(5-I2,2)),5-2*I2);I3<=5-I2;I3++) { 1221 J3 = 5-(I2)-(I3) ; 1222 S1++; 1223 } 1224 for (I3=max(5-I2+1,ceild(5+2*I2,2));I3<=min(N1,floord(2*5+3*I2,3));I3++) { 1225 J3 = -(5)-2*(I2)+2*I3 ; 1226 S2++; 1227 } 1228 } 1229 for (I2=N1-2;I2<=4;I2++) { 1230 for (I3=max(max(ceild(5-I2,2),5-2*I2),1);I3<=min(5-I2,N1);I3++) { 1231 J3 = 5-(I2)-(I3) ; 1232 S1++; 1233 } 1234 } 1235} 1236if (N1 == 4) { 1237 for (I3=ceild(2*N1+1,3);I3<=N1-1;I3++) { 1238 J3 = 5-(I2)-(I3) ; 1239 S1++; 1240 } 1241 if (-1%3 == 0) { 1242 I3 = (3*N1-1)/3 ; 1243 J1 = -2*(5)+3*I3 ; 1244 if ((2*5+J1)%3 == 0) { 1245 J2 = (2*5+J1)/3 ; 1246 J3 = 3*5-4*J2 ; 1247 S1++; 1248 S2++; 1249 } 1250 } 1251 J3 = 5-(I2)-(I3) ; 1252 S1++; 1253 J3 = -(5)-2*(I2)+2*I3 ; 1254 S2++; 1255 for (I2=2;I2<=4;I2++) { 1256 for (I3=max(max(ceild(5-I2,2),5-2*I2),1);I3<=min(5-I2,N1);I3++) { 1257 J3 = 5-(I2)-(I3) ; 1258 S1++; 1259 } 1260 } 1261} 1262if (N1 >= 12) { 1263 for (I3=ceild(8+2*1,2);I3<=8-2*(1)-1;I3++) { 1264 J3 = -(8)-2*(I2)+2*I3 ; 1265 S2++; 1266 } 1267 for (I3=8-2*(1);I3<=floord(2*8+3*1,3);I3++) { 1268 J3 = 8-(I2)-(I3) ; 1269 S1++; 1270 J3 = -(8)-2*(I2)+2*I3 ; 1271 S2++; 1272 } 1273 for (I3=ceild(2*8+3*1+1,3);I3<=min(N1,8-(1));I3++) { 1274 J3 = 8-(I2)-(I3) ; 1275 S1++; 1276 } 1277 if (4%3 == 0) { 1278 for (I3=4*4/3;I3<=floord(13*4/3-1,3);I3++) { 1279 J3 = -(8)-2*(I2)+2*I3 ; 1280 S2++; 1281 J3 = 8-(I2)-(I3) ; 1282 S1++; 1283 } 1284 if (13*8%18 == 0) { 1285 I3 = 13*8/18 ; 1286 J1 = -2*(8)+3*I3 ; 1287 if ((2*8+J1)%3 == 0) { 1288 J2 = (2*8+J1)/3 ; 1289 J3 = 3*8-4*J2 ; 1290 S1++; 1291 S2++; 1292 } 1293 } 1294 for (I3=ceild(13*4/3+1,3);I3<=min(N1,5*4/3);I3++) { 1295 J3 = 8-(I2)-(I3) ; 1296 S1++; 1297 J3 = -(8)-2*(I2)+2*I3 ; 1298 S2++; 1299 } 1300 } 1301 if (3%2 == 0) { 1302 for (I3=8-2*(3/2);I3<=floord(8+2*3/2-1,2);I3++) { 1303 J3 = 8-(I2)-(I3) ; 1304 S1++; 1305 } 1306 for (I3=ceild(8+2*3/2,2);I3<=floord(2*8+3/2-1,3);I3++) { 1307 J3 = -(8)-2*(I2)+2*I3 ; 1308 S2++; 1309 J3 = 8-(I2)-(I3) ; 1310 S1++; 1311 } 1312 if ((2*8+3/2)%3 == 0) { 1313 I3 = (2*8+3/2)/3 ; 1314 J1 = -2*(8)+3*I3 ; 1315 if ((2*8+J1)%3 == 0) { 1316 J2 = (2*8+J1)/3 ; 1317 J3 = 3*8-4*J2 ; 1318 S1++; 1319 S2++; 1320 } 1321 } 1322 for (I3=ceild(2*8+3/2+1,3);I3<=8-(3/2);I3++) { 1323 J3 = 8-(I2)-(I3) ; 1324 S1++; 1325 J3 = -(8)-2*(I2)+2*I3 ; 1326 S2++; 1327 } 1328 } 1329 for (I3=2*2;I3<=floord(6*2-1,2);I3++) { 1330 J3 = 8-(I2)-(I3) ; 1331 S1++; 1332 } 1333 if (3*8%4 == 0) { 1334 I3 = 3*8/4 ; 1335 J1 = -2*(8)+3*I3 ; 1336 if ((2*8+J1)%3 == 0) { 1337 J2 = (2*8+J1)/3 ; 1338 J3 = 3*8-4*J2 ; 1339 S1++; 1340 S2++; 1341 } 1342 } 1343 for (I3=3*2+1;I3<=min(N1,floord(11*2,3));I3++) { 1344 J3 = -(8)-2*(I2)+2*I3 ; 1345 S2++; 1346 } 1347 for (I2=3;I2<=7;I2++) { 1348 for (I3=max(max(1,ceild(8-I2,2)),8-2*I2);I3<=8-I2;I3++) { 1349 J3 = 8-(I2)-(I3) ; 1350 S1++; 1351 } 1352 for (I3=max(8-I2+1,ceild(8+2*I2,2));I3<=min(N1,floord(2*8+3*I2,3));I3++) { 1353 J3 = -(8)-2*(I2)+2*I3 ; 1354 S2++; 1355 } 1356 } 1357 for (I2=8;I2<=N1-4;I2++) { 1358 for (I3=ceild(8+2*I2,2);I3<=min(N1,floord(2*8+3*I2,3));I3++) { 1359 J3 = -(8)-2*(I2)+2*I3 ; 1360 S2++; 1361 } 1362 } 1363} 1364if ((N1 <= 11) && (N1 >= 11)) { 1365 for (I3=ceild(8+2*1,2);I3<=8-2*(1)-1;I3++) { 1366 J3 = -(8)-2*(I2)+2*I3 ; 1367 S2++; 1368 } 1369 for (I3=8-2*(1);I3<=floord(2*8+3*1,3);I3++) { 1370 J3 = 8-(I2)-(I3) ; 1371 S1++; 1372 J3 = -(8)-2*(I2)+2*I3 ; 1373 S2++; 1374 } 1375 for (I3=ceild(2*8+3*1+1,3);I3<=min(N1,8-(1));I3++) { 1376 J3 = 8-(I2)-(I3) ; 1377 S1++; 1378 } 1379 if (4%3 == 0) { 1380 for (I3=4*4/3;I3<=floord(13*4/3-1,3);I3++) { 1381 J3 = -(8)-2*(I2)+2*I3 ; 1382 S2++; 1383 J3 = 8-(I2)-(I3) ; 1384 S1++; 1385 } 1386 if (13*8%18 == 0) { 1387 I3 = 13*8/18 ; 1388 J1 = -2*(8)+3*I3 ; 1389 if ((2*8+J1)%3 == 0) { 1390 J2 = (2*8+J1)/3 ; 1391 J3 = 3*8-4*J2 ; 1392 S1++; 1393 S2++; 1394 } 1395 } 1396 for (I3=ceild(13*4/3+1,3);I3<=min(N1,5*4/3);I3++) { 1397 J3 = 8-(I2)-(I3) ; 1398 S1++; 1399 J3 = -(8)-2*(I2)+2*I3 ; 1400 S2++; 1401 } 1402 } 1403 if (3%2 == 0) { 1404 for (I3=8-2*(3/2);I3<=floord(8+2*3/2-1,2);I3++) { 1405 J3 = 8-(I2)-(I3) ; 1406 S1++; 1407 } 1408 for (I3=ceild(8+2*3/2,2);I3<=floord(2*8+3/2-1,3);I3++) { 1409 J3 = -(8)-2*(I2)+2*I3 ; 1410 S2++; 1411 J3 = 8-(I2)-(I3) ; 1412 S1++; 1413 } 1414 if ((2*8+3/2)%3 == 0) { 1415 I3 = (2*8+3/2)/3 ; 1416 J1 = -2*(8)+3*I3 ; 1417 if ((2*8+J1)%3 == 0) { 1418 J2 = (2*8+J1)/3 ; 1419 J3 = 3*8-4*J2 ; 1420 S1++; 1421 S2++; 1422 } 1423 } 1424 for (I3=ceild(2*8+3/2+1,3);I3<=8-(3/2);I3++) { 1425 J3 = 8-(I2)-(I3) ; 1426 S1++; 1427 J3 = -(8)-2*(I2)+2*I3 ; 1428 S2++; 1429 } 1430 } 1431 for (I3=2*2;I3<=floord(6*2-1,2);I3++) { 1432 J3 = 8-(I2)-(I3) ; 1433 S1++; 1434 } 1435 if (3*8%4 == 0) { 1436 I3 = 3*8/4 ; 1437 J1 = -2*(8)+3*I3 ; 1438 if ((2*8+J1)%3 == 0) { 1439 J2 = (2*8+J1)/3 ; 1440 J3 = 3*8-4*J2 ; 1441 S1++; 1442 S2++; 1443 } 1444 } 1445 for (I3=3*2+1;I3<=min(N1,floord(11*2,3));I3++) { 1446 J3 = -(8)-2*(I2)+2*I3 ; 1447 S2++; 1448 } 1449 for (I2=3;I2<=7;I2++) { 1450 for (I3=max(max(1,ceild(8-I2,2)),8-2*I2);I3<=8-I2;I3++) { 1451 J3 = 8-(I2)-(I3) ; 1452 S1++; 1453 } 1454 for (I3=max(8-I2+1,ceild(8+2*I2,2));I3<=min(N1,floord(2*8+3*I2,3));I3++) { 1455 J3 = -(8)-2*(I2)+2*I3 ; 1456 S2++; 1457 } 1458 } 1459} 1460if ((N1 <= 7) && (N1 >= 6)) { 1461 for (I3=4*1;I3<=floord(13*1-1,3);I3++) { 1462 J3 = -(6)-2*(I2)+2*I3 ; 1463 S2++; 1464 J3 = 6-(I2)-(I3) ; 1465 S1++; 1466 } 1467 if (13*6%18 == 0) { 1468 I3 = 13*6/18 ; 1469 J1 = -2*(6)+3*I3 ; 1470 if ((2*6+J1)%3 == 0) { 1471 J2 = (2*6+J1)/3 ; 1472 J3 = 3*6-4*J2 ; 1473 S1++; 1474 S2++; 1475 } 1476 } 1477 for (I3=ceild(13*1+1,3);I3<=min(N1,5*1);I3++) { 1478 J3 = 6-(I2)-(I3) ; 1479 S1++; 1480 J3 = -(6)-2*(I2)+2*I3 ; 1481 S2++; 1482 } 1483 if (5%4 == 0) { 1484 for (I3=2*5/4+1;I3<=3*5/4;I3++) { 1485 J3 = 6-(I2)-(I3) ; 1486 S1++; 1487 } 1488 if ((9*6-1)%12 == 0) { 1489 I3 = (9*6-1)/12 ; 1490 J1 = -2*(6)+3*I3 ; 1491 if ((2*6+J1)%3 == 0) { 1492 J2 = (2*6+J1)/3 ; 1493 J3 = 3*6-4*J2 ; 1494 S1++; 1495 S2++; 1496 } 1497 } 1498 if ((3*6+1)%4 == 0) { 1499 I3 = (3*6+1)/4 ; 1500 J3 = 6-(I2)-(I3) ; 1501 S1++; 1502 J3 = -(6)-2*(I2)+2*I3 ; 1503 S2++; 1504 } 1505 } 1506 if (3%2 == 0) { 1507 for (I3=2*3/2;I3<=floord(6*3/2-1,2);I3++) { 1508 J3 = 6-(I2)-(I3) ; 1509 S1++; 1510 } 1511 if (3*6%4 == 0) { 1512 I3 = 3*6/4 ; 1513 J1 = -2*(6)+3*I3 ; 1514 if ((2*6+J1)%3 == 0) { 1515 J2 = (2*6+J1)/3 ; 1516 J3 = 3*6-4*J2 ; 1517 S1++; 1518 S2++; 1519 } 1520 } 1521 for (I3=3*3/2+1;I3<=min(N1,floord(11*3/2,3));I3++) { 1522 J3 = -(6)-2*(I2)+2*I3 ; 1523 S2++; 1524 } 1525 } 1526 for (I2=2;I2<=N1-3;I2++) { 1527 for (I3=max(max(1,ceild(6-I2,2)),6-2*I2);I3<=6-I2;I3++) { 1528 J3 = 6-(I2)-(I3) ; 1529 S1++; 1530 } 1531 for (I3=max(6-I2+1,ceild(6+2*I2,2));I3<=min(N1,floord(2*6+3*I2,3));I3++) { 1532 J3 = -(6)-2*(I2)+2*I3 ; 1533 S2++; 1534 } 1535 } 1536 for (I2=ceild(2*N1-5,2);I2<=5;I2++) { 1537 for (I3=max(max(ceild(6-I2,2),6-2*I2),1);I3<=min(6-I2,N1);I3++) { 1538 J3 = 6-(I2)-(I3) ; 1539 S1++; 1540 } 1541 } 1542} 1543if ((N1 <= 5) && (N1 >= 5)) { 1544 for (I3=4*1;I3<=floord(13*1-1,3);I3++) { 1545 J3 = -(6)-2*(I2)+2*I3 ; 1546 S2++; 1547 J3 = 6-(I2)-(I3) ; 1548 S1++; 1549 } 1550 if (13*6%18 == 0) { 1551 I3 = 13*6/18 ; 1552 J1 = -2*(6)+3*I3 ; 1553 if ((2*6+J1)%3 == 0) { 1554 J2 = (2*6+J1)/3 ; 1555 J3 = 3*6-4*J2 ; 1556 S1++; 1557 S2++; 1558 } 1559 } 1560 for (I3=ceild(13*1+1,3);I3<=min(N1,5*1);I3++) { 1561 J3 = 6-(I2)-(I3) ; 1562 S1++; 1563 J3 = -(6)-2*(I2)+2*I3 ; 1564 S2++; 1565 } 1566 if (5%4 == 0) { 1567 for (I3=2*5/4+1;I3<=3*5/4;I3++) { 1568 J3 = 6-(I2)-(I3) ; 1569 S1++; 1570 } 1571 if ((9*6-1)%12 == 0) { 1572 I3 = (9*6-1)/12 ; 1573 J1 = -2*(6)+3*I3 ; 1574 if ((2*6+J1)%3 == 0) { 1575 J2 = (2*6+J1)/3 ; 1576 J3 = 3*6-4*J2 ; 1577 S1++; 1578 S2++; 1579 } 1580 } 1581 if ((3*6+1)%4 == 0) { 1582 I3 = (3*6+1)/4 ; 1583 J3 = 6-(I2)-(I3) ; 1584 S1++; 1585 J3 = -(6)-2*(I2)+2*I3 ; 1586 S2++; 1587 } 1588 } 1589 for (I2=-N1+7;I2<=N1-3;I2++) { 1590 for (I3=max(max(1,ceild(6-I2,2)),6-2*I2);I3<=6-I2;I3++) { 1591 J3 = 6-(I2)-(I3) ; 1592 S1++; 1593 } 1594 for (I3=max(6-I2+1,ceild(6+2*I2,2));I3<=min(N1,floord(2*6+3*I2,3));I3++) { 1595 J3 = -(6)-2*(I2)+2*I3 ; 1596 S2++; 1597 } 1598 } 1599 for (I2=ceild(2*N1-5,2);I2<=5;I2++) { 1600 for (I3=max(max(ceild(6-I2,2),6-2*I2),1);I3<=min(6-I2,N1);I3++) { 1601 J3 = 6-(I2)-(I3) ; 1602 S1++; 1603 } 1604 } 1605} 1606if ((N1 <= 4) && (N1 >= 3)) { 1607 if (4*N1%3 == 0) { 1608 I1 = 4*N1/3 ; 1609 if (N1%3 == 0) { 1610 for (I3=ceild(2*N1,3);I3<=floord(2*N1-1,2);I3++) { 1611 J3 = I1-(I2)-(I3) ; 1612 S1++; 1613 } 1614 J1 = -2*I1+3*N1 ; 1615 if ((2*I1+J1)%3 == 0) { 1616 J2 = (2*I1+J1)/3 ; 1617 J3 = 3*I1-4*J2 ; 1618 S1++; 1619 S2++; 1620 } 1621 } 1622 for (I2=ceild(2*N1+3,6);I2<=N1;I2++) { 1623 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 1624 J3 = I1-(I2)-(I3) ; 1625 S1++; 1626 } 1627 } 1628 } 1629} 1630if ((N1 <= 9) && (N1 >= 7)) { 1631 J1 = -2*(7)+3*5 ; 1632 if ((2*7+J1)%3 == 0) { 1633 J2 = (2*7+J1)/3 ; 1634 J3 = 3*7-4*J2 ; 1635 S1++; 1636 S2++; 1637 } 1638 for (I3=6;I3<=5;I3++) { 1639 J3 = 7-(I2)-(I3) ; 1640 S1++; 1641 J3 = -(7)-2*(I2)+2*I3 ; 1642 S2++; 1643 } 1644 J3 = 7-(I2)-(I3) ; 1645 S1++; 1646 if (7%6 == 0) { 1647 for (I3=4*7/6;I3<=floord(13*7/6-1,3);I3++) { 1648 J3 = -(7)-2*(I2)+2*I3 ; 1649 S2++; 1650 J3 = 7-(I2)-(I3) ; 1651 S1++; 1652 } 1653 if (13*7%18 == 0) { 1654 I3 = 13*7/18 ; 1655 J1 = -2*(7)+3*I3 ; 1656 if ((2*7+J1)%3 == 0) { 1657 J2 = (2*7+J1)/3 ; 1658 J3 = 3*7-4*J2 ; 1659 S1++; 1660 S2++; 1661 } 1662 } 1663 for (I3=ceild(13*7/6+1,3);I3<=min(N1,5*7/6);I3++) { 1664 J3 = 7-(I2)-(I3) ; 1665 S1++; 1666 J3 = -(7)-2*(I2)+2*I3 ; 1667 S2++; 1668 } 1669 } 1670 if (3%2 == 0) { 1671 for (I3=2*3/2+1;I3<=3*3/2;I3++) { 1672 J3 = 7-(I2)-(I3) ; 1673 S1++; 1674 } 1675 if ((9*7-1)%12 == 0) { 1676 I3 = (9*7-1)/12 ; 1677 J1 = -2*(7)+3*I3 ; 1678 if ((2*7+J1)%3 == 0) { 1679 J2 = (2*7+J1)/3 ; 1680 J3 = 3*7-4*J2 ; 1681 S1++; 1682 S2++; 1683 } 1684 } 1685 if ((3*7+1)%4 == 0) { 1686 I3 = (3*7+1)/4 ; 1687 J3 = 7-(I2)-(I3) ; 1688 S1++; 1689 J3 = -(7)-2*(I2)+2*I3 ; 1690 S2++; 1691 } 1692 } 1693 if (7%4 == 0) { 1694 for (I3=2*7/4;I3<=floord(6*7/4-1,2);I3++) { 1695 J3 = 7-(I2)-(I3) ; 1696 S1++; 1697 } 1698 if (3*7%4 == 0) { 1699 I3 = 3*7/4 ; 1700 J1 = -2*(7)+3*I3 ; 1701 if ((2*7+J1)%3 == 0) { 1702 J2 = (2*7+J1)/3 ; 1703 J3 = 3*7-4*J2 ; 1704 S1++; 1705 S2++; 1706 } 1707 } 1708 for (I3=3*7/4+1;I3<=min(N1,floord(11*7/4,3));I3++) { 1709 J3 = -(7)-2*(I2)+2*I3 ; 1710 S2++; 1711 } 1712 } 1713 for (I2=2;I2<=floord(2*N1-7,2);I2++) { 1714 for (I3=max(max(1,ceild(7-I2,2)),7-2*I2);I3<=7-I2;I3++) { 1715 J3 = 7-(I2)-(I3) ; 1716 S1++; 1717 } 1718 for (I3=max(7-I2+1,ceild(7+2*I2,2));I3<=min(N1,floord(2*7+3*I2,3));I3++) { 1719 J3 = -(7)-2*(I2)+2*I3 ; 1720 S2++; 1721 } 1722 } 1723 for (I2=N1-3;I2<=6;I2++) { 1724 for (I3=max(max(ceild(7-I2,2),7-2*I2),1);I3<=min(7-I2,N1);I3++) { 1725 J3 = 7-(I2)-(I3) ; 1726 S1++; 1727 } 1728 } 1729} 1730if (N1 == 6) { 1731 J1 = -2*(7)+3*5 ; 1732 if ((2*7+J1)%3 == 0) { 1733 J2 = (2*7+J1)/3 ; 1734 J3 = 3*7-4*J2 ; 1735 S1++; 1736 S2++; 1737 } 1738 for (I3=6;I3<=5;I3++) { 1739 J3 = 7-(I2)-(I3) ; 1740 S1++; 1741 J3 = -(7)-2*(I2)+2*I3 ; 1742 S2++; 1743 } 1744 J3 = 7-(I2)-(I3) ; 1745 S1++; 1746 if (7%6 == 0) { 1747 for (I3=4*7/6;I3<=floord(13*7/6-1,3);I3++) { 1748 J3 = -(7)-2*(I2)+2*I3 ; 1749 S2++; 1750 J3 = 7-(I2)-(I3) ; 1751 S1++; 1752 } 1753 if (13*7%18 == 0) { 1754 I3 = 13*7/18 ; 1755 J1 = -2*(7)+3*I3 ; 1756 if ((2*7+J1)%3 == 0) { 1757 J2 = (2*7+J1)/3 ; 1758 J3 = 3*7-4*J2 ; 1759 S1++; 1760 S2++; 1761 } 1762 } 1763 for (I3=ceild(13*7/6+1,3);I3<=min(N1,5*7/6);I3++) { 1764 J3 = 7-(I2)-(I3) ; 1765 S1++; 1766 J3 = -(7)-2*(I2)+2*I3 ; 1767 S2++; 1768 } 1769 } 1770 if (3%2 == 0) { 1771 for (I3=2*3/2+1;I3<=3*3/2;I3++) { 1772 J3 = 7-(I2)-(I3) ; 1773 S1++; 1774 } 1775 if ((9*7-1)%12 == 0) { 1776 I3 = (9*7-1)/12 ; 1777 J1 = -2*(7)+3*I3 ; 1778 if ((2*7+J1)%3 == 0) { 1779 J2 = (2*7+J1)/3 ; 1780 J3 = 3*7-4*J2 ; 1781 S1++; 1782 S2++; 1783 } 1784 } 1785 if ((3*7+1)%4 == 0) { 1786 I3 = (3*7+1)/4 ; 1787 J3 = 7-(I2)-(I3) ; 1788 S1++; 1789 J3 = -(7)-2*(I2)+2*I3 ; 1790 S2++; 1791 } 1792 } 1793 for (I3=max(max(1,ceild(7-(2),2)),7-2*(2));I3<=7-(2);I3++) { 1794 J3 = 7-(I2)-(I3) ; 1795 S1++; 1796 } 1797 for (I3=max(7-(2)+1,ceild(7+2*2,2));I3<=min(N1,floord(2*7+3*2,3));I3++) { 1798 J3 = -(7)-2*(I2)+2*I3 ; 1799 S2++; 1800 } 1801 for (I2=3;I2<=6;I2++) { 1802 for (I3=max(max(ceild(7-I2,2),7-2*I2),1);I3<=min(7-I2,N1);I3++) { 1803 J3 = 7-(I2)-(I3) ; 1804 S1++; 1805 } 1806 } 1807} 1808if (N1 == 5) { 1809 J1 = -2*(7)+3*5 ; 1810 if ((2*7+J1)%3 == 0) { 1811 J2 = (2*7+J1)/3 ; 1812 J3 = 3*7-4*J2 ; 1813 S1++; 1814 S2++; 1815 } 1816 for (I2=2;I2<=5;I2++) { 1817 for (I3=max(max(ceild(7-I2,2),7-2*I2),1);I3<=min(7-I2,N1);I3++) { 1818 J3 = 7-(I2)-(I3) ; 1819 S1++; 1820 } 1821 } 1822} 1823if (N1 >= 14) { 1824 for (I3=ceild(9+2*1,2);I3<=9-2*(1)-1;I3++) { 1825 J3 = -(9)-2*(I2)+2*I3 ; 1826 S2++; 1827 } 1828 for (I3=9-2*(1);I3<=floord(2*9+3*1,3);I3++) { 1829 J3 = 9-(I2)-(I3) ; 1830 S1++; 1831 J3 = -(9)-2*(I2)+2*I3 ; 1832 S2++; 1833 } 1834 for (I3=ceild(2*9+3*1+1,3);I3<=min(N1,9-(1));I3++) { 1835 J3 = 9-(I2)-(I3) ; 1836 S1++; 1837 } 1838 if (3%2 == 0) { 1839 for (I3=4*3/2;I3<=floord(13*3/2-1,3);I3++) { 1840 J3 = -(9)-2*(I2)+2*I3 ; 1841 S2++; 1842 J3 = 9-(I2)-(I3) ; 1843 S1++; 1844 } 1845 if (13*9%18 == 0) { 1846 I3 = 13*9/18 ; 1847 J1 = -2*(9)+3*I3 ; 1848 if ((2*9+J1)%3 == 0) { 1849 J2 = (2*9+J1)/3 ; 1850 J3 = 3*9-4*J2 ; 1851 S1++; 1852 S2++; 1853 } 1854 } 1855 for (I3=ceild(13*3/2+1,3);I3<=min(N1,5*3/2);I3++) { 1856 J3 = 9-(I2)-(I3) ; 1857 S1++; 1858 J3 = -(9)-2*(I2)+2*I3 ; 1859 S2++; 1860 } 1861 } 1862 for (I2=2;I2<=1;I2++) { 1863 for (I3=9-2*I2;I3<=floord(9+2*I2-1,2);I3++) { 1864 J3 = 9-(I2)-(I3) ; 1865 S1++; 1866 } 1867 for (I3=ceild(9+2*I2,2);I3<=floord(2*9+I2-1,3);I3++) { 1868 J3 = -(9)-2*(I2)+2*I3 ; 1869 S2++; 1870 J3 = 9-(I2)-(I3) ; 1871 S1++; 1872 } 1873 if ((2*9+I2)%3 == 0) { 1874 I3 = (2*9+I2)/3 ; 1875 J1 = -2*(9)+3*I3 ; 1876 if ((2*9+J1)%3 == 0) { 1877 J2 = (2*9+J1)/3 ; 1878 J3 = 3*9-4*J2 ; 1879 S1++; 1880 S2++; 1881 } 1882 } 1883 for (I3=ceild(2*9+I2+1,3);I3<=9-I2;I3++) { 1884 J3 = 9-(I2)-(I3) ; 1885 S1++; 1886 J3 = -(9)-2*(I2)+2*I3 ; 1887 S2++; 1888 } 1889 } 1890 for (I3=2*2+1;I3<=3*2;I3++) { 1891 J3 = 9-(I2)-(I3) ; 1892 S1++; 1893 } 1894 if ((9*9-1)%12 == 0) { 1895 I3 = (9*9-1)/12 ; 1896 J1 = -2*(9)+3*I3 ; 1897 if ((2*9+J1)%3 == 0) { 1898 J2 = (2*9+J1)/3 ; 1899 J3 = 3*9-4*J2 ; 1900 S1++; 1901 S2++; 1902 } 1903 } 1904 if ((3*9+1)%4 == 0) { 1905 I3 = (3*9+1)/4 ; 1906 J3 = 9-(I2)-(I3) ; 1907 S1++; 1908 J3 = -(9)-2*(I2)+2*I3 ; 1909 S2++; 1910 } 1911 for (I3=3*2+2;I3<=min(N1,floord(11*2+2,3));I3++) { 1912 J3 = -(9)-2*(I2)+2*I3 ; 1913 S2++; 1914 } 1915 if (9%4 == 0) { 1916 for (I3=2*9/4;I3<=floord(6*9/4-1,2);I3++) { 1917 J3 = 9-(I2)-(I3) ; 1918 S1++; 1919 } 1920 if (3*9%4 == 0) { 1921 I3 = 3*9/4 ; 1922 J1 = -2*(9)+3*I3 ; 1923 if ((2*9+J1)%3 == 0) { 1924 J2 = (2*9+J1)/3 ; 1925 J3 = 3*9-4*J2 ; 1926 S1++; 1927 S2++; 1928 } 1929 } 1930 for (I3=3*9/4+1;I3<=min(N1,floord(11*9/4,3));I3++) { 1931 J3 = -(9)-2*(I2)+2*I3 ; 1932 S2++; 1933 } 1934 } 1935 for (I2=3;I2<=8;I2++) { 1936 for (I3=max(max(1,ceild(9-I2,2)),9-2*I2);I3<=9-I2;I3++) { 1937 J3 = 9-(I2)-(I3) ; 1938 S1++; 1939 } 1940 for (I3=max(9-I2+1,ceild(9+2*I2,2));I3<=min(N1,floord(2*9+3*I2,3));I3++) { 1941 J3 = -(9)-2*(I2)+2*I3 ; 1942 S2++; 1943 } 1944 } 1945 for (I2=9;I2<=floord(2*N1-9,2);I2++) { 1946 for (I3=ceild(9+2*I2,2);I3<=min(N1,floord(2*9+3*I2,3));I3++) { 1947 J3 = -(9)-2*(I2)+2*I3 ; 1948 S2++; 1949 } 1950 } 1951} 1952if ((N1 <= 13) && (N1 >= 13)) { 1953 for (I3=ceild(9+2*1,2);I3<=9-2*(1)-1;I3++) { 1954 J3 = -(9)-2*(I2)+2*I3 ; 1955 S2++; 1956 } 1957 for (I3=9-2*(1);I3<=floord(2*9+3*1,3);I3++) { 1958 J3 = 9-(I2)-(I3) ; 1959 S1++; 1960 J3 = -(9)-2*(I2)+2*I3 ; 1961 S2++; 1962 } 1963 for (I3=ceild(2*9+3*1+1,3);I3<=min(N1,9-(1));I3++) { 1964 J3 = 9-(I2)-(I3) ; 1965 S1++; 1966 } 1967 if (3%2 == 0) { 1968 for (I3=4*3/2;I3<=floord(13*3/2-1,3);I3++) { 1969 J3 = -(9)-2*(I2)+2*I3 ; 1970 S2++; 1971 J3 = 9-(I2)-(I3) ; 1972 S1++; 1973 } 1974 if (13*9%18 == 0) { 1975 I3 = 13*9/18 ; 1976 J1 = -2*(9)+3*I3 ; 1977 if ((2*9+J1)%3 == 0) { 1978 J2 = (2*9+J1)/3 ; 1979 J3 = 3*9-4*J2 ; 1980 S1++; 1981 S2++; 1982 } 1983 } 1984 for (I3=ceild(13*3/2+1,3);I3<=min(N1,5*3/2);I3++) { 1985 J3 = 9-(I2)-(I3) ; 1986 S1++; 1987 J3 = -(9)-2*(I2)+2*I3 ; 1988 S2++; 1989 } 1990 } 1991 for (I2=2;I2<=1;I2++) { 1992 for (I3=9-2*I2;I3<=floord(9+2*I2-1,2);I3++) { 1993 J3 = 9-(I2)-(I3) ; 1994 S1++; 1995 } 1996 for (I3=ceild(9+2*I2,2);I3<=floord(2*9+I2-1,3);I3++) { 1997 J3 = -(9)-2*(I2)+2*I3 ; 1998 S2++; 1999 J3 = 9-(I2)-(I3) ; 2000 S1++; 2001 } 2002 if ((2*9+I2)%3 == 0) { 2003 I3 = (2*9+I2)/3 ; 2004 J1 = -2*(9)+3*I3 ; 2005 if ((2*9+J1)%3 == 0) { 2006 J2 = (2*9+J1)/3 ; 2007 J3 = 3*9-4*J2 ; 2008 S1++; 2009 S2++; 2010 } 2011 } 2012 for (I3=ceild(2*9+I2+1,3);I3<=9-I2;I3++) { 2013 J3 = 9-(I2)-(I3) ; 2014 S1++; 2015 J3 = -(9)-2*(I2)+2*I3 ; 2016 S2++; 2017 } 2018 } 2019 for (I3=2*2+1;I3<=3*2;I3++) { 2020 J3 = 9-(I2)-(I3) ; 2021 S1++; 2022 } 2023 if ((9*9-1)%12 == 0) { 2024 I3 = (9*9-1)/12 ; 2025 J1 = -2*(9)+3*I3 ; 2026 if ((2*9+J1)%3 == 0) { 2027 J2 = (2*9+J1)/3 ; 2028 J3 = 3*9-4*J2 ; 2029 S1++; 2030 S2++; 2031 } 2032 } 2033 if ((3*9+1)%4 == 0) { 2034 I3 = (3*9+1)/4 ; 2035 J3 = 9-(I2)-(I3) ; 2036 S1++; 2037 J3 = -(9)-2*(I2)+2*I3 ; 2038 S2++; 2039 } 2040 for (I3=3*2+2;I3<=min(N1,floord(11*2+2,3));I3++) { 2041 J3 = -(9)-2*(I2)+2*I3 ; 2042 S2++; 2043 } 2044 if (9%4 == 0) { 2045 for (I3=2*9/4;I3<=floord(6*9/4-1,2);I3++) { 2046 J3 = 9-(I2)-(I3) ; 2047 S1++; 2048 } 2049 if (3*9%4 == 0) { 2050 I3 = 3*9/4 ; 2051 J1 = -2*(9)+3*I3 ; 2052 if ((2*9+J1)%3 == 0) { 2053 J2 = (2*9+J1)/3 ; 2054 J3 = 3*9-4*J2 ; 2055 S1++; 2056 S2++; 2057 } 2058 } 2059 for (I3=3*9/4+1;I3<=min(N1,floord(11*9/4,3));I3++) { 2060 J3 = -(9)-2*(I2)+2*I3 ; 2061 S2++; 2062 } 2063 } 2064 for (I2=3;I2<=8;I2++) { 2065 for (I3=max(max(1,ceild(9-I2,2)),9-2*I2);I3<=9-I2;I3++) { 2066 J3 = 9-(I2)-(I3) ; 2067 S1++; 2068 } 2069 for (I3=max(9-I2+1,ceild(9+2*I2,2));I3<=min(N1,floord(2*9+3*I2,3));I3++) { 2070 J3 = -(9)-2*(I2)+2*I3 ; 2071 S2++; 2072 } 2073 } 2074} 2075if ((N1 <= 4) && (N1 >= 4)) { 2076 if ((4*N1+1)%3 == 0) { 2077 I1 = (4*N1+1)/3 ; 2078 for (I2=ceild(N1+1,3);I2<=N1;I2++) { 2079 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 2080 J3 = I1-(I2)-(I3) ; 2081 S1++; 2082 } 2083 } 2084 } 2085} 2086for (I1=10;I1<=min(11,floord(2*N1,3));I1++) { 2087 for (I2=1;I2<=floord(I1-1,9);I2++) { 2088 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 2089 J3 = -I1-2*(I2)+2*I3 ; 2090 S2++; 2091 } 2092 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 2093 J3 = I1-(I2)-(I3) ; 2094 S1++; 2095 } 2096 } 2097 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) { 2098 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 2099 J3 = -I1-2*(I2)+2*I3 ; 2100 S2++; 2101 } 2102 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 2103 J3 = I1-(I2)-(I3) ; 2104 S1++; 2105 J3 = -I1-2*(I2)+2*I3 ; 2106 S2++; 2107 } 2108 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 2109 J3 = I1-(I2)-(I3) ; 2110 S1++; 2111 } 2112 } 2113 if (I1%6 == 0) { 2114 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 2115 J3 = -I1-2*(I2)+2*I3 ; 2116 S2++; 2117 J3 = I1-(I2)-(I3) ; 2118 S1++; 2119 } 2120 if (13*I1%18 == 0) { 2121 I3 = 13*I1/18 ; 2122 J1 = -2*I1+3*I3 ; 2123 if ((2*I1+J1)%3 == 0) { 2124 J2 = (2*I1+J1)/3 ; 2125 J3 = 3*I1-4*J2 ; 2126 S1++; 2127 S2++; 2128 } 2129 } 2130 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 2131 J3 = I1-(I2)-(I3) ; 2132 S1++; 2133 J3 = -I1-2*(I2)+2*I3 ; 2134 S2++; 2135 } 2136 } 2137 for (I2=ceild(I1+1,6);I2<=floord(I1+2,6);I2++) { 2138 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 2139 J3 = I1-(I2)-(I3) ; 2140 S1++; 2141 } 2142 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 2143 J3 = -I1-2*(I2)+2*I3 ; 2144 S2++; 2145 J3 = I1-(I2)-(I3) ; 2146 S1++; 2147 } 2148 if ((2*I1+I2)%3 == 0) { 2149 I3 = (2*I1+I2)/3 ; 2150 J1 = -2*I1+3*I3 ; 2151 if ((2*I1+J1)%3 == 0) { 2152 J2 = (2*I1+J1)/3 ; 2153 J3 = 3*I1-4*J2 ; 2154 S1++; 2155 S2++; 2156 } 2157 } 2158 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 2159 J3 = I1-(I2)-(I3) ; 2160 S1++; 2161 J3 = -I1-2*(I2)+2*I3 ; 2162 S2++; 2163 } 2164 } 2165 if ((I1-1)%4 == 0) { 2166 I2 = (I1-1)/4 ; 2167 for (I3=2*I2+1;I3<=3*I2;I3++) { 2168 J3 = I1-(I2)-(I3) ; 2169 S1++; 2170 } 2171 if ((9*I1-1)%12 == 0) { 2172 I3 = (9*I1-1)/12 ; 2173 J1 = -2*I1+3*I3 ; 2174 if ((2*I1+J1)%3 == 0) { 2175 J2 = (2*I1+J1)/3 ; 2176 J3 = 3*I1-4*J2 ; 2177 S1++; 2178 S2++; 2179 } 2180 } 2181 if ((3*I1+1)%4 == 0) { 2182 I3 = (3*I1+1)/4 ; 2183 J3 = I1-(I2)-(I3) ; 2184 S1++; 2185 J3 = -I1-2*(I2)+2*I3 ; 2186 S2++; 2187 } 2188 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 2189 J3 = -I1-2*(I2)+2*I3 ; 2190 S2++; 2191 } 2192 } 2193 if (I1%4 == 0) { 2194 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 2195 J3 = I1-(I2)-(I3) ; 2196 S1++; 2197 } 2198 if (3*I1%4 == 0) { 2199 I3 = 3*I1/4 ; 2200 J1 = -2*I1+3*I3 ; 2201 if ((2*I1+J1)%3 == 0) { 2202 J2 = (2*I1+J1)/3 ; 2203 J3 = 3*I1-4*J2 ; 2204 S1++; 2205 S2++; 2206 } 2207 } 2208 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 2209 J3 = -I1-2*(I2)+2*I3 ; 2210 S2++; 2211 } 2212 } 2213 for (I2=ceild(I1+1,4);I2<=I1-1;I2++) { 2214 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 2215 J3 = I1-(I2)-(I3) ; 2216 S1++; 2217 } 2218 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 2219 J3 = -I1-2*(I2)+2*I3 ; 2220 S2++; 2221 } 2222 } 2223 for (I2=I1;I2<=floord(-I1+2*N1,2);I2++) { 2224 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 2225 J3 = -I1-2*(I2)+2*I3 ; 2226 S2++; 2227 } 2228 } 2229} 2230if ((N1 <= 10) && (N1 >= 8)) { 2231 for (I3=ceild(8+2*1,2);I3<=8-2*(1)-1;I3++) { 2232 J3 = -(8)-2*(I2)+2*I3 ; 2233 S2++; 2234 } 2235 for (I3=8-2*(1);I3<=floord(2*8+3*1,3);I3++) { 2236 J3 = 8-(I2)-(I3) ; 2237 S1++; 2238 J3 = -(8)-2*(I2)+2*I3 ; 2239 S2++; 2240 } 2241 for (I3=ceild(2*8+3*1+1,3);I3<=min(N1,8-(1));I3++) { 2242 J3 = 8-(I2)-(I3) ; 2243 S1++; 2244 } 2245 if (4%3 == 0) { 2246 for (I3=4*4/3;I3<=floord(13*4/3-1,3);I3++) { 2247 J3 = -(8)-2*(I2)+2*I3 ; 2248 S2++; 2249 J3 = 8-(I2)-(I3) ; 2250 S1++; 2251 } 2252 if (13*8%18 == 0) { 2253 I3 = 13*8/18 ; 2254 J1 = -2*(8)+3*I3 ; 2255 if ((2*8+J1)%3 == 0) { 2256 J2 = (2*8+J1)/3 ; 2257 J3 = 3*8-4*J2 ; 2258 S1++; 2259 S2++; 2260 } 2261 } 2262 for (I3=ceild(13*4/3+1,3);I3<=min(N1,5*4/3);I3++) { 2263 J3 = 8-(I2)-(I3) ; 2264 S1++; 2265 J3 = -(8)-2*(I2)+2*I3 ; 2266 S2++; 2267 } 2268 } 2269 if (3%2 == 0) { 2270 for (I3=8-2*(3/2);I3<=floord(8+2*3/2-1,2);I3++) { 2271 J3 = 8-(I2)-(I3) ; 2272 S1++; 2273 } 2274 for (I3=ceild(8+2*3/2,2);I3<=floord(2*8+3/2-1,3);I3++) { 2275 J3 = -(8)-2*(I2)+2*I3 ; 2276 S2++; 2277 J3 = 8-(I2)-(I3) ; 2278 S1++; 2279 } 2280 if ((2*8+3/2)%3 == 0) { 2281 I3 = (2*8+3/2)/3 ; 2282 J1 = -2*(8)+3*I3 ; 2283 if ((2*8+J1)%3 == 0) { 2284 J2 = (2*8+J1)/3 ; 2285 J3 = 3*8-4*J2 ; 2286 S1++; 2287 S2++; 2288 } 2289 } 2290 for (I3=ceild(2*8+3/2+1,3);I3<=8-(3/2);I3++) { 2291 J3 = 8-(I2)-(I3) ; 2292 S1++; 2293 J3 = -(8)-2*(I2)+2*I3 ; 2294 S2++; 2295 } 2296 } 2297 for (I3=2*2;I3<=floord(6*2-1,2);I3++) { 2298 J3 = 8-(I2)-(I3) ; 2299 S1++; 2300 } 2301 if (3*8%4 == 0) { 2302 I3 = 3*8/4 ; 2303 J1 = -2*(8)+3*I3 ; 2304 if ((2*8+J1)%3 == 0) { 2305 J2 = (2*8+J1)/3 ; 2306 J3 = 3*8-4*J2 ; 2307 S1++; 2308 S2++; 2309 } 2310 } 2311 for (I3=3*2+1;I3<=min(N1,floord(11*2,3));I3++) { 2312 J3 = -(8)-2*(I2)+2*I3 ; 2313 S2++; 2314 } 2315 for (I2=3;I2<=N1-4;I2++) { 2316 for (I3=max(max(1,ceild(8-I2,2)),8-2*I2);I3<=8-I2;I3++) { 2317 J3 = 8-(I2)-(I3) ; 2318 S1++; 2319 } 2320 for (I3=max(8-I2+1,ceild(8+2*I2,2));I3<=min(N1,floord(2*8+3*I2,3));I3++) { 2321 J3 = -(8)-2*(I2)+2*I3 ; 2322 S2++; 2323 } 2324 } 2325 for (I2=ceild(2*N1-7,2);I2<=7;I2++) { 2326 for (I3=max(max(ceild(8-I2,2),8-2*I2),1);I3<=min(8-I2,N1);I3++) { 2327 J3 = 8-(I2)-(I3) ; 2328 S1++; 2329 } 2330 } 2331} 2332if (N1 == 6) { 2333 for (I3=ceild(8+2*1,2);I3<=8-2*(1)-1;I3++) { 2334 J3 = -(8)-2*(I2)+2*I3 ; 2335 S2++; 2336 } 2337 for (I3=8-2*(1);I3<=N1;I3++) { 2338 J3 = 8-(I2)-(I3) ; 2339 S1++; 2340 J3 = -(8)-2*(I2)+2*I3 ; 2341 S2++; 2342 } 2343 for (I3=ceild(2*N1,3);I3<=floord(2*N1-1,2);I3++) { 2344 J3 = 8-(I2)-(I3) ; 2345 S1++; 2346 } 2347 J1 = -2*(8)+3*N1 ; 2348 if ((2*8+J1)%3 == 0) { 2349 J2 = (2*8+J1)/3 ; 2350 J3 = 3*8-4*J2 ; 2351 S1++; 2352 S2++; 2353 } 2354 for (I2=3;I2<=6;I2++) { 2355 for (I3=max(max(ceild(8-I2,2),8-2*I2),1);I3<=min(8-I2,N1);I3++) { 2356 J3 = 8-(I2)-(I3) ; 2357 S1++; 2358 } 2359 } 2360} 2361if (N1 == 4) { 2362 for (I3=6-2*(1);I3<=N1;I3++) { 2363 J3 = -(6)-2*(I2)+2*I3 ; 2364 S2++; 2365 J3 = 6-(I2)-(I3) ; 2366 S1++; 2367 } 2368 for (I2=2;I2<=4;I2++) { 2369 for (I3=max(max(ceild(6-I2,2),6-2*I2),1);I3<=min(6-I2,N1);I3++) { 2370 J3 = 6-(I2)-(I3) ; 2371 S1++; 2372 } 2373 } 2374} 2375if (N1 >= 18) { 2376 for (I3=ceild(12+2*1,2);I3<=min(12-2*(1)-1,floord(2*12+3*1,3));I3++) { 2377 J3 = -(12)-2*(I2)+2*I3 ; 2378 S2++; 2379 } 2380 for (I3=12-2*(1);I3<=min(N1,12-(1));I3++) { 2381 J3 = 12-(I2)-(I3) ; 2382 S1++; 2383 } 2384 for (I2=2;I2<=1;I2++) { 2385 for (I3=ceild(12+2*I2,2);I3<=12-2*I2-1;I3++) { 2386 J3 = -(12)-2*(I2)+2*I3 ; 2387 S2++; 2388 } 2389 for (I3=12-2*I2;I3<=floord(2*12+3*I2,3);I3++) { 2390 J3 = 12-(I2)-(I3) ; 2391 S1++; 2392 J3 = -(12)-2*(I2)+2*I3 ; 2393 S2++; 2394 } 2395 for (I3=ceild(2*12+3*I2+1,3);I3<=min(N1,12-I2);I3++) { 2396 J3 = 12-(I2)-(I3) ; 2397 S1++; 2398 } 2399 } 2400 for (I3=4*2;I3<=floord(13*2-1,3);I3++) { 2401 J3 = -(12)-2*(I2)+2*I3 ; 2402 S2++; 2403 J3 = 12-(I2)-(I3) ; 2404 S1++; 2405 } 2406 if (13*12%18 == 0) { 2407 I3 = 13*12/18 ; 2408 J1 = -2*(12)+3*I3 ; 2409 if ((2*12+J1)%3 == 0) { 2410 J2 = (2*12+J1)/3 ; 2411 J3 = 3*12-4*J2 ; 2412 S1++; 2413 S2++; 2414 } 2415 } 2416 for (I3=ceild(13*2+1,3);I3<=min(N1,5*2);I3++) { 2417 J3 = 12-(I2)-(I3) ; 2418 S1++; 2419 J3 = -(12)-2*(I2)+2*I3 ; 2420 S2++; 2421 } 2422 for (I2=3;I2<=2;I2++) { 2423 for (I3=12-2*I2;I3<=floord(12+2*I2-1,2);I3++) { 2424 J3 = 12-(I2)-(I3) ; 2425 S1++; 2426 } 2427 for (I3=ceild(12+2*I2,2);I3<=floord(2*12+I2-1,3);I3++) { 2428 J3 = -(12)-2*(I2)+2*I3 ; 2429 S2++; 2430 J3 = 12-(I2)-(I3) ; 2431 S1++; 2432 } 2433 if ((2*12+I2)%3 == 0) { 2434 I3 = (2*12+I2)/3 ; 2435 J1 = -2*(12)+3*I3 ; 2436 if ((2*12+J1)%3 == 0) { 2437 J2 = (2*12+J1)/3 ; 2438 J3 = 3*12-4*J2 ; 2439 S1++; 2440 S2++; 2441 } 2442 } 2443 for (I3=ceild(2*12+I2+1,3);I3<=12-I2;I3++) { 2444 J3 = 12-(I2)-(I3) ; 2445 S1++; 2446 J3 = -(12)-2*(I2)+2*I3 ; 2447 S2++; 2448 } 2449 } 2450 if (5%2 == 0) { 2451 for (I3=12-2*(5/2);I3<=floord(12+2*5/2-1,2);I3++) { 2452 J3 = 12-(I2)-(I3) ; 2453 S1++; 2454 } 2455 for (I3=ceild(12+2*5/2,2);I3<=floord(2*12+5/2-1,3);I3++) { 2456 J3 = -(12)-2*(I2)+2*I3 ; 2457 S2++; 2458 J3 = 12-(I2)-(I3) ; 2459 S1++; 2460 } 2461 if ((2*12+5/2)%3 == 0) { 2462 I3 = (2*12+5/2)/3 ; 2463 J1 = -2*(12)+3*I3 ; 2464 if ((2*12+J1)%3 == 0) { 2465 J2 = (2*12+J1)/3 ; 2466 J3 = 3*12-4*J2 ; 2467 S1++; 2468 S2++; 2469 } 2470 } 2471 for (I3=ceild(2*12+5/2+1,3);I3<=12-(5/2);I3++) { 2472 J3 = 12-(I2)-(I3) ; 2473 S1++; 2474 J3 = -(12)-2*(I2)+2*I3 ; 2475 S2++; 2476 } 2477 for (I3=12-(5/2)+1;I3<=min(N1,floord(2*12+3*5/2,3));I3++) { 2478 J3 = -(12)-2*(I2)+2*I3 ; 2479 S2++; 2480 } 2481 } 2482 if (11%4 == 0) { 2483 for (I3=2*11/4+1;I3<=3*11/4;I3++) { 2484 J3 = 12-(I2)-(I3) ; 2485 S1++; 2486 } 2487 if ((9*12-1)%12 == 0) { 2488 I3 = (9*12-1)/12 ; 2489 J1 = -2*(12)+3*I3 ; 2490 if ((2*12+J1)%3 == 0) { 2491 J2 = (2*12+J1)/3 ; 2492 J3 = 3*12-4*J2 ; 2493 S1++; 2494 S2++; 2495 } 2496 } 2497 if ((3*12+1)%4 == 0) { 2498 I3 = (3*12+1)/4 ; 2499 J3 = 12-(I2)-(I3) ; 2500 S1++; 2501 J3 = -(12)-2*(I2)+2*I3 ; 2502 S2++; 2503 } 2504 for (I3=3*11/4+2;I3<=min(N1,floord(11*11/4+2,3));I3++) { 2505 J3 = -(12)-2*(I2)+2*I3 ; 2506 S2++; 2507 } 2508 } 2509 for (I3=2*3;I3<=floord(6*3-1,2);I3++) { 2510 J3 = 12-(I2)-(I3) ; 2511 S1++; 2512 } 2513 if (3*12%4 == 0) { 2514 I3 = 3*12/4 ; 2515 J1 = -2*(12)+3*I3 ; 2516 if ((2*12+J1)%3 == 0) { 2517 J2 = (2*12+J1)/3 ; 2518 J3 = 3*12-4*J2 ; 2519 S1++; 2520 S2++; 2521 } 2522 } 2523 for (I3=3*3+1;I3<=min(N1,floord(11*3,3));I3++) { 2524 J3 = -(12)-2*(I2)+2*I3 ; 2525 S2++; 2526 } 2527 for (I2=4;I2<=11;I2++) { 2528 for (I3=max(max(1,ceild(12-I2,2)),12-2*I2);I3<=12-I2;I3++) { 2529 J3 = 12-(I2)-(I3) ; 2530 S1++; 2531 } 2532 for (I3=max(12-I2+1,ceild(12+2*I2,2));I3<=min(N1,floord(2*12+3*I2,3));I3++) { 2533 J3 = -(12)-2*(I2)+2*I3 ; 2534 S2++; 2535 } 2536 } 2537 for (I2=12;I2<=N1-6;I2++) { 2538 for (I3=ceild(12+2*I2,2);I3<=min(N1,floord(2*12+3*I2,3));I3++) { 2539 J3 = -(12)-2*(I2)+2*I3 ; 2540 S2++; 2541 } 2542 } 2543} 2544if ((N1 <= 17) && (N1 >= 17)) { 2545 for (I3=ceild(12+2*1,2);I3<=min(12-2*(1)-1,floord(2*12+3*1,3));I3++) { 2546 J3 = -(12)-2*(I2)+2*I3 ; 2547 S2++; 2548 } 2549 for (I3=12-2*(1);I3<=min(N1,12-(1));I3++) { 2550 J3 = 12-(I2)-(I3) ; 2551 S1++; 2552 } 2553 for (I2=2;I2<=1;I2++) { 2554 for (I3=ceild(12+2*I2,2);I3<=12-2*I2-1;I3++) { 2555 J3 = -(12)-2*(I2)+2*I3 ; 2556 S2++; 2557 } 2558 for (I3=12-2*I2;I3<=floord(2*12+3*I2,3);I3++) { 2559 J3 = 12-(I2)-(I3) ; 2560 S1++; 2561 J3 = -(12)-2*(I2)+2*I3 ; 2562 S2++; 2563 } 2564 for (I3=ceild(2*12+3*I2+1,3);I3<=min(N1,12-I2);I3++) { 2565 J3 = 12-(I2)-(I3) ; 2566 S1++; 2567 } 2568 } 2569 for (I3=4*2;I3<=floord(13*2-1,3);I3++) { 2570 J3 = -(12)-2*(I2)+2*I3 ; 2571 S2++; 2572 J3 = 12-(I2)-(I3) ; 2573 S1++; 2574 } 2575 if (13*12%18 == 0) { 2576 I3 = 13*12/18 ; 2577 J1 = -2*(12)+3*I3 ; 2578 if ((2*12+J1)%3 == 0) { 2579 J2 = (2*12+J1)/3 ; 2580 J3 = 3*12-4*J2 ; 2581 S1++; 2582 S2++; 2583 } 2584 } 2585 for (I3=ceild(13*2+1,3);I3<=min(N1,5*2);I3++) { 2586 J3 = 12-(I2)-(I3) ; 2587 S1++; 2588 J3 = -(12)-2*(I2)+2*I3 ; 2589 S2++; 2590 } 2591 for (I2=3;I2<=2;I2++) { 2592 for (I3=12-2*I2;I3<=floord(12+2*I2-1,2);I3++) { 2593 J3 = 12-(I2)-(I3) ; 2594 S1++; 2595 } 2596 for (I3=ceild(12+2*I2,2);I3<=floord(2*12+I2-1,3);I3++) { 2597 J3 = -(12)-2*(I2)+2*I3 ; 2598 S2++; 2599 J3 = 12-(I2)-(I3) ; 2600 S1++; 2601 } 2602 if ((2*12+I2)%3 == 0) { 2603 I3 = (2*12+I2)/3 ; 2604 J1 = -2*(12)+3*I3 ; 2605 if ((2*12+J1)%3 == 0) { 2606 J2 = (2*12+J1)/3 ; 2607 J3 = 3*12-4*J2 ; 2608 S1++; 2609 S2++; 2610 } 2611 } 2612 for (I3=ceild(2*12+I2+1,3);I3<=12-I2;I3++) { 2613 J3 = 12-(I2)-(I3) ; 2614 S1++; 2615 J3 = -(12)-2*(I2)+2*I3 ; 2616 S2++; 2617 } 2618 } 2619 if (5%2 == 0) { 2620 for (I3=12-2*(5/2);I3<=floord(12+2*5/2-1,2);I3++) { 2621 J3 = 12-(I2)-(I3) ; 2622 S1++; 2623 } 2624 for (I3=ceild(12+2*5/2,2);I3<=floord(2*12+5/2-1,3);I3++) { 2625 J3 = -(12)-2*(I2)+2*I3 ; 2626 S2++; 2627 J3 = 12-(I2)-(I3) ; 2628 S1++; 2629 } 2630 if ((2*12+5/2)%3 == 0) { 2631 I3 = (2*12+5/2)/3 ; 2632 J1 = -2*(12)+3*I3 ; 2633 if ((2*12+J1)%3 == 0) { 2634 J2 = (2*12+J1)/3 ; 2635 J3 = 3*12-4*J2 ; 2636 S1++; 2637 S2++; 2638 } 2639 } 2640 for (I3=ceild(2*12+5/2+1,3);I3<=12-(5/2);I3++) { 2641 J3 = 12-(I2)-(I3) ; 2642 S1++; 2643 J3 = -(12)-2*(I2)+2*I3 ; 2644 S2++; 2645 } 2646 for (I3=12-(5/2)+1;I3<=min(N1,floord(2*12+3*5/2,3));I3++) { 2647 J3 = -(12)-2*(I2)+2*I3 ; 2648 S2++; 2649 } 2650 } 2651 if (11%4 == 0) { 2652 for (I3=2*11/4+1;I3<=3*11/4;I3++) { 2653 J3 = 12-(I2)-(I3) ; 2654 S1++; 2655 } 2656 if ((9*12-1)%12 == 0) { 2657 I3 = (9*12-1)/12 ; 2658 J1 = -2*(12)+3*I3 ; 2659 if ((2*12+J1)%3 == 0) { 2660 J2 = (2*12+J1)/3 ; 2661 J3 = 3*12-4*J2 ; 2662 S1++; 2663 S2++; 2664 } 2665 } 2666 if ((3*12+1)%4 == 0) { 2667 I3 = (3*12+1)/4 ; 2668 J3 = 12-(I2)-(I3) ; 2669 S1++; 2670 J3 = -(12)-2*(I2)+2*I3 ; 2671 S2++; 2672 } 2673 for (I3=3*11/4+2;I3<=min(N1,floord(11*11/4+2,3));I3++) { 2674 J3 = -(12)-2*(I2)+2*I3 ; 2675 S2++; 2676 } 2677 } 2678 for (I3=2*3;I3<=floord(6*3-1,2);I3++) { 2679 J3 = 12-(I2)-(I3) ; 2680 S1++; 2681 } 2682 if (3*12%4 == 0) { 2683 I3 = 3*12/4 ; 2684 J1 = -2*(12)+3*I3 ; 2685 if ((2*12+J1)%3 == 0) { 2686 J2 = (2*12+J1)/3 ; 2687 J3 = 3*12-4*J2 ; 2688 S1++; 2689 S2++; 2690 } 2691 } 2692 for (I3=3*3+1;I3<=min(N1,floord(11*3,3));I3++) { 2693 J3 = -(12)-2*(I2)+2*I3 ; 2694 S2++; 2695 } 2696 for (I2=4;I2<=11;I2++) { 2697 for (I3=max(max(1,ceild(12-I2,2)),12-2*I2);I3<=12-I2;I3++) { 2698 J3 = 12-(I2)-(I3) ; 2699 S1++; 2700 } 2701 for (I3=max(12-I2+1,ceild(12+2*I2,2));I3<=min(N1,floord(2*12+3*I2,3));I3++) { 2702 J3 = -(12)-2*(I2)+2*I3 ; 2703 S2++; 2704 } 2705 } 2706} 2707for (I1=max(10,ceild(2*N1+1,3));I1<=min(11,floord(2*N1+2,3));I1++) { 2708 for (I2=1;I2<=floord(I1-1,9);I2++) { 2709 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 2710 J3 = -I1-2*(I2)+2*I3 ; 2711 S2++; 2712 } 2713 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 2714 J3 = I1-(I2)-(I3) ; 2715 S1++; 2716 } 2717 } 2718 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) { 2719 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 2720 J3 = -I1-2*(I2)+2*I3 ; 2721 S2++; 2722 } 2723 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 2724 J3 = I1-(I2)-(I3) ; 2725 S1++; 2726 J3 = -I1-2*(I2)+2*I3 ; 2727 S2++; 2728 } 2729 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 2730 J3 = I1-(I2)-(I3) ; 2731 S1++; 2732 } 2733 } 2734 if (I1%6 == 0) { 2735 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 2736 J3 = -I1-2*(I2)+2*I3 ; 2737 S2++; 2738 J3 = I1-(I2)-(I3) ; 2739 S1++; 2740 } 2741 if (13*I1%18 == 0) { 2742 I3 = 13*I1/18 ; 2743 J1 = -2*I1+3*I3 ; 2744 if ((2*I1+J1)%3 == 0) { 2745 J2 = (2*I1+J1)/3 ; 2746 J3 = 3*I1-4*J2 ; 2747 S1++; 2748 S2++; 2749 } 2750 } 2751 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 2752 J3 = I1-(I2)-(I3) ; 2753 S1++; 2754 J3 = -I1-2*(I2)+2*I3 ; 2755 S2++; 2756 } 2757 } 2758 for (I2=ceild(I1+1,6);I2<=floord(I1+2,6);I2++) { 2759 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 2760 J3 = I1-(I2)-(I3) ; 2761 S1++; 2762 } 2763 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 2764 J3 = -I1-2*(I2)+2*I3 ; 2765 S2++; 2766 J3 = I1-(I2)-(I3) ; 2767 S1++; 2768 } 2769 if ((2*I1+I2)%3 == 0) { 2770 I3 = (2*I1+I2)/3 ; 2771 J1 = -2*I1+3*I3 ; 2772 if ((2*I1+J1)%3 == 0) { 2773 J2 = (2*I1+J1)/3 ; 2774 J3 = 3*I1-4*J2 ; 2775 S1++; 2776 S2++; 2777 } 2778 } 2779 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 2780 J3 = I1-(I2)-(I3) ; 2781 S1++; 2782 J3 = -I1-2*(I2)+2*I3 ; 2783 S2++; 2784 } 2785 } 2786 if ((I1-1)%4 == 0) { 2787 I2 = (I1-1)/4 ; 2788 for (I3=2*I2+1;I3<=3*I2;I3++) { 2789 J3 = I1-(I2)-(I3) ; 2790 S1++; 2791 } 2792 if ((9*I1-1)%12 == 0) { 2793 I3 = (9*I1-1)/12 ; 2794 J1 = -2*I1+3*I3 ; 2795 if ((2*I1+J1)%3 == 0) { 2796 J2 = (2*I1+J1)/3 ; 2797 J3 = 3*I1-4*J2 ; 2798 S1++; 2799 S2++; 2800 } 2801 } 2802 if ((3*I1+1)%4 == 0) { 2803 I3 = (3*I1+1)/4 ; 2804 J3 = I1-(I2)-(I3) ; 2805 S1++; 2806 J3 = -I1-2*(I2)+2*I3 ; 2807 S2++; 2808 } 2809 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 2810 J3 = -I1-2*(I2)+2*I3 ; 2811 S2++; 2812 } 2813 } 2814 if (I1%4 == 0) { 2815 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 2816 J3 = I1-(I2)-(I3) ; 2817 S1++; 2818 } 2819 if (3*I1%4 == 0) { 2820 I3 = 3*I1/4 ; 2821 J1 = -2*I1+3*I3 ; 2822 if ((2*I1+J1)%3 == 0) { 2823 J2 = (2*I1+J1)/3 ; 2824 J3 = 3*I1-4*J2 ; 2825 S1++; 2826 S2++; 2827 } 2828 } 2829 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 2830 J3 = -I1-2*(I2)+2*I3 ; 2831 S2++; 2832 } 2833 } 2834 for (I2=ceild(I1+1,4);I2<=I1-1;I2++) { 2835 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 2836 J3 = I1-(I2)-(I3) ; 2837 S1++; 2838 } 2839 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 2840 J3 = -I1-2*(I2)+2*I3 ; 2841 S2++; 2842 } 2843 } 2844} 2845if ((N1 <= 12) && (N1 >= 9)) { 2846 for (I3=ceild(9+2*1,2);I3<=9-2*(1)-1;I3++) { 2847 J3 = -(9)-2*(I2)+2*I3 ; 2848 S2++; 2849 } 2850 for (I3=9-2*(1);I3<=floord(2*9+3*1,3);I3++) { 2851 J3 = 9-(I2)-(I3) ; 2852 S1++; 2853 J3 = -(9)-2*(I2)+2*I3 ; 2854 S2++; 2855 } 2856 for (I3=ceild(2*9+3*1+1,3);I3<=min(N1,9-(1));I3++) { 2857 J3 = 9-(I2)-(I3) ; 2858 S1++; 2859 } 2860 if (3%2 == 0) { 2861 for (I3=4*3/2;I3<=floord(13*3/2-1,3);I3++) { 2862 J3 = -(9)-2*(I2)+2*I3 ; 2863 S2++; 2864 J3 = 9-(I2)-(I3) ; 2865 S1++; 2866 } 2867 if (13*9%18 == 0) { 2868 I3 = 13*9/18 ; 2869 J1 = -2*(9)+3*I3 ; 2870 if ((2*9+J1)%3 == 0) { 2871 J2 = (2*9+J1)/3 ; 2872 J3 = 3*9-4*J2 ; 2873 S1++; 2874 S2++; 2875 } 2876 } 2877 for (I3=ceild(13*3/2+1,3);I3<=min(N1,5*3/2);I3++) { 2878 J3 = 9-(I2)-(I3) ; 2879 S1++; 2880 J3 = -(9)-2*(I2)+2*I3 ; 2881 S2++; 2882 } 2883 } 2884 for (I2=max(2,-N1+10);I2<=1;I2++) { 2885 for (I3=9-2*I2;I3<=floord(9+2*I2-1,2);I3++) { 2886 J3 = 9-(I2)-(I3) ; 2887 S1++; 2888 } 2889 for (I3=ceild(9+2*I2,2);I3<=floord(2*9+I2-1,3);I3++) { 2890 J3 = -(9)-2*(I2)+2*I3 ; 2891 S2++; 2892 J3 = 9-(I2)-(I3) ; 2893 S1++; 2894 } 2895 if ((2*9+I2)%3 == 0) { 2896 I3 = (2*9+I2)/3 ; 2897 J1 = -2*(9)+3*I3 ; 2898 if ((2*9+J1)%3 == 0) { 2899 J2 = (2*9+J1)/3 ; 2900 J3 = 3*9-4*J2 ; 2901 S1++; 2902 S2++; 2903 } 2904 } 2905 for (I3=ceild(2*9+I2+1,3);I3<=9-I2;I3++) { 2906 J3 = 9-(I2)-(I3) ; 2907 S1++; 2908 J3 = -(9)-2*(I2)+2*I3 ; 2909 S2++; 2910 } 2911 } 2912 for (I3=2*2+1;I3<=3*2;I3++) { 2913 J3 = 9-(I2)-(I3) ; 2914 S1++; 2915 } 2916 if ((9*9-1)%12 == 0) { 2917 I3 = (9*9-1)/12 ; 2918 J1 = -2*(9)+3*I3 ; 2919 if ((2*9+J1)%3 == 0) { 2920 J2 = (2*9+J1)/3 ; 2921 J3 = 3*9-4*J2 ; 2922 S1++; 2923 S2++; 2924 } 2925 } 2926 if ((3*9+1)%4 == 0) { 2927 I3 = (3*9+1)/4 ; 2928 J3 = 9-(I2)-(I3) ; 2929 S1++; 2930 J3 = -(9)-2*(I2)+2*I3 ; 2931 S2++; 2932 } 2933 for (I3=3*2+2;I3<=min(N1,floord(11*2+2,3));I3++) { 2934 J3 = -(9)-2*(I2)+2*I3 ; 2935 S2++; 2936 } 2937 if (9%4 == 0) { 2938 for (I3=2*9/4;I3<=floord(6*9/4-1,2);I3++) { 2939 J3 = 9-(I2)-(I3) ; 2940 S1++; 2941 } 2942 if (3*9%4 == 0) { 2943 I3 = 3*9/4 ; 2944 J1 = -2*(9)+3*I3 ; 2945 if ((2*9+J1)%3 == 0) { 2946 J2 = (2*9+J1)/3 ; 2947 J3 = 3*9-4*J2 ; 2948 S1++; 2949 S2++; 2950 } 2951 } 2952 for (I3=3*9/4+1;I3<=min(N1,floord(11*9/4,3));I3++) { 2953 J3 = -(9)-2*(I2)+2*I3 ; 2954 S2++; 2955 } 2956 } 2957 for (I2=3;I2<=floord(2*N1-9,2);I2++) { 2958 for (I3=max(max(1,ceild(9-I2,2)),9-2*I2);I3<=9-I2;I3++) { 2959 J3 = 9-(I2)-(I3) ; 2960 S1++; 2961 } 2962 for (I3=max(9-I2+1,ceild(9+2*I2,2));I3<=min(N1,floord(2*9+3*I2,3));I3++) { 2963 J3 = -(9)-2*(I2)+2*I3 ; 2964 S2++; 2965 } 2966 } 2967 for (I2=N1-4;I2<=8;I2++) { 2968 for (I3=max(max(ceild(9-I2,2),9-2*I2),1);I3<=min(9-I2,N1);I3++) { 2969 J3 = 9-(I2)-(I3) ; 2970 S1++; 2971 } 2972 } 2973} 2974if (N1 == 8) { 2975 for (I3=ceild(9+2*1,2);I3<=9-2*(1)-1;I3++) { 2976 J3 = -(9)-2*(I2)+2*I3 ; 2977 S2++; 2978 } 2979 for (I3=9-2*(1);I3<=floord(2*9+3*1,3);I3++) { 2980 J3 = 9-(I2)-(I3) ; 2981 S1++; 2982 J3 = -(9)-2*(I2)+2*I3 ; 2983 S2++; 2984 } 2985 for (I3=ceild(2*9+3*1+1,3);I3<=min(N1,9-(1));I3++) { 2986 J3 = 9-(I2)-(I3) ; 2987 S1++; 2988 } 2989 if (3%2 == 0) { 2990 for (I3=4*3/2;I3<=floord(13*3/2-1,3);I3++) { 2991 J3 = -(9)-2*(I2)+2*I3 ; 2992 S2++; 2993 J3 = 9-(I2)-(I3) ; 2994 S1++; 2995 } 2996 if (13*9%18 == 0) { 2997 I3 = 13*9/18 ; 2998 J1 = -2*(9)+3*I3 ; 2999 if ((2*9+J1)%3 == 0) { 3000 J2 = (2*9+J1)/3 ; 3001 J3 = 3*9-4*J2 ; 3002 S1++; 3003 S2++; 3004 } 3005 } 3006 for (I3=ceild(13*3/2+1,3);I3<=min(N1,5*3/2);I3++) { 3007 J3 = 9-(I2)-(I3) ; 3008 S1++; 3009 J3 = -(9)-2*(I2)+2*I3 ; 3010 S2++; 3011 } 3012 } 3013 for (I3=2*2+1;I3<=3*2;I3++) { 3014 J3 = 9-(I2)-(I3) ; 3015 S1++; 3016 } 3017 if ((9*9-1)%12 == 0) { 3018 I3 = (9*9-1)/12 ; 3019 J1 = -2*(9)+3*I3 ; 3020 if ((2*9+J1)%3 == 0) { 3021 J2 = (2*9+J1)/3 ; 3022 J3 = 3*9-4*J2 ; 3023 S1++; 3024 S2++; 3025 } 3026 } 3027 if ((3*9+1)%4 == 0) { 3028 I3 = (3*9+1)/4 ; 3029 J3 = 9-(I2)-(I3) ; 3030 S1++; 3031 J3 = -(9)-2*(I2)+2*I3 ; 3032 S2++; 3033 } 3034 for (I3=3*2+2;I3<=min(N1,floord(11*2+2,3));I3++) { 3035 J3 = -(9)-2*(I2)+2*I3 ; 3036 S2++; 3037 } 3038 if (9%4 == 0) { 3039 for (I3=2*9/4;I3<=floord(6*9/4-1,2);I3++) { 3040 J3 = 9-(I2)-(I3) ; 3041 S1++; 3042 } 3043 if (3*9%4 == 0) { 3044 I3 = 3*9/4 ; 3045 J1 = -2*(9)+3*I3 ; 3046 if ((2*9+J1)%3 == 0) { 3047 J2 = (2*9+J1)/3 ; 3048 J3 = 3*9-4*J2 ; 3049 S1++; 3050 S2++; 3051 } 3052 } 3053 for (I3=3*9/4+1;I3<=min(N1,floord(11*9/4,3));I3++) { 3054 J3 = -(9)-2*(I2)+2*I3 ; 3055 S2++; 3056 } 3057 } 3058 for (I3=max(max(1,ceild(9-(3),2)),9-2*(3));I3<=9-(3);I3++) { 3059 J3 = 9-(I2)-(I3) ; 3060 S1++; 3061 } 3062 for (I3=max(9-(3)+1,ceild(9+2*3,2));I3<=min(N1,floord(2*9+3*3,3));I3++) { 3063 J3 = -(9)-2*(I2)+2*I3 ; 3064 S2++; 3065 } 3066 for (I2=4;I2<=8;I2++) { 3067 for (I3=max(max(ceild(9-I2,2),9-2*I2),1);I3<=min(9-I2,N1);I3++) { 3068 J3 = 9-(I2)-(I3) ; 3069 S1++; 3070 } 3071 } 3072} 3073for (I1=max(8,ceild(4*N1-13,2));I1<=floord(4*N1-4,3);I1++) { 3074 for (I2=1;I2<=floord(I1-1,7);I2++) { 3075 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 3076 J3 = -I1-2*(I2)+2*I3 ; 3077 S2++; 3078 } 3079 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 3080 J3 = I1-(I2)-(I3) ; 3081 S1++; 3082 J3 = -I1-2*(I2)+2*I3 ; 3083 S2++; 3084 } 3085 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 3086 J3 = I1-(I2)-(I3) ; 3087 S1++; 3088 } 3089 } 3090 if (I1%6 == 0) { 3091 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 3092 J3 = -I1-2*(I2)+2*I3 ; 3093 S2++; 3094 J3 = I1-(I2)-(I3) ; 3095 S1++; 3096 } 3097 if (13*I1%18 == 0) { 3098 I3 = 13*I1/18 ; 3099 J1 = -2*I1+3*I3 ; 3100 if ((2*I1+J1)%3 == 0) { 3101 J2 = (2*I1+J1)/3 ; 3102 J3 = 3*I1-4*J2 ; 3103 S1++; 3104 S2++; 3105 } 3106 } 3107 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 3108 J3 = I1-(I2)-(I3) ; 3109 S1++; 3110 J3 = -I1-2*(I2)+2*I3 ; 3111 S2++; 3112 } 3113 } 3114 if (I1%4 == 0) { 3115 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 3116 J3 = I1-(I2)-(I3) ; 3117 S1++; 3118 } 3119 if (3*I1%4 == 0) { 3120 I3 = 3*I1/4 ; 3121 J1 = -2*I1+3*I3 ; 3122 if ((2*I1+J1)%3 == 0) { 3123 J2 = (2*I1+J1)/3 ; 3124 J3 = 3*I1-4*J2 ; 3125 S1++; 3126 S2++; 3127 } 3128 } 3129 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 3130 J3 = -I1-2*(I2)+2*I3 ; 3131 S2++; 3132 } 3133 } 3134 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) { 3135 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 3136 J3 = I1-(I2)-(I3) ; 3137 S1++; 3138 } 3139 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 3140 J3 = -I1-2*(I2)+2*I3 ; 3141 S2++; 3142 } 3143 } 3144 for (I2=ceild(-I1+2*N1+1,2);I2<=min(N1,I1-1);I2++) { 3145 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 3146 J3 = I1-(I2)-(I3) ; 3147 S1++; 3148 } 3149 } 3150} 3151if (N1 >= 20) { 3152 for (I3=ceild(13+2*1,2);I3<=min(13-2*(1)-1,floord(2*13+3*1,3));I3++) { 3153 J3 = -(13)-2*(I2)+2*I3 ; 3154 S2++; 3155 } 3156 for (I3=13-2*(1);I3<=min(N1,13-(1));I3++) { 3157 J3 = 13-(I2)-(I3) ; 3158 S1++; 3159 } 3160 for (I2=2;I2<=1;I2++) { 3161 for (I3=ceild(13+2*I2,2);I3<=13-2*I2-1;I3++) { 3162 J3 = -(13)-2*(I2)+2*I3 ; 3163 S2++; 3164 } 3165 for (I3=13-2*I2;I3<=floord(2*13+3*I2,3);I3++) { 3166 J3 = 13-(I2)-(I3) ; 3167 S1++; 3168 J3 = -(13)-2*(I2)+2*I3 ; 3169 S2++; 3170 } 3171 for (I3=ceild(2*13+3*I2+1,3);I3<=min(N1,13-I2);I3++) { 3172 J3 = 13-(I2)-(I3) ; 3173 S1++; 3174 } 3175 } 3176 for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) { 3177 J3 = -(13)-2*(I2)+2*I3 ; 3178 S2++; 3179 J3 = 13-(I2)-(I3) ; 3180 S1++; 3181 } 3182 if ((13*13-1)%18 == 0) { 3183 I3 = (13*13-1)/18 ; 3184 J1 = -2*(13)+3*I3 ; 3185 if ((2*13+J1)%3 == 0) { 3186 J2 = (2*13+J1)/3 ; 3187 J3 = 3*13-4*J2 ; 3188 S1++; 3189 S2++; 3190 } 3191 } 3192 for (I3=ceild(13*2+3,3);I3<=floord(15*2+2,3);I3++) { 3193 J3 = 13-(I2)-(I3) ; 3194 S1++; 3195 J3 = -(13)-2*(I2)+2*I3 ; 3196 S2++; 3197 } 3198 if ((5*13+1)%6 == 0) { 3199 I3 = (5*13+1)/6 ; 3200 J3 = 13-(I2)-(I3) ; 3201 S1++; 3202 } 3203 if (13%6 == 0) { 3204 for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) { 3205 J3 = -(13)-2*(I2)+2*I3 ; 3206 S2++; 3207 J3 = 13-(I2)-(I3) ; 3208 S1++; 3209 } 3210 if (13*13%18 == 0) { 3211 I3 = 13*13/18 ; 3212 J1 = -2*(13)+3*I3 ; 3213 if ((2*13+J1)%3 == 0) { 3214 J2 = (2*13+J1)/3 ; 3215 J3 = 3*13-4*J2 ; 3216 S1++; 3217 S2++; 3218 } 3219 } 3220 for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) { 3221 J3 = 13-(I2)-(I3) ; 3222 S1++; 3223 J3 = -(13)-2*(I2)+2*I3 ; 3224 S2++; 3225 } 3226 } 3227 for (I2=3;I2<=2;I2++) { 3228 for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) { 3229 J3 = 13-(I2)-(I3) ; 3230 S1++; 3231 } 3232 for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) { 3233 J3 = -(13)-2*(I2)+2*I3 ; 3234 S2++; 3235 J3 = 13-(I2)-(I3) ; 3236 S1++; 3237 } 3238 if ((2*13+I2)%3 == 0) { 3239 I3 = (2*13+I2)/3 ; 3240 J1 = -2*(13)+3*I3 ; 3241 if ((2*13+J1)%3 == 0) { 3242 J2 = (2*13+J1)/3 ; 3243 J3 = 3*13-4*J2 ; 3244 S1++; 3245 S2++; 3246 } 3247 } 3248 for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) { 3249 J3 = 13-(I2)-(I3) ; 3250 S1++; 3251 J3 = -(13)-2*(I2)+2*I3 ; 3252 S2++; 3253 } 3254 } 3255 for (I2=3;I2<=2;I2++) { 3256 for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) { 3257 J3 = 13-(I2)-(I3) ; 3258 S1++; 3259 } 3260 for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) { 3261 J3 = -(13)-2*(I2)+2*I3 ; 3262 S2++; 3263 J3 = 13-(I2)-(I3) ; 3264 S1++; 3265 } 3266 if ((2*13+I2)%3 == 0) { 3267 I3 = (2*13+I2)/3 ; 3268 J1 = -2*(13)+3*I3 ; 3269 if ((2*13+J1)%3 == 0) { 3270 J2 = (2*13+J1)/3 ; 3271 J3 = 3*13-4*J2 ; 3272 S1++; 3273 S2++; 3274 } 3275 } 3276 for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) { 3277 J3 = 13-(I2)-(I3) ; 3278 S1++; 3279 J3 = -(13)-2*(I2)+2*I3 ; 3280 S2++; 3281 } 3282 for (I3=13-I2+1;I3<=min(N1,floord(2*13+3*I2,3));I3++) { 3283 J3 = -(13)-2*(I2)+2*I3 ; 3284 S2++; 3285 } 3286 } 3287 for (I3=2*3+1;I3<=3*3;I3++) { 3288 J3 = 13-(I2)-(I3) ; 3289 S1++; 3290 } 3291 if ((9*13-1)%12 == 0) { 3292 I3 = (9*13-1)/12 ; 3293 J1 = -2*(13)+3*I3 ; 3294 if ((2*13+J1)%3 == 0) { 3295 J2 = (2*13+J1)/3 ; 3296 J3 = 3*13-4*J2 ; 3297 S1++; 3298 S2++; 3299 } 3300 } 3301 if ((3*13+1)%4 == 0) { 3302 I3 = (3*13+1)/4 ; 3303 J3 = 13-(I2)-(I3) ; 3304 S1++; 3305 J3 = -(13)-2*(I2)+2*I3 ; 3306 S2++; 3307 } 3308 for (I3=3*3+2;I3<=min(N1,floord(11*3+2,3));I3++) { 3309 J3 = -(13)-2*(I2)+2*I3 ; 3310 S2++; 3311 } 3312 if (13%4 == 0) { 3313 for (I3=2*13/4;I3<=floord(6*13/4-1,2);I3++) { 3314 J3 = 13-(I2)-(I3) ; 3315 S1++; 3316 } 3317 if (3*13%4 == 0) { 3318 I3 = 3*13/4 ; 3319 J1 = -2*(13)+3*I3 ; 3320 if ((2*13+J1)%3 == 0) { 3321 J2 = (2*13+J1)/3 ; 3322 J3 = 3*13-4*J2 ; 3323 S1++; 3324 S2++; 3325 } 3326 } 3327 for (I3=3*13/4+1;I3<=min(N1,floord(11*13/4,3));I3++) { 3328 J3 = -(13)-2*(I2)+2*I3 ; 3329 S2++; 3330 } 3331 } 3332 for (I2=4;I2<=12;I2++) { 3333 for (I3=max(max(1,ceild(13-I2,2)),13-2*I2);I3<=13-I2;I3++) { 3334 J3 = 13-(I2)-(I3) ; 3335 S1++; 3336 } 3337 for (I3=max(13-I2+1,ceild(13+2*I2,2));I3<=min(N1,floord(2*13+3*I2,3));I3++) { 3338 J3 = -(13)-2*(I2)+2*I3 ; 3339 S2++; 3340 } 3341 } 3342 for (I2=13;I2<=floord(2*N1-13,2);I2++) { 3343 for (I3=ceild(13+2*I2,2);I3<=min(N1,floord(2*13+3*I2,3));I3++) { 3344 J3 = -(13)-2*(I2)+2*I3 ; 3345 S2++; 3346 } 3347 } 3348} 3349if ((N1 <= 19) && (N1 >= 19)) { 3350 for (I3=ceild(13+2*1,2);I3<=min(13-2*(1)-1,floord(2*13+3*1,3));I3++) { 3351 J3 = -(13)-2*(I2)+2*I3 ; 3352 S2++; 3353 } 3354 for (I3=13-2*(1);I3<=min(N1,13-(1));I3++) { 3355 J3 = 13-(I2)-(I3) ; 3356 S1++; 3357 } 3358 for (I2=2;I2<=1;I2++) { 3359 for (I3=ceild(13+2*I2,2);I3<=13-2*I2-1;I3++) { 3360 J3 = -(13)-2*(I2)+2*I3 ; 3361 S2++; 3362 } 3363 for (I3=13-2*I2;I3<=floord(2*13+3*I2,3);I3++) { 3364 J3 = 13-(I2)-(I3) ; 3365 S1++; 3366 J3 = -(13)-2*(I2)+2*I3 ; 3367 S2++; 3368 } 3369 for (I3=ceild(2*13+3*I2+1,3);I3<=min(N1,13-I2);I3++) { 3370 J3 = 13-(I2)-(I3) ; 3371 S1++; 3372 } 3373 } 3374 for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) { 3375 J3 = -(13)-2*(I2)+2*I3 ; 3376 S2++; 3377 J3 = 13-(I2)-(I3) ; 3378 S1++; 3379 } 3380 if ((13*13-1)%18 == 0) { 3381 I3 = (13*13-1)/18 ; 3382 J1 = -2*(13)+3*I3 ; 3383 if ((2*13+J1)%3 == 0) { 3384 J2 = (2*13+J1)/3 ; 3385 J3 = 3*13-4*J2 ; 3386 S1++; 3387 S2++; 3388 } 3389 } 3390 for (I3=ceild(13*2+3,3);I3<=floord(15*2+2,3);I3++) { 3391 J3 = 13-(I2)-(I3) ; 3392 S1++; 3393 J3 = -(13)-2*(I2)+2*I3 ; 3394 S2++; 3395 } 3396 if ((5*13+1)%6 == 0) { 3397 I3 = (5*13+1)/6 ; 3398 J3 = 13-(I2)-(I3) ; 3399 S1++; 3400 } 3401 if (13%6 == 0) { 3402 for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) { 3403 J3 = -(13)-2*(I2)+2*I3 ; 3404 S2++; 3405 J3 = 13-(I2)-(I3) ; 3406 S1++; 3407 } 3408 if (13*13%18 == 0) { 3409 I3 = 13*13/18 ; 3410 J1 = -2*(13)+3*I3 ; 3411 if ((2*13+J1)%3 == 0) { 3412 J2 = (2*13+J1)/3 ; 3413 J3 = 3*13-4*J2 ; 3414 S1++; 3415 S2++; 3416 } 3417 } 3418 for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) { 3419 J3 = 13-(I2)-(I3) ; 3420 S1++; 3421 J3 = -(13)-2*(I2)+2*I3 ; 3422 S2++; 3423 } 3424 } 3425 for (I2=3;I2<=2;I2++) { 3426 for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) { 3427 J3 = 13-(I2)-(I3) ; 3428 S1++; 3429 } 3430 for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) { 3431 J3 = -(13)-2*(I2)+2*I3 ; 3432 S2++; 3433 J3 = 13-(I2)-(I3) ; 3434 S1++; 3435 } 3436 if ((2*13+I2)%3 == 0) { 3437 I3 = (2*13+I2)/3 ; 3438 J1 = -2*(13)+3*I3 ; 3439 if ((2*13+J1)%3 == 0) { 3440 J2 = (2*13+J1)/3 ; 3441 J3 = 3*13-4*J2 ; 3442 S1++; 3443 S2++; 3444 } 3445 } 3446 for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) { 3447 J3 = 13-(I2)-(I3) ; 3448 S1++; 3449 J3 = -(13)-2*(I2)+2*I3 ; 3450 S2++; 3451 } 3452 } 3453 for (I2=3;I2<=2;I2++) { 3454 for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) { 3455 J3 = 13-(I2)-(I3) ; 3456 S1++; 3457 } 3458 for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) { 3459 J3 = -(13)-2*(I2)+2*I3 ; 3460 S2++; 3461 J3 = 13-(I2)-(I3) ; 3462 S1++; 3463 } 3464 if ((2*13+I2)%3 == 0) { 3465 I3 = (2*13+I2)/3 ; 3466 J1 = -2*(13)+3*I3 ; 3467 if ((2*13+J1)%3 == 0) { 3468 J2 = (2*13+J1)/3 ; 3469 J3 = 3*13-4*J2 ; 3470 S1++; 3471 S2++; 3472 } 3473 } 3474 for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) { 3475 J3 = 13-(I2)-(I3) ; 3476 S1++; 3477 J3 = -(13)-2*(I2)+2*I3 ; 3478 S2++; 3479 } 3480 for (I3=13-I2+1;I3<=min(N1,floord(2*13+3*I2,3));I3++) { 3481 J3 = -(13)-2*(I2)+2*I3 ; 3482 S2++; 3483 } 3484 } 3485 for (I3=2*3+1;I3<=3*3;I3++) { 3486 J3 = 13-(I2)-(I3) ; 3487 S1++; 3488 } 3489 if ((9*13-1)%12 == 0) { 3490 I3 = (9*13-1)/12 ; 3491 J1 = -2*(13)+3*I3 ; 3492 if ((2*13+J1)%3 == 0) { 3493 J2 = (2*13+J1)/3 ; 3494 J3 = 3*13-4*J2 ; 3495 S1++; 3496 S2++; 3497 } 3498 } 3499 if ((3*13+1)%4 == 0) { 3500 I3 = (3*13+1)/4 ; 3501 J3 = 13-(I2)-(I3) ; 3502 S1++; 3503 J3 = -(13)-2*(I2)+2*I3 ; 3504 S2++; 3505 } 3506 for (I3=3*3+2;I3<=min(N1,floord(11*3+2,3));I3++) { 3507 J3 = -(13)-2*(I2)+2*I3 ; 3508 S2++; 3509 } 3510 if (13%4 == 0) { 3511 for (I3=2*13/4;I3<=floord(6*13/4-1,2);I3++) { 3512 J3 = 13-(I2)-(I3) ; 3513 S1++; 3514 } 3515 if (3*13%4 == 0) { 3516 I3 = 3*13/4 ; 3517 J1 = -2*(13)+3*I3 ; 3518 if ((2*13+J1)%3 == 0) { 3519 J2 = (2*13+J1)/3 ; 3520 J3 = 3*13-4*J2 ; 3521 S1++; 3522 S2++; 3523 } 3524 } 3525 for (I3=3*13/4+1;I3<=min(N1,floord(11*13/4,3));I3++) { 3526 J3 = -(13)-2*(I2)+2*I3 ; 3527 S2++; 3528 } 3529 } 3530 for (I2=4;I2<=12;I2++) { 3531 for (I3=max(max(1,ceild(13-I2,2)),13-2*I2);I3<=13-I2;I3++) { 3532 J3 = 13-(I2)-(I3) ; 3533 S1++; 3534 } 3535 for (I3=max(13-I2+1,ceild(13+2*I2,2));I3<=min(N1,floord(2*13+3*I2,3));I3++) { 3536 J3 = -(13)-2*(I2)+2*I3 ; 3537 S2++; 3538 } 3539 } 3540} 3541for (I1=max(10,ceild(2*N1+3,3));I1<=min(floord(6*N1-4,5),11);I1++) { 3542 for (I2=1;I2<=floord(I1-1,9);I2++) { 3543 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 3544 J3 = -I1-2*(I2)+2*I3 ; 3545 S2++; 3546 } 3547 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 3548 J3 = I1-(I2)-(I3) ; 3549 S1++; 3550 } 3551 } 3552 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) { 3553 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 3554 J3 = -I1-2*(I2)+2*I3 ; 3555 S2++; 3556 } 3557 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 3558 J3 = I1-(I2)-(I3) ; 3559 S1++; 3560 J3 = -I1-2*(I2)+2*I3 ; 3561 S2++; 3562 } 3563 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 3564 J3 = I1-(I2)-(I3) ; 3565 S1++; 3566 } 3567 } 3568 if (I1%6 == 0) { 3569 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 3570 J3 = -I1-2*(I2)+2*I3 ; 3571 S2++; 3572 J3 = I1-(I2)-(I3) ; 3573 S1++; 3574 } 3575 if (13*I1%18 == 0) { 3576 I3 = 13*I1/18 ; 3577 J1 = -2*I1+3*I3 ; 3578 if ((2*I1+J1)%3 == 0) { 3579 J2 = (2*I1+J1)/3 ; 3580 J3 = 3*I1-4*J2 ; 3581 S1++; 3582 S2++; 3583 } 3584 } 3585 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 3586 J3 = I1-(I2)-(I3) ; 3587 S1++; 3588 J3 = -I1-2*(I2)+2*I3 ; 3589 S2++; 3590 } 3591 } 3592 for (I2=max(ceild(I1+1,6),I1-N1+1);I2<=floord(I1+2,6);I2++) { 3593 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 3594 J3 = I1-(I2)-(I3) ; 3595 S1++; 3596 } 3597 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 3598 J3 = -I1-2*(I2)+2*I3 ; 3599 S2++; 3600 J3 = I1-(I2)-(I3) ; 3601 S1++; 3602 } 3603 if ((2*I1+I2)%3 == 0) { 3604 I3 = (2*I1+I2)/3 ; 3605 J1 = -2*I1+3*I3 ; 3606 if ((2*I1+J1)%3 == 0) { 3607 J2 = (2*I1+J1)/3 ; 3608 J3 = 3*I1-4*J2 ; 3609 S1++; 3610 S2++; 3611 } 3612 } 3613 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 3614 J3 = I1-(I2)-(I3) ; 3615 S1++; 3616 J3 = -I1-2*(I2)+2*I3 ; 3617 S2++; 3618 } 3619 } 3620 if ((I1-1)%4 == 0) { 3621 I2 = (I1-1)/4 ; 3622 for (I3=2*I2+1;I3<=3*I2;I3++) { 3623 J3 = I1-(I2)-(I3) ; 3624 S1++; 3625 } 3626 if ((9*I1-1)%12 == 0) { 3627 I3 = (9*I1-1)/12 ; 3628 J1 = -2*I1+3*I3 ; 3629 if ((2*I1+J1)%3 == 0) { 3630 J2 = (2*I1+J1)/3 ; 3631 J3 = 3*I1-4*J2 ; 3632 S1++; 3633 S2++; 3634 } 3635 } 3636 if ((3*I1+1)%4 == 0) { 3637 I3 = (3*I1+1)/4 ; 3638 J3 = I1-(I2)-(I3) ; 3639 S1++; 3640 J3 = -I1-2*(I2)+2*I3 ; 3641 S2++; 3642 } 3643 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 3644 J3 = -I1-2*(I2)+2*I3 ; 3645 S2++; 3646 } 3647 } 3648 if (I1%4 == 0) { 3649 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 3650 J3 = I1-(I2)-(I3) ; 3651 S1++; 3652 } 3653 if (3*I1%4 == 0) { 3654 I3 = 3*I1/4 ; 3655 J1 = -2*I1+3*I3 ; 3656 if ((2*I1+J1)%3 == 0) { 3657 J2 = (2*I1+J1)/3 ; 3658 J3 = 3*I1-4*J2 ; 3659 S1++; 3660 S2++; 3661 } 3662 } 3663 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 3664 J3 = -I1-2*(I2)+2*I3 ; 3665 S2++; 3666 } 3667 } 3668 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) { 3669 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 3670 J3 = I1-(I2)-(I3) ; 3671 S1++; 3672 } 3673 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 3674 J3 = -I1-2*(I2)+2*I3 ; 3675 S2++; 3676 } 3677 } 3678 for (I2=ceild(-I1+2*N1+1,2);I2<=min(N1,I1-1);I2++) { 3679 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 3680 J3 = I1-(I2)-(I3) ; 3681 S1++; 3682 } 3683 } 3684} 3685if (N1 == 8) { 3686 for (I3=ceild(10+2*1,2);I3<=min(10-2*(1)-1,floord(2*10+3*1,3));I3++) { 3687 J3 = -(10)-2*(I2)+2*I3 ; 3688 S2++; 3689 } 3690 for (I3=10-2*(1);I3<=min(N1,10-(1));I3++) { 3691 J3 = 10-(I2)-(I3) ; 3692 S1++; 3693 } 3694 if (5%3 == 0) { 3695 for (I3=4*5/3;I3<=floord(13*5/3-1,3);I3++) { 3696 J3 = -(10)-2*(I2)+2*I3 ; 3697 S2++; 3698 J3 = 10-(I2)-(I3) ; 3699 S1++; 3700 } 3701 if (13*10%18 == 0) { 3702 I3 = 13*10/18 ; 3703 J1 = -2*(10)+3*I3 ; 3704 if ((2*10+J1)%3 == 0) { 3705 J2 = (2*10+J1)/3 ; 3706 J3 = 3*10-4*J2 ; 3707 S1++; 3708 S2++; 3709 } 3710 } 3711 for (I3=ceild(13*5/3+1,3);I3<=min(N1,5*5/3);I3++) { 3712 J3 = 10-(I2)-(I3) ; 3713 S1++; 3714 J3 = -(10)-2*(I2)+2*I3 ; 3715 S2++; 3716 } 3717 } 3718 for (I3=10-2*(2);I3<=floord(10+2*2-1,2);I3++) { 3719 J3 = 10-(I2)-(I3) ; 3720 S1++; 3721 } 3722 for (I3=ceild(10+2*2,2);I3<=floord(2*10+2-1,3);I3++) { 3723 J3 = -(10)-2*(I2)+2*I3 ; 3724 S2++; 3725 J3 = 10-(I2)-(I3) ; 3726 S1++; 3727 } 3728 if ((2*10+2)%3 == 0) { 3729 I3 = (2*10+2)/3 ; 3730 J1 = -2*(10)+3*I3 ; 3731 if ((2*10+J1)%3 == 0) { 3732 J2 = (2*10+J1)/3 ; 3733 J3 = 3*10-4*J2 ; 3734 S1++; 3735 S2++; 3736 } 3737 } 3738 for (I3=ceild(2*10+2+1,3);I3<=N1;I3++) { 3739 J3 = 10-(I2)-(I3) ; 3740 S1++; 3741 J3 = -(10)-2*(I2)+2*I3 ; 3742 S2++; 3743 } 3744 for (I3=max(max(1,ceild(10-(3),2)),10-2*(3));I3<=10-(3);I3++) { 3745 J3 = 10-(I2)-(I3) ; 3746 S1++; 3747 } 3748 for (I3=max(10-(3)+1,ceild(10+2*3,2));I3<=min(N1,floord(2*10+3*3,3));I3++) { 3749 J3 = -(10)-2*(I2)+2*I3 ; 3750 S2++; 3751 } 3752 for (I2=4;I2<=8;I2++) { 3753 for (I3=max(max(ceild(10-I2,2),10-2*I2),1);I3<=min(10-I2,N1);I3++) { 3754 J3 = 10-(I2)-(I3) ; 3755 S1++; 3756 } 3757 } 3758} 3759for (I1=max(8,ceild(4*N1-3,3));I1<=floord(6*N1,5);I1++) { 3760 for (I2=1;I2<=floord(I1-1,7);I2++) { 3761 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 3762 J3 = -I1-2*(I2)+2*I3 ; 3763 S2++; 3764 } 3765 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 3766 J3 = I1-(I2)-(I3) ; 3767 S1++; 3768 J3 = -I1-2*(I2)+2*I3 ; 3769 S2++; 3770 } 3771 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 3772 J3 = I1-(I2)-(I3) ; 3773 S1++; 3774 } 3775 } 3776 if (I1%6 == 0) { 3777 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 3778 J3 = -I1-2*(I2)+2*I3 ; 3779 S2++; 3780 J3 = I1-(I2)-(I3) ; 3781 S1++; 3782 } 3783 if (13*I1%18 == 0) { 3784 I3 = 13*I1/18 ; 3785 J1 = -2*I1+3*I3 ; 3786 if ((2*I1+J1)%3 == 0) { 3787 J2 = (2*I1+J1)/3 ; 3788 J3 = 3*I1-4*J2 ; 3789 S1++; 3790 S2++; 3791 } 3792 } 3793 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 3794 J3 = I1-(I2)-(I3) ; 3795 S1++; 3796 J3 = -I1-2*(I2)+2*I3 ; 3797 S2++; 3798 } 3799 } 3800 for (I2=I1-N1+1;I2<=floord(-I1+2*N1,2);I2++) { 3801 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 3802 J3 = I1-(I2)-(I3) ; 3803 S1++; 3804 } 3805 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 3806 J3 = -I1-2*(I2)+2*I3 ; 3807 S2++; 3808 } 3809 } 3810 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 3811 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 3812 J3 = I1-(I2)-(I3) ; 3813 S1++; 3814 } 3815 } 3816} 3817if (N1 == 8) { 3818 for (I3=ceild(11+2*1,2);I3<=min(N1,floord(2*11+3*1,3));I3++) { 3819 J3 = -(11)-2*(I2)+2*I3 ; 3820 S2++; 3821 } 3822 for (I3=ceild(-5*(2)+3*N1,2);I3<=floord(3*2+3*N1-2,4);I3++) { 3823 J3 = 11-(I2)-(I3) ; 3824 S1++; 3825 } 3826 for (I3=ceild(3*2+3*N1,4);I3<=floord(3*N1-1,3);I3++) { 3827 J3 = -(11)-2*(I2)+2*I3 ; 3828 S2++; 3829 J3 = 11-(I2)-(I3) ; 3830 S1++; 3831 } 3832 J1 = -2*(11)+3*N1 ; 3833 if ((2*11+J1)%3 == 0) { 3834 J2 = (2*11+J1)/3 ; 3835 J3 = 3*11-4*J2 ; 3836 S1++; 3837 S2++; 3838 } 3839 for (I2=3;I2<=8;I2++) { 3840 for (I3=max(max(ceild(11-I2,2),11-2*I2),1);I3<=min(11-I2,N1);I3++) { 3841 J3 = 11-(I2)-(I3) ; 3842 S1++; 3843 } 3844 } 3845} 3846for (I1=14;I1<=min(19,floord(2*N1,3));I1++) { 3847 for (I2=1;I2<=floord(I1-1,9);I2++) { 3848 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 3849 J3 = -I1-2*(I2)+2*I3 ; 3850 S2++; 3851 } 3852 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 3853 J3 = I1-(I2)-(I3) ; 3854 S1++; 3855 } 3856 } 3857 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) { 3858 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 3859 J3 = -I1-2*(I2)+2*I3 ; 3860 S2++; 3861 } 3862 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 3863 J3 = I1-(I2)-(I3) ; 3864 S1++; 3865 J3 = -I1-2*(I2)+2*I3 ; 3866 S2++; 3867 } 3868 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 3869 J3 = I1-(I2)-(I3) ; 3870 S1++; 3871 } 3872 } 3873 if (I1%7 == 0) { 3874 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 3875 J3 = -I1-2*(I2)+2*I3 ; 3876 S2++; 3877 } 3878 if (5*I1%7 == 0) { 3879 I3 = 5*I1/7 ; 3880 J1 = -2*I1+3*I3 ; 3881 if ((2*I1+J1)%3 == 0) { 3882 J2 = (2*I1+J1)/3 ; 3883 J3 = 3*I1-4*J2 ; 3884 S1++; 3885 S2++; 3886 } 3887 } 3888 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) { 3889 J3 = I1-(I2)-(I3) ; 3890 S1++; 3891 J3 = -I1-2*(I2)+2*I3 ; 3892 S2++; 3893 } 3894 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) { 3895 J3 = I1-(I2)-(I3) ; 3896 S1++; 3897 } 3898 } 3899 if ((I1-1)%6 == 0) { 3900 I2 = (I1-1)/6 ; 3901 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 3902 J3 = -I1-2*(I2)+2*I3 ; 3903 S2++; 3904 J3 = I1-(I2)-(I3) ; 3905 S1++; 3906 } 3907 if ((13*I1-1)%18 == 0) { 3908 I3 = (13*I1-1)/18 ; 3909 J1 = -2*I1+3*I3 ; 3910 if ((2*I1+J1)%3 == 0) { 3911 J2 = (2*I1+J1)/3 ; 3912 J3 = 3*I1-4*J2 ; 3913 S1++; 3914 S2++; 3915 } 3916 } 3917 for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) { 3918 J3 = I1-(I2)-(I3) ; 3919 S1++; 3920 J3 = -I1-2*(I2)+2*I3 ; 3921 S2++; 3922 } 3923 if ((5*I1+1)%6 == 0) { 3924 I3 = (5*I1+1)/6 ; 3925 J3 = I1-(I2)-(I3) ; 3926 S1++; 3927 } 3928 } 3929 if (I1%6 == 0) { 3930 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 3931 J3 = -I1-2*(I2)+2*I3 ; 3932 S2++; 3933 J3 = I1-(I2)-(I3) ; 3934 S1++; 3935 } 3936 if (13*I1%18 == 0) { 3937 I3 = 13*I1/18 ; 3938 J1 = -2*I1+3*I3 ; 3939 if ((2*I1+J1)%3 == 0) { 3940 J2 = (2*I1+J1)/3 ; 3941 J3 = 3*I1-4*J2 ; 3942 S1++; 3943 S2++; 3944 } 3945 } 3946 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 3947 J3 = I1-(I2)-(I3) ; 3948 S1++; 3949 J3 = -I1-2*(I2)+2*I3 ; 3950 S2++; 3951 } 3952 } 3953 for (I2=ceild(I1+1,6);I2<=floord(I1+2,6);I2++) { 3954 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 3955 J3 = I1-(I2)-(I3) ; 3956 S1++; 3957 } 3958 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 3959 J3 = -I1-2*(I2)+2*I3 ; 3960 S2++; 3961 J3 = I1-(I2)-(I3) ; 3962 S1++; 3963 } 3964 if ((2*I1+I2)%3 == 0) { 3965 I3 = (2*I1+I2)/3 ; 3966 J1 = -2*I1+3*I3 ; 3967 if ((2*I1+J1)%3 == 0) { 3968 J2 = (2*I1+J1)/3 ; 3969 J3 = 3*I1-4*J2 ; 3970 S1++; 3971 S2++; 3972 } 3973 } 3974 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 3975 J3 = I1-(I2)-(I3) ; 3976 S1++; 3977 J3 = -I1-2*(I2)+2*I3 ; 3978 S2++; 3979 } 3980 } 3981 for (I2=ceild(I1+3,6);I2<=floord(I1-2,4);I2++) { 3982 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 3983 J3 = I1-(I2)-(I3) ; 3984 S1++; 3985 } 3986 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 3987 J3 = -I1-2*(I2)+2*I3 ; 3988 S2++; 3989 J3 = I1-(I2)-(I3) ; 3990 S1++; 3991 } 3992 if ((2*I1+I2)%3 == 0) { 3993 I3 = (2*I1+I2)/3 ; 3994 J1 = -2*I1+3*I3 ; 3995 if ((2*I1+J1)%3 == 0) { 3996 J2 = (2*I1+J1)/3 ; 3997 J3 = 3*I1-4*J2 ; 3998 S1++; 3999 S2++; 4000 } 4001 } 4002 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 4003 J3 = I1-(I2)-(I3) ; 4004 S1++; 4005 J3 = -I1-2*(I2)+2*I3 ; 4006 S2++; 4007 } 4008 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 4009 J3 = -I1-2*(I2)+2*I3 ; 4010 S2++; 4011 } 4012 } 4013 if ((I1-1)%4 == 0) { 4014 I2 = (I1-1)/4 ; 4015 for (I3=2*I2+1;I3<=3*I2;I3++) { 4016 J3 = I1-(I2)-(I3) ; 4017 S1++; 4018 } 4019 if ((9*I1-1)%12 == 0) { 4020 I3 = (9*I1-1)/12 ; 4021 J1 = -2*I1+3*I3 ; 4022 if ((2*I1+J1)%3 == 0) { 4023 J2 = (2*I1+J1)/3 ; 4024 J3 = 3*I1-4*J2 ; 4025 S1++; 4026 S2++; 4027 } 4028 } 4029 if ((3*I1+1)%4 == 0) { 4030 I3 = (3*I1+1)/4 ; 4031 J3 = I1-(I2)-(I3) ; 4032 S1++; 4033 J3 = -I1-2*(I2)+2*I3 ; 4034 S2++; 4035 } 4036 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 4037 J3 = -I1-2*(I2)+2*I3 ; 4038 S2++; 4039 } 4040 } 4041 if (I1%4 == 0) { 4042 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 4043 J3 = I1-(I2)-(I3) ; 4044 S1++; 4045 } 4046 if (3*I1%4 == 0) { 4047 I3 = 3*I1/4 ; 4048 J1 = -2*I1+3*I3 ; 4049 if ((2*I1+J1)%3 == 0) { 4050 J2 = (2*I1+J1)/3 ; 4051 J3 = 3*I1-4*J2 ; 4052 S1++; 4053 S2++; 4054 } 4055 } 4056 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 4057 J3 = -I1-2*(I2)+2*I3 ; 4058 S2++; 4059 } 4060 } 4061 for (I2=ceild(I1+1,4);I2<=I1-1;I2++) { 4062 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 4063 J3 = I1-(I2)-(I3) ; 4064 S1++; 4065 } 4066 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 4067 J3 = -I1-2*(I2)+2*I3 ; 4068 S2++; 4069 } 4070 } 4071 for (I2=I1;I2<=floord(-I1+2*N1,2);I2++) { 4072 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 4073 J3 = -I1-2*(I2)+2*I3 ; 4074 S2++; 4075 } 4076 } 4077} 4078if ((N1 <= 16) && (N1 >= 11)) { 4079 for (I3=ceild(12+2*1,2);I3<=min(12-2*(1)-1,floord(2*12+3*1,3));I3++) { 4080 J3 = -(12)-2*(I2)+2*I3 ; 4081 S2++; 4082 } 4083 for (I3=12-2*(1);I3<=min(N1,12-(1));I3++) { 4084 J3 = 12-(I2)-(I3) ; 4085 S1++; 4086 } 4087 for (I2=2;I2<=1;I2++) { 4088 for (I3=ceild(12+2*I2,2);I3<=12-2*I2-1;I3++) { 4089 J3 = -(12)-2*(I2)+2*I3 ; 4090 S2++; 4091 } 4092 for (I3=12-2*I2;I3<=floord(2*12+3*I2,3);I3++) { 4093 J3 = 12-(I2)-(I3) ; 4094 S1++; 4095 J3 = -(12)-2*(I2)+2*I3 ; 4096 S2++; 4097 } 4098 for (I3=ceild(2*12+3*I2+1,3);I3<=min(N1,12-I2);I3++) { 4099 J3 = 12-(I2)-(I3) ; 4100 S1++; 4101 } 4102 } 4103 for (I3=4*2;I3<=floord(13*2-1,3);I3++) { 4104 J3 = -(12)-2*(I2)+2*I3 ; 4105 S2++; 4106 J3 = 12-(I2)-(I3) ; 4107 S1++; 4108 } 4109 if (13*12%18 == 0) { 4110 I3 = 13*12/18 ; 4111 J1 = -2*(12)+3*I3 ; 4112 if ((2*12+J1)%3 == 0) { 4113 J2 = (2*12+J1)/3 ; 4114 J3 = 3*12-4*J2 ; 4115 S1++; 4116 S2++; 4117 } 4118 } 4119 for (I3=ceild(13*2+1,3);I3<=min(N1,5*2);I3++) { 4120 J3 = 12-(I2)-(I3) ; 4121 S1++; 4122 J3 = -(12)-2*(I2)+2*I3 ; 4123 S2++; 4124 } 4125 for (I2=max(3,-N1+13);I2<=2;I2++) { 4126 for (I3=12-2*I2;I3<=floord(12+2*I2-1,2);I3++) { 4127 J3 = 12-(I2)-(I3) ; 4128 S1++; 4129 } 4130 for (I3=ceild(12+2*I2,2);I3<=floord(2*12+I2-1,3);I3++) { 4131 J3 = -(12)-2*(I2)+2*I3 ; 4132 S2++; 4133 J3 = 12-(I2)-(I3) ; 4134 S1++; 4135 } 4136 if ((2*12+I2)%3 == 0) { 4137 I3 = (2*12+I2)/3 ; 4138 J1 = -2*(12)+3*I3 ; 4139 if ((2*12+J1)%3 == 0) { 4140 J2 = (2*12+J1)/3 ; 4141 J3 = 3*12-4*J2 ; 4142 S1++; 4143 S2++; 4144 } 4145 } 4146 for (I3=ceild(2*12+I2+1,3);I3<=12-I2;I3++) { 4147 J3 = 12-(I2)-(I3) ; 4148 S1++; 4149 J3 = -(12)-2*(I2)+2*I3 ; 4150 S2++; 4151 } 4152 } 4153 if (5%2 == 0) { 4154 for (I3=12-2*(5/2);I3<=floord(12+2*5/2-1,2);I3++) { 4155 J3 = 12-(I2)-(I3) ; 4156 S1++; 4157 } 4158 for (I3=ceild(12+2*5/2,2);I3<=floord(2*12+5/2-1,3);I3++) { 4159 J3 = -(12)-2*(I2)+2*I3 ; 4160 S2++; 4161 J3 = 12-(I2)-(I3) ; 4162 S1++; 4163 } 4164 if ((2*12+5/2)%3 == 0) { 4165 I3 = (2*12+5/2)/3 ; 4166 J1 = -2*(12)+3*I3 ; 4167 if ((2*12+J1)%3 == 0) { 4168 J2 = (2*12+J1)/3 ; 4169 J3 = 3*12-4*J2 ; 4170 S1++; 4171 S2++; 4172 } 4173 } 4174 for (I3=ceild(2*12+5/2+1,3);I3<=12-(5/2);I3++) { 4175 J3 = 12-(I2)-(I3) ; 4176 S1++; 4177 J3 = -(12)-2*(I2)+2*I3 ; 4178 S2++; 4179 } 4180 for (I3=12-(5/2)+1;I3<=min(N1,floord(2*12+3*5/2,3));I3++) { 4181 J3 = -(12)-2*(I2)+2*I3 ; 4182 S2++; 4183 } 4184 } 4185 if (11%4 == 0) { 4186 for (I3=2*11/4+1;I3<=3*11/4;I3++) { 4187 J3 = 12-(I2)-(I3) ; 4188 S1++; 4189 } 4190 if ((9*12-1)%12 == 0) { 4191 I3 = (9*12-1)/12 ; 4192 J1 = -2*(12)+3*I3 ; 4193 if ((2*12+J1)%3 == 0) { 4194 J2 = (2*12+J1)/3 ; 4195 J3 = 3*12-4*J2 ; 4196 S1++; 4197 S2++; 4198 } 4199 } 4200 if ((3*12+1)%4 == 0) { 4201 I3 = (3*12+1)/4 ; 4202 J3 = 12-(I2)-(I3) ; 4203 S1++; 4204 J3 = -(12)-2*(I2)+2*I3 ; 4205 S2++; 4206 } 4207 for (I3=3*11/4+2;I3<=min(N1,floord(11*11/4+2,3));I3++) { 4208 J3 = -(12)-2*(I2)+2*I3 ; 4209 S2++; 4210 } 4211 } 4212 for (I3=2*3;I3<=floord(6*3-1,2);I3++) { 4213 J3 = 12-(I2)-(I3) ; 4214 S1++; 4215 } 4216 if (3*12%4 == 0) { 4217 I3 = 3*12/4 ; 4218 J1 = -2*(12)+3*I3 ; 4219 if ((2*12+J1)%3 == 0) { 4220 J2 = (2*12+J1)/3 ; 4221 J3 = 3*12-4*J2 ; 4222 S1++; 4223 S2++; 4224 } 4225 } 4226 for (I3=3*3+1;I3<=min(N1,floord(11*3,3));I3++) { 4227 J3 = -(12)-2*(I2)+2*I3 ; 4228 S2++; 4229 } 4230 for (I2=4;I2<=N1-6;I2++) { 4231 for (I3=max(max(1,ceild(12-I2,2)),12-2*I2);I3<=12-I2;I3++) { 4232 J3 = 12-(I2)-(I3) ; 4233 S1++; 4234 } 4235 for (I3=max(12-I2+1,ceild(12+2*I2,2));I3<=min(N1,floord(2*12+3*I2,3));I3++) { 4236 J3 = -(12)-2*(I2)+2*I3 ; 4237 S2++; 4238 } 4239 } 4240 for (I2=ceild(2*N1-11,2);I2<=min(N1,11);I2++) { 4241 for (I3=max(max(ceild(12-I2,2),12-2*I2),1);I3<=min(12-I2,N1);I3++) { 4242 J3 = 12-(I2)-(I3) ; 4243 S1++; 4244 } 4245 } 4246} 4247for (I1=max(max(10,ceild(12*N1-39,7)),ceild(6*N1-3,5));I1<=floord(4*N1-5,3);I1++) { 4248 for (I2=1;I2<=floord(I1-1,9);I2++) { 4249 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 4250 J3 = -I1-2*(I2)+2*I3 ; 4251 S2++; 4252 } 4253 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 4254 J3 = I1-(I2)-(I3) ; 4255 S1++; 4256 } 4257 } 4258 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) { 4259 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 4260 J3 = -I1-2*(I2)+2*I3 ; 4261 S2++; 4262 } 4263 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 4264 J3 = I1-(I2)-(I3) ; 4265 S1++; 4266 J3 = -I1-2*(I2)+2*I3 ; 4267 S2++; 4268 } 4269 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 4270 J3 = I1-(I2)-(I3) ; 4271 S1++; 4272 } 4273 } 4274 if (I1%6 == 0) { 4275 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 4276 J3 = -I1-2*(I2)+2*I3 ; 4277 S2++; 4278 J3 = I1-(I2)-(I3) ; 4279 S1++; 4280 } 4281 if (13*I1%18 == 0) { 4282 I3 = 13*I1/18 ; 4283 J1 = -2*I1+3*I3 ; 4284 if ((2*I1+J1)%3 == 0) { 4285 J2 = (2*I1+J1)/3 ; 4286 J3 = 3*I1-4*J2 ; 4287 S1++; 4288 S2++; 4289 } 4290 } 4291 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 4292 J3 = I1-(I2)-(I3) ; 4293 S1++; 4294 J3 = -I1-2*(I2)+2*I3 ; 4295 S2++; 4296 } 4297 } 4298 if ((I1-1)%4 == 0) { 4299 I2 = (I1-1)/4 ; 4300 for (I3=2*I2+1;I3<=3*I2;I3++) { 4301 J3 = I1-(I2)-(I3) ; 4302 S1++; 4303 } 4304 if ((9*I1-1)%12 == 0) { 4305 I3 = (9*I1-1)/12 ; 4306 J1 = -2*I1+3*I3 ; 4307 if ((2*I1+J1)%3 == 0) { 4308 J2 = (2*I1+J1)/3 ; 4309 J3 = 3*I1-4*J2 ; 4310 S1++; 4311 S2++; 4312 } 4313 } 4314 if ((3*I1+1)%4 == 0) { 4315 I3 = (3*I1+1)/4 ; 4316 J3 = I1-(I2)-(I3) ; 4317 S1++; 4318 J3 = -I1-2*(I2)+2*I3 ; 4319 S2++; 4320 } 4321 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 4322 J3 = -I1-2*(I2)+2*I3 ; 4323 S2++; 4324 } 4325 } 4326 if (I1%4 == 0) { 4327 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 4328 J3 = I1-(I2)-(I3) ; 4329 S1++; 4330 } 4331 if (3*I1%4 == 0) { 4332 I3 = 3*I1/4 ; 4333 J1 = -2*I1+3*I3 ; 4334 if ((2*I1+J1)%3 == 0) { 4335 J2 = (2*I1+J1)/3 ; 4336 J3 = 3*I1-4*J2 ; 4337 S1++; 4338 S2++; 4339 } 4340 } 4341 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 4342 J3 = -I1-2*(I2)+2*I3 ; 4343 S2++; 4344 } 4345 } 4346 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) { 4347 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 4348 J3 = I1-(I2)-(I3) ; 4349 S1++; 4350 } 4351 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 4352 J3 = -I1-2*(I2)+2*I3 ; 4353 S2++; 4354 } 4355 } 4356 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 4357 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 4358 J3 = I1-(I2)-(I3) ; 4359 S1++; 4360 } 4361 } 4362} 4363if ((N1 <= 7) && (N1 >= 7)) { 4364 if ((4*N1-1)%3 == 0) { 4365 I1 = (4*N1-1)/3 ; 4366 for (I2=1;I2<=floord(4*N1-4,21);I2++) { 4367 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 4368 J3 = -I1-2*(I2)+2*I3 ; 4369 S2++; 4370 } 4371 for (I3=I1-2*I2;I3<=N1;I3++) { 4372 J3 = I1-(I2)-(I3) ; 4373 S1++; 4374 J3 = -I1-2*(I2)+2*I3 ; 4375 S2++; 4376 } 4377 } 4378 if ((4*N1-1)%18 == 0) { 4379 I2 = (4*N1-1)/18 ; 4380 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) { 4381 J3 = -I1-2*(I2)+2*I3 ; 4382 S2++; 4383 J3 = I1-(I2)-(I3) ; 4384 S1++; 4385 } 4386 if (13*I1%18 == 0) { 4387 I3 = 13*I1/18 ; 4388 J1 = -2*I1+3*I3 ; 4389 if ((2*I1+J1)%3 == 0) { 4390 J2 = (2*I1+J1)/3 ; 4391 J3 = 3*I1-4*J2 ; 4392 S1++; 4393 S2++; 4394 } 4395 } 4396 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) { 4397 J3 = I1-(I2)-(I3) ; 4398 S1++; 4399 J3 = -I1-2*(I2)+2*I3 ; 4400 S2++; 4401 } 4402 } 4403 for (I2=ceild(2*N1+1,9);I2<=floord(4*N1-7,12);I2++) { 4404 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 4405 J3 = I1-(I2)-(I3) ; 4406 S1++; 4407 } 4408 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 4409 J3 = -I1-2*(I2)+2*I3 ; 4410 S2++; 4411 J3 = I1-(I2)-(I3) ; 4412 S1++; 4413 } 4414 if ((2*I1+I2)%3 == 0) { 4415 I3 = (2*I1+I2)/3 ; 4416 J1 = -2*I1+3*I3 ; 4417 if ((2*I1+J1)%3 == 0) { 4418 J2 = (2*I1+J1)/3 ; 4419 J3 = 3*I1-4*J2 ; 4420 S1++; 4421 S2++; 4422 } 4423 } 4424 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 4425 J3 = I1-(I2)-(I3) ; 4426 S1++; 4427 J3 = -I1-2*(I2)+2*I3 ; 4428 S2++; 4429 } 4430 } 4431 if ((N1-1)%3 == 0) { 4432 I2 = (N1-1)/3 ; 4433 for (I3=ceild(2*N1+1,3);I3<=N1-1;I3++) { 4434 J3 = I1-(I2)-(I3) ; 4435 S1++; 4436 } 4437 if (-1%3 == 0) { 4438 I3 = (3*N1-1)/3 ; 4439 J1 = -2*I1+3*I3 ; 4440 if ((2*I1+J1)%3 == 0) { 4441 J2 = (2*I1+J1)/3 ; 4442 J3 = 3*I1-4*J2 ; 4443 S1++; 4444 S2++; 4445 } 4446 } 4447 J3 = I1-(I2)-(I3) ; 4448 S1++; 4449 J3 = -I1-2*(I2)+2*I3 ; 4450 S2++; 4451 } 4452 for (I2=ceild(N1+2,3);I2<=N1;I2++) { 4453 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 4454 J3 = I1-(I2)-(I3) ; 4455 S1++; 4456 } 4457 } 4458 } 4459} 4460for (I1=max(N1+3,ceild(3*N1-1,2));I1<=floord(18*N1+5,13);I1++) { 4461 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 4462 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 4463 J3 = -I1-2*(I2)+2*I3 ; 4464 S2++; 4465 } 4466 } 4467 for (I2=-2*I1+3*N1+1;I2<=floord(-I1+2*N1,2);I2++) { 4468 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 4469 J3 = I1-(I2)-(I3) ; 4470 S1++; 4471 } 4472 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 4473 J3 = -I1-2*(I2)+2*I3 ; 4474 S2++; 4475 J3 = I1-(I2)-(I3) ; 4476 S1++; 4477 } 4478 } 4479 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 4480 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 4481 J3 = I1-(I2)-(I3) ; 4482 S1++; 4483 } 4484 } 4485} 4486for (I1=20;I1<=floord(2*N1,3);I1++) { 4487 for (I2=1;I2<=floord(I1-1,9);I2++) { 4488 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 4489 J3 = -I1-2*(I2)+2*I3 ; 4490 S2++; 4491 } 4492 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 4493 J3 = I1-(I2)-(I3) ; 4494 S1++; 4495 } 4496 } 4497 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) { 4498 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 4499 J3 = -I1-2*(I2)+2*I3 ; 4500 S2++; 4501 } 4502 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 4503 J3 = I1-(I2)-(I3) ; 4504 S1++; 4505 J3 = -I1-2*(I2)+2*I3 ; 4506 S2++; 4507 } 4508 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 4509 J3 = I1-(I2)-(I3) ; 4510 S1++; 4511 } 4512 } 4513 if (I1%7 == 0) { 4514 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 4515 J3 = -I1-2*(I2)+2*I3 ; 4516 S2++; 4517 } 4518 if (5*I1%7 == 0) { 4519 I3 = 5*I1/7 ; 4520 J1 = -2*I1+3*I3 ; 4521 if ((2*I1+J1)%3 == 0) { 4522 J2 = (2*I1+J1)/3 ; 4523 J3 = 3*I1-4*J2 ; 4524 S1++; 4525 S2++; 4526 } 4527 } 4528 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) { 4529 J3 = I1-(I2)-(I3) ; 4530 S1++; 4531 J3 = -I1-2*(I2)+2*I3 ; 4532 S2++; 4533 } 4534 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) { 4535 J3 = I1-(I2)-(I3) ; 4536 S1++; 4537 } 4538 } 4539 for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) { 4540 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 4541 J3 = -I1-2*(I2)+2*I3 ; 4542 S2++; 4543 } 4544 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 4545 J3 = -I1-2*(I2)+2*I3 ; 4546 S2++; 4547 J3 = I1-(I2)-(I3) ; 4548 S1++; 4549 } 4550 if ((2*I1+I2)%3 == 0) { 4551 I3 = (2*I1+I2)/3 ; 4552 J1 = -2*I1+3*I3 ; 4553 if ((2*I1+J1)%3 == 0) { 4554 J2 = (2*I1+J1)/3 ; 4555 J3 = 3*I1-4*J2 ; 4556 S1++; 4557 S2++; 4558 } 4559 } 4560 for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) { 4561 J3 = I1-(I2)-(I3) ; 4562 S1++; 4563 J3 = -I1-2*(I2)+2*I3 ; 4564 S2++; 4565 } 4566 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 4567 J3 = I1-(I2)-(I3) ; 4568 S1++; 4569 } 4570 } 4571 if ((I1-1)%6 == 0) { 4572 I2 = (I1-1)/6 ; 4573 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 4574 J3 = -I1-2*(I2)+2*I3 ; 4575 S2++; 4576 J3 = I1-(I2)-(I3) ; 4577 S1++; 4578 } 4579 if ((13*I1-1)%18 == 0) { 4580 I3 = (13*I1-1)/18 ; 4581 J1 = -2*I1+3*I3 ; 4582 if ((2*I1+J1)%3 == 0) { 4583 J2 = (2*I1+J1)/3 ; 4584 J3 = 3*I1-4*J2 ; 4585 S1++; 4586 S2++; 4587 } 4588 } 4589 for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) { 4590 J3 = I1-(I2)-(I3) ; 4591 S1++; 4592 J3 = -I1-2*(I2)+2*I3 ; 4593 S2++; 4594 } 4595 if ((5*I1+1)%6 == 0) { 4596 I3 = (5*I1+1)/6 ; 4597 J3 = I1-(I2)-(I3) ; 4598 S1++; 4599 } 4600 } 4601 if (I1%6 == 0) { 4602 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 4603 J3 = -I1-2*(I2)+2*I3 ; 4604 S2++; 4605 J3 = I1-(I2)-(I3) ; 4606 S1++; 4607 } 4608 if (13*I1%18 == 0) { 4609 I3 = 13*I1/18 ; 4610 J1 = -2*I1+3*I3 ; 4611 if ((2*I1+J1)%3 == 0) { 4612 J2 = (2*I1+J1)/3 ; 4613 J3 = 3*I1-4*J2 ; 4614 S1++; 4615 S2++; 4616 } 4617 } 4618 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 4619 J3 = I1-(I2)-(I3) ; 4620 S1++; 4621 J3 = -I1-2*(I2)+2*I3 ; 4622 S2++; 4623 } 4624 } 4625 for (I2=ceild(I1+1,6);I2<=floord(I1+2,6);I2++) { 4626 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 4627 J3 = I1-(I2)-(I3) ; 4628 S1++; 4629 } 4630 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 4631 J3 = -I1-2*(I2)+2*I3 ; 4632 S2++; 4633 J3 = I1-(I2)-(I3) ; 4634 S1++; 4635 } 4636 if ((2*I1+I2)%3 == 0) { 4637 I3 = (2*I1+I2)/3 ; 4638 J1 = -2*I1+3*I3 ; 4639 if ((2*I1+J1)%3 == 0) { 4640 J2 = (2*I1+J1)/3 ; 4641 J3 = 3*I1-4*J2 ; 4642 S1++; 4643 S2++; 4644 } 4645 } 4646 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 4647 J3 = I1-(I2)-(I3) ; 4648 S1++; 4649 J3 = -I1-2*(I2)+2*I3 ; 4650 S2++; 4651 } 4652 } 4653 for (I2=ceild(I1+3,6);I2<=floord(I1-2,4);I2++) { 4654 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 4655 J3 = I1-(I2)-(I3) ; 4656 S1++; 4657 } 4658 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 4659 J3 = -I1-2*(I2)+2*I3 ; 4660 S2++; 4661 J3 = I1-(I2)-(I3) ; 4662 S1++; 4663 } 4664 if ((2*I1+I2)%3 == 0) { 4665 I3 = (2*I1+I2)/3 ; 4666 J1 = -2*I1+3*I3 ; 4667 if ((2*I1+J1)%3 == 0) { 4668 J2 = (2*I1+J1)/3 ; 4669 J3 = 3*I1-4*J2 ; 4670 S1++; 4671 S2++; 4672 } 4673 } 4674 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 4675 J3 = I1-(I2)-(I3) ; 4676 S1++; 4677 J3 = -I1-2*(I2)+2*I3 ; 4678 S2++; 4679 } 4680 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 4681 J3 = -I1-2*(I2)+2*I3 ; 4682 S2++; 4683 } 4684 } 4685 if ((I1-1)%4 == 0) { 4686 I2 = (I1-1)/4 ; 4687 for (I3=2*I2+1;I3<=3*I2;I3++) { 4688 J3 = I1-(I2)-(I3) ; 4689 S1++; 4690 } 4691 if ((9*I1-1)%12 == 0) { 4692 I3 = (9*I1-1)/12 ; 4693 J1 = -2*I1+3*I3 ; 4694 if ((2*I1+J1)%3 == 0) { 4695 J2 = (2*I1+J1)/3 ; 4696 J3 = 3*I1-4*J2 ; 4697 S1++; 4698 S2++; 4699 } 4700 } 4701 if ((3*I1+1)%4 == 0) { 4702 I3 = (3*I1+1)/4 ; 4703 J3 = I1-(I2)-(I3) ; 4704 S1++; 4705 J3 = -I1-2*(I2)+2*I3 ; 4706 S2++; 4707 } 4708 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 4709 J3 = -I1-2*(I2)+2*I3 ; 4710 S2++; 4711 } 4712 } 4713 if (I1%4 == 0) { 4714 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 4715 J3 = I1-(I2)-(I3) ; 4716 S1++; 4717 } 4718 if (3*I1%4 == 0) { 4719 I3 = 3*I1/4 ; 4720 J1 = -2*I1+3*I3 ; 4721 if ((2*I1+J1)%3 == 0) { 4722 J2 = (2*I1+J1)/3 ; 4723 J3 = 3*I1-4*J2 ; 4724 S1++; 4725 S2++; 4726 } 4727 } 4728 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 4729 J3 = -I1-2*(I2)+2*I3 ; 4730 S2++; 4731 } 4732 } 4733 for (I2=ceild(I1+1,4);I2<=I1-1;I2++) { 4734 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 4735 J3 = I1-(I2)-(I3) ; 4736 S1++; 4737 } 4738 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 4739 J3 = -I1-2*(I2)+2*I3 ; 4740 S2++; 4741 } 4742 } 4743 for (I2=I1;I2<=floord(-I1+2*N1,2);I2++) { 4744 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 4745 J3 = -I1-2*(I2)+2*I3 ; 4746 S2++; 4747 } 4748 } 4749} 4750for (I1=max(14,ceild(2*N1+1,3));I1<=min(19,floord(2*N1+2,3));I1++) { 4751 for (I2=1;I2<=floord(I1-1,9);I2++) { 4752 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 4753 J3 = -I1-2*(I2)+2*I3 ; 4754 S2++; 4755 } 4756 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 4757 J3 = I1-(I2)-(I3) ; 4758 S1++; 4759 } 4760 } 4761 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) { 4762 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 4763 J3 = -I1-2*(I2)+2*I3 ; 4764 S2++; 4765 } 4766 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 4767 J3 = I1-(I2)-(I3) ; 4768 S1++; 4769 J3 = -I1-2*(I2)+2*I3 ; 4770 S2++; 4771 } 4772 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 4773 J3 = I1-(I2)-(I3) ; 4774 S1++; 4775 } 4776 } 4777 if (I1%7 == 0) { 4778 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 4779 J3 = -I1-2*(I2)+2*I3 ; 4780 S2++; 4781 } 4782 if (5*I1%7 == 0) { 4783 I3 = 5*I1/7 ; 4784 J1 = -2*I1+3*I3 ; 4785 if ((2*I1+J1)%3 == 0) { 4786 J2 = (2*I1+J1)/3 ; 4787 J3 = 3*I1-4*J2 ; 4788 S1++; 4789 S2++; 4790 } 4791 } 4792 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) { 4793 J3 = I1-(I2)-(I3) ; 4794 S1++; 4795 J3 = -I1-2*(I2)+2*I3 ; 4796 S2++; 4797 } 4798 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) { 4799 J3 = I1-(I2)-(I3) ; 4800 S1++; 4801 } 4802 } 4803 if ((I1-1)%6 == 0) { 4804 I2 = (I1-1)/6 ; 4805 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 4806 J3 = -I1-2*(I2)+2*I3 ; 4807 S2++; 4808 J3 = I1-(I2)-(I3) ; 4809 S1++; 4810 } 4811 if ((13*I1-1)%18 == 0) { 4812 I3 = (13*I1-1)/18 ; 4813 J1 = -2*I1+3*I3 ; 4814 if ((2*I1+J1)%3 == 0) { 4815 J2 = (2*I1+J1)/3 ; 4816 J3 = 3*I1-4*J2 ; 4817 S1++; 4818 S2++; 4819 } 4820 } 4821 for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) { 4822 J3 = I1-(I2)-(I3) ; 4823 S1++; 4824 J3 = -I1-2*(I2)+2*I3 ; 4825 S2++; 4826 } 4827 if ((5*I1+1)%6 == 0) { 4828 I3 = (5*I1+1)/6 ; 4829 J3 = I1-(I2)-(I3) ; 4830 S1++; 4831 } 4832 } 4833 if (I1%6 == 0) { 4834 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 4835 J3 = -I1-2*(I2)+2*I3 ; 4836 S2++; 4837 J3 = I1-(I2)-(I3) ; 4838 S1++; 4839 } 4840 if (13*I1%18 == 0) { 4841 I3 = 13*I1/18 ; 4842 J1 = -2*I1+3*I3 ; 4843 if ((2*I1+J1)%3 == 0) { 4844 J2 = (2*I1+J1)/3 ; 4845 J3 = 3*I1-4*J2 ; 4846 S1++; 4847 S2++; 4848 } 4849 } 4850 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 4851 J3 = I1-(I2)-(I3) ; 4852 S1++; 4853 J3 = -I1-2*(I2)+2*I3 ; 4854 S2++; 4855 } 4856 } 4857 for (I2=ceild(I1+1,6);I2<=floord(I1+2,6);I2++) { 4858 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 4859 J3 = I1-(I2)-(I3) ; 4860 S1++; 4861 } 4862 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 4863 J3 = -I1-2*(I2)+2*I3 ; 4864 S2++; 4865 J3 = I1-(I2)-(I3) ; 4866 S1++; 4867 } 4868 if ((2*I1+I2)%3 == 0) { 4869 I3 = (2*I1+I2)/3 ; 4870 J1 = -2*I1+3*I3 ; 4871 if ((2*I1+J1)%3 == 0) { 4872 J2 = (2*I1+J1)/3 ; 4873 J3 = 3*I1-4*J2 ; 4874 S1++; 4875 S2++; 4876 } 4877 } 4878 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 4879 J3 = I1-(I2)-(I3) ; 4880 S1++; 4881 J3 = -I1-2*(I2)+2*I3 ; 4882 S2++; 4883 } 4884 } 4885 for (I2=ceild(I1+3,6);I2<=floord(I1-2,4);I2++) { 4886 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 4887 J3 = I1-(I2)-(I3) ; 4888 S1++; 4889 } 4890 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 4891 J3 = -I1-2*(I2)+2*I3 ; 4892 S2++; 4893 J3 = I1-(I2)-(I3) ; 4894 S1++; 4895 } 4896 if ((2*I1+I2)%3 == 0) { 4897 I3 = (2*I1+I2)/3 ; 4898 J1 = -2*I1+3*I3 ; 4899 if ((2*I1+J1)%3 == 0) { 4900 J2 = (2*I1+J1)/3 ; 4901 J3 = 3*I1-4*J2 ; 4902 S1++; 4903 S2++; 4904 } 4905 } 4906 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 4907 J3 = I1-(I2)-(I3) ; 4908 S1++; 4909 J3 = -I1-2*(I2)+2*I3 ; 4910 S2++; 4911 } 4912 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 4913 J3 = -I1-2*(I2)+2*I3 ; 4914 S2++; 4915 } 4916 } 4917 if ((I1-1)%4 == 0) { 4918 I2 = (I1-1)/4 ; 4919 for (I3=2*I2+1;I3<=3*I2;I3++) { 4920 J3 = I1-(I2)-(I3) ; 4921 S1++; 4922 } 4923 if ((9*I1-1)%12 == 0) { 4924 I3 = (9*I1-1)/12 ; 4925 J1 = -2*I1+3*I3 ; 4926 if ((2*I1+J1)%3 == 0) { 4927 J2 = (2*I1+J1)/3 ; 4928 J3 = 3*I1-4*J2 ; 4929 S1++; 4930 S2++; 4931 } 4932 } 4933 if ((3*I1+1)%4 == 0) { 4934 I3 = (3*I1+1)/4 ; 4935 J3 = I1-(I2)-(I3) ; 4936 S1++; 4937 J3 = -I1-2*(I2)+2*I3 ; 4938 S2++; 4939 } 4940 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 4941 J3 = -I1-2*(I2)+2*I3 ; 4942 S2++; 4943 } 4944 } 4945 if (I1%4 == 0) { 4946 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 4947 J3 = I1-(I2)-(I3) ; 4948 S1++; 4949 } 4950 if (3*I1%4 == 0) { 4951 I3 = 3*I1/4 ; 4952 J1 = -2*I1+3*I3 ; 4953 if ((2*I1+J1)%3 == 0) { 4954 J2 = (2*I1+J1)/3 ; 4955 J3 = 3*I1-4*J2 ; 4956 S1++; 4957 S2++; 4958 } 4959 } 4960 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 4961 J3 = -I1-2*(I2)+2*I3 ; 4962 S2++; 4963 } 4964 } 4965 for (I2=ceild(I1+1,4);I2<=I1-1;I2++) { 4966 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 4967 J3 = I1-(I2)-(I3) ; 4968 S1++; 4969 } 4970 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 4971 J3 = -I1-2*(I2)+2*I3 ; 4972 S2++; 4973 } 4974 } 4975} 4976if ((N1 <= 18) && (N1 >= 12)) { 4977 for (I3=ceild(13+2*1,2);I3<=min(13-2*(1)-1,floord(2*13+3*1,3));I3++) { 4978 J3 = -(13)-2*(I2)+2*I3 ; 4979 S2++; 4980 } 4981 for (I3=13-2*(1);I3<=min(N1,13-(1));I3++) { 4982 J3 = 13-(I2)-(I3) ; 4983 S1++; 4984 } 4985 for (I2=2;I2<=1;I2++) { 4986 for (I3=ceild(13+2*I2,2);I3<=13-2*I2-1;I3++) { 4987 J3 = -(13)-2*(I2)+2*I3 ; 4988 S2++; 4989 } 4990 for (I3=13-2*I2;I3<=floord(2*13+3*I2,3);I3++) { 4991 J3 = 13-(I2)-(I3) ; 4992 S1++; 4993 J3 = -(13)-2*(I2)+2*I3 ; 4994 S2++; 4995 } 4996 for (I3=ceild(2*13+3*I2+1,3);I3<=min(N1,13-I2);I3++) { 4997 J3 = 13-(I2)-(I3) ; 4998 S1++; 4999 } 5000 } 5001 for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) { 5002 J3 = -(13)-2*(I2)+2*I3 ; 5003 S2++; 5004 J3 = 13-(I2)-(I3) ; 5005 S1++; 5006 } 5007 if ((13*13-1)%18 == 0) { 5008 I3 = (13*13-1)/18 ; 5009 J1 = -2*(13)+3*I3 ; 5010 if ((2*13+J1)%3 == 0) { 5011 J2 = (2*13+J1)/3 ; 5012 J3 = 3*13-4*J2 ; 5013 S1++; 5014 S2++; 5015 } 5016 } 5017 for (I3=ceild(13*2+3,3);I3<=floord(15*2+2,3);I3++) { 5018 J3 = 13-(I2)-(I3) ; 5019 S1++; 5020 J3 = -(13)-2*(I2)+2*I3 ; 5021 S2++; 5022 } 5023 if ((5*13+1)%6 == 0) { 5024 I3 = (5*13+1)/6 ; 5025 J3 = 13-(I2)-(I3) ; 5026 S1++; 5027 } 5028 if (13%6 == 0) { 5029 for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) { 5030 J3 = -(13)-2*(I2)+2*I3 ; 5031 S2++; 5032 J3 = 13-(I2)-(I3) ; 5033 S1++; 5034 } 5035 if (13*13%18 == 0) { 5036 I3 = 13*13/18 ; 5037 J1 = -2*(13)+3*I3 ; 5038 if ((2*13+J1)%3 == 0) { 5039 J2 = (2*13+J1)/3 ; 5040 J3 = 3*13-4*J2 ; 5041 S1++; 5042 S2++; 5043 } 5044 } 5045 for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) { 5046 J3 = 13-(I2)-(I3) ; 5047 S1++; 5048 J3 = -(13)-2*(I2)+2*I3 ; 5049 S2++; 5050 } 5051 } 5052 for (I2=max(3,-N1+14);I2<=2;I2++) { 5053 for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) { 5054 J3 = 13-(I2)-(I3) ; 5055 S1++; 5056 } 5057 for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) { 5058 J3 = -(13)-2*(I2)+2*I3 ; 5059 S2++; 5060 J3 = 13-(I2)-(I3) ; 5061 S1++; 5062 } 5063 if ((2*13+I2)%3 == 0) { 5064 I3 = (2*13+I2)/3 ; 5065 J1 = -2*(13)+3*I3 ; 5066 if ((2*13+J1)%3 == 0) { 5067 J2 = (2*13+J1)/3 ; 5068 J3 = 3*13-4*J2 ; 5069 S1++; 5070 S2++; 5071 } 5072 } 5073 for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) { 5074 J3 = 13-(I2)-(I3) ; 5075 S1++; 5076 J3 = -(13)-2*(I2)+2*I3 ; 5077 S2++; 5078 } 5079 } 5080 for (I2=3;I2<=2;I2++) { 5081 for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) { 5082 J3 = 13-(I2)-(I3) ; 5083 S1++; 5084 } 5085 for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) { 5086 J3 = -(13)-2*(I2)+2*I3 ; 5087 S2++; 5088 J3 = 13-(I2)-(I3) ; 5089 S1++; 5090 } 5091 if ((2*13+I2)%3 == 0) { 5092 I3 = (2*13+I2)/3 ; 5093 J1 = -2*(13)+3*I3 ; 5094 if ((2*13+J1)%3 == 0) { 5095 J2 = (2*13+J1)/3 ; 5096 J3 = 3*13-4*J2 ; 5097 S1++; 5098 S2++; 5099 } 5100 } 5101 for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) { 5102 J3 = 13-(I2)-(I3) ; 5103 S1++; 5104 J3 = -(13)-2*(I2)+2*I3 ; 5105 S2++; 5106 } 5107 for (I3=13-I2+1;I3<=min(N1,floord(2*13+3*I2,3));I3++) { 5108 J3 = -(13)-2*(I2)+2*I3 ; 5109 S2++; 5110 } 5111 } 5112 for (I3=2*3+1;I3<=3*3;I3++) { 5113 J3 = 13-(I2)-(I3) ; 5114 S1++; 5115 } 5116 if ((9*13-1)%12 == 0) { 5117 I3 = (9*13-1)/12 ; 5118 J1 = -2*(13)+3*I3 ; 5119 if ((2*13+J1)%3 == 0) { 5120 J2 = (2*13+J1)/3 ; 5121 J3 = 3*13-4*J2 ; 5122 S1++; 5123 S2++; 5124 } 5125 } 5126 if ((3*13+1)%4 == 0) { 5127 I3 = (3*13+1)/4 ; 5128 J3 = 13-(I2)-(I3) ; 5129 S1++; 5130 J3 = -(13)-2*(I2)+2*I3 ; 5131 S2++; 5132 } 5133 for (I3=3*3+2;I3<=min(N1,floord(11*3+2,3));I3++) { 5134 J3 = -(13)-2*(I2)+2*I3 ; 5135 S2++; 5136 } 5137 if (13%4 == 0) { 5138 for (I3=2*13/4;I3<=floord(6*13/4-1,2);I3++) { 5139 J3 = 13-(I2)-(I3) ; 5140 S1++; 5141 } 5142 if (3*13%4 == 0) { 5143 I3 = 3*13/4 ; 5144 J1 = -2*(13)+3*I3 ; 5145 if ((2*13+J1)%3 == 0) { 5146 J2 = (2*13+J1)/3 ; 5147 J3 = 3*13-4*J2 ; 5148 S1++; 5149 S2++; 5150 } 5151 } 5152 for (I3=3*13/4+1;I3<=min(N1,floord(11*13/4,3));I3++) { 5153 J3 = -(13)-2*(I2)+2*I3 ; 5154 S2++; 5155 } 5156 } 5157 for (I2=4;I2<=floord(2*N1-13,2);I2++) { 5158 for (I3=max(max(1,ceild(13-I2,2)),13-2*I2);I3<=13-I2;I3++) { 5159 J3 = 13-(I2)-(I3) ; 5160 S1++; 5161 } 5162 for (I3=max(13-I2+1,ceild(13+2*I2,2));I3<=min(N1,floord(2*13+3*I2,3));I3++) { 5163 J3 = -(13)-2*(I2)+2*I3 ; 5164 S2++; 5165 } 5166 } 5167 for (I2=N1-6;I2<=min(N1,12);I2++) { 5168 for (I3=max(max(ceild(13-I2,2),13-2*I2),1);I3<=min(13-I2,N1);I3++) { 5169 J3 = 13-(I2)-(I3) ; 5170 S1++; 5171 } 5172 } 5173} 5174if ((N1 >= 12) && (N1 <= 11)) { 5175 for (I3=ceild(13+2*1,2);I3<=min(13-2*(1)-1,floord(2*13+3*1,3));I3++) { 5176 J3 = -(13)-2*(I2)+2*I3 ; 5177 S2++; 5178 } 5179 for (I3=13-2*(1);I3<=min(N1,13-(1));I3++) { 5180 J3 = 13-(I2)-(I3) ; 5181 S1++; 5182 } 5183 for (I2=2;I2<=1;I2++) { 5184 for (I3=ceild(13+2*I2,2);I3<=13-2*I2-1;I3++) { 5185 J3 = -(13)-2*(I2)+2*I3 ; 5186 S2++; 5187 } 5188 for (I3=13-2*I2;I3<=floord(2*13+3*I2,3);I3++) { 5189 J3 = 13-(I2)-(I3) ; 5190 S1++; 5191 J3 = -(13)-2*(I2)+2*I3 ; 5192 S2++; 5193 } 5194 for (I3=ceild(2*13+3*I2+1,3);I3<=min(N1,13-I2);I3++) { 5195 J3 = 13-(I2)-(I3) ; 5196 S1++; 5197 } 5198 } 5199 for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) { 5200 J3 = -(13)-2*(I2)+2*I3 ; 5201 S2++; 5202 J3 = 13-(I2)-(I3) ; 5203 S1++; 5204 } 5205 if ((13*13-1)%18 == 0) { 5206 I3 = (13*13-1)/18 ; 5207 J1 = -2*(13)+3*I3 ; 5208 if ((2*13+J1)%3 == 0) { 5209 J2 = (2*13+J1)/3 ; 5210 J3 = 3*13-4*J2 ; 5211 S1++; 5212 S2++; 5213 } 5214 } 5215 for (I3=ceild(13*2+3,3);I3<=floord(15*2+2,3);I3++) { 5216 J3 = 13-(I2)-(I3) ; 5217 S1++; 5218 J3 = -(13)-2*(I2)+2*I3 ; 5219 S2++; 5220 } 5221 if ((5*13+1)%6 == 0) { 5222 I3 = (5*13+1)/6 ; 5223 J3 = 13-(I2)-(I3) ; 5224 S1++; 5225 } 5226 if (13%6 == 0) { 5227 for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) { 5228 J3 = -(13)-2*(I2)+2*I3 ; 5229 S2++; 5230 J3 = 13-(I2)-(I3) ; 5231 S1++; 5232 } 5233 if (13*13%18 == 0) { 5234 I3 = 13*13/18 ; 5235 J1 = -2*(13)+3*I3 ; 5236 if ((2*13+J1)%3 == 0) { 5237 J2 = (2*13+J1)/3 ; 5238 J3 = 3*13-4*J2 ; 5239 S1++; 5240 S2++; 5241 } 5242 } 5243 for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) { 5244 J3 = 13-(I2)-(I3) ; 5245 S1++; 5246 J3 = -(13)-2*(I2)+2*I3 ; 5247 S2++; 5248 } 5249 } 5250 for (I2=-N1+14;I2<=2;I2++) { 5251 for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) { 5252 J3 = 13-(I2)-(I3) ; 5253 S1++; 5254 } 5255 for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) { 5256 J3 = -(13)-2*(I2)+2*I3 ; 5257 S2++; 5258 J3 = 13-(I2)-(I3) ; 5259 S1++; 5260 } 5261 if ((2*13+I2)%3 == 0) { 5262 I3 = (2*13+I2)/3 ; 5263 J1 = -2*(13)+3*I3 ; 5264 if ((2*13+J1)%3 == 0) { 5265 J2 = (2*13+J1)/3 ; 5266 J3 = 3*13-4*J2 ; 5267 S1++; 5268 S2++; 5269 } 5270 } 5271 for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) { 5272 J3 = 13-(I2)-(I3) ; 5273 S1++; 5274 J3 = -(13)-2*(I2)+2*I3 ; 5275 S2++; 5276 } 5277 for (I3=13-I2+1;I3<=min(N1,floord(2*13+3*I2,3));I3++) { 5278 J3 = -(13)-2*(I2)+2*I3 ; 5279 S2++; 5280 } 5281 } 5282 for (I3=2*3+1;I3<=3*3;I3++) { 5283 J3 = 13-(I2)-(I3) ; 5284 S1++; 5285 } 5286 if ((9*13-1)%12 == 0) { 5287 I3 = (9*13-1)/12 ; 5288 J1 = -2*(13)+3*I3 ; 5289 if ((2*13+J1)%3 == 0) { 5290 J2 = (2*13+J1)/3 ; 5291 J3 = 3*13-4*J2 ; 5292 S1++; 5293 S2++; 5294 } 5295 } 5296 if ((3*13+1)%4 == 0) { 5297 I3 = (3*13+1)/4 ; 5298 J3 = 13-(I2)-(I3) ; 5299 S1++; 5300 J3 = -(13)-2*(I2)+2*I3 ; 5301 S2++; 5302 } 5303 for (I3=3*3+2;I3<=min(N1,floord(11*3+2,3));I3++) { 5304 J3 = -(13)-2*(I2)+2*I3 ; 5305 S2++; 5306 } 5307 if (13%4 == 0) { 5308 for (I3=2*13/4;I3<=floord(6*13/4-1,2);I3++) { 5309 J3 = 13-(I2)-(I3) ; 5310 S1++; 5311 } 5312 if (3*13%4 == 0) { 5313 I3 = 3*13/4 ; 5314 J1 = -2*(13)+3*I3 ; 5315 if ((2*13+J1)%3 == 0) { 5316 J2 = (2*13+J1)/3 ; 5317 J3 = 3*13-4*J2 ; 5318 S1++; 5319 S2++; 5320 } 5321 } 5322 for (I3=3*13/4+1;I3<=min(N1,floord(11*13/4,3));I3++) { 5323 J3 = -(13)-2*(I2)+2*I3 ; 5324 S2++; 5325 } 5326 } 5327 for (I2=4;I2<=floord(2*N1-13,2);I2++) { 5328 for (I3=max(max(1,ceild(13-I2,2)),13-2*I2);I3<=13-I2;I3++) { 5329 J3 = 13-(I2)-(I3) ; 5330 S1++; 5331 } 5332 for (I3=max(13-I2+1,ceild(13+2*I2,2));I3<=min(N1,floord(2*13+3*I2,3));I3++) { 5333 J3 = -(13)-2*(I2)+2*I3 ; 5334 S2++; 5335 } 5336 } 5337 for (I2=N1-6;I2<=N1;I2++) { 5338 for (I3=max(max(ceild(13-I2,2),13-2*I2),1);I3<=min(13-I2,N1);I3++) { 5339 J3 = 13-(I2)-(I3) ; 5340 S1++; 5341 } 5342 } 5343} 5344if (N1 == 11) { 5345 for (I3=ceild(13+2*1,2);I3<=min(13-2*(1)-1,floord(2*13+3*1,3));I3++) { 5346 J3 = -(13)-2*(I2)+2*I3 ; 5347 S2++; 5348 } 5349 for (I3=13-2*(1);I3<=min(N1,13-(1));I3++) { 5350 J3 = 13-(I2)-(I3) ; 5351 S1++; 5352 } 5353 for (I2=2;I2<=1;I2++) { 5354 for (I3=ceild(13+2*I2,2);I3<=13-2*I2-1;I3++) { 5355 J3 = -(13)-2*(I2)+2*I3 ; 5356 S2++; 5357 } 5358 for (I3=13-2*I2;I3<=floord(2*13+3*I2,3);I3++) { 5359 J3 = 13-(I2)-(I3) ; 5360 S1++; 5361 J3 = -(13)-2*(I2)+2*I3 ; 5362 S2++; 5363 } 5364 for (I3=ceild(2*13+3*I2+1,3);I3<=min(N1,13-I2);I3++) { 5365 J3 = 13-(I2)-(I3) ; 5366 S1++; 5367 } 5368 } 5369 for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) { 5370 J3 = -(13)-2*(I2)+2*I3 ; 5371 S2++; 5372 J3 = 13-(I2)-(I3) ; 5373 S1++; 5374 } 5375 if ((13*13-1)%18 == 0) { 5376 I3 = (13*13-1)/18 ; 5377 J1 = -2*(13)+3*I3 ; 5378 if ((2*13+J1)%3 == 0) { 5379 J2 = (2*13+J1)/3 ; 5380 J3 = 3*13-4*J2 ; 5381 S1++; 5382 S2++; 5383 } 5384 } 5385 for (I3=ceild(13*2+3,3);I3<=floord(15*2+2,3);I3++) { 5386 J3 = 13-(I2)-(I3) ; 5387 S1++; 5388 J3 = -(13)-2*(I2)+2*I3 ; 5389 S2++; 5390 } 5391 if ((5*13+1)%6 == 0) { 5392 I3 = (5*13+1)/6 ; 5393 J3 = 13-(I2)-(I3) ; 5394 S1++; 5395 } 5396 if (13%6 == 0) { 5397 for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) { 5398 J3 = -(13)-2*(I2)+2*I3 ; 5399 S2++; 5400 J3 = 13-(I2)-(I3) ; 5401 S1++; 5402 } 5403 if (13*13%18 == 0) { 5404 I3 = 13*13/18 ; 5405 J1 = -2*(13)+3*I3 ; 5406 if ((2*13+J1)%3 == 0) { 5407 J2 = (2*13+J1)/3 ; 5408 J3 = 3*13-4*J2 ; 5409 S1++; 5410 S2++; 5411 } 5412 } 5413 for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) { 5414 J3 = 13-(I2)-(I3) ; 5415 S1++; 5416 J3 = -(13)-2*(I2)+2*I3 ; 5417 S2++; 5418 } 5419 } 5420 for (I3=2*3+1;I3<=3*3;I3++) { 5421 J3 = 13-(I2)-(I3) ; 5422 S1++; 5423 } 5424 if ((9*13-1)%12 == 0) { 5425 I3 = (9*13-1)/12 ; 5426 J1 = -2*(13)+3*I3 ; 5427 if ((2*13+J1)%3 == 0) { 5428 J2 = (2*13+J1)/3 ; 5429 J3 = 3*13-4*J2 ; 5430 S1++; 5431 S2++; 5432 } 5433 } 5434 if ((3*13+1)%4 == 0) { 5435 I3 = (3*13+1)/4 ; 5436 J3 = 13-(I2)-(I3) ; 5437 S1++; 5438 J3 = -(13)-2*(I2)+2*I3 ; 5439 S2++; 5440 } 5441 for (I3=3*3+2;I3<=min(N1,floord(11*3+2,3));I3++) { 5442 J3 = -(13)-2*(I2)+2*I3 ; 5443 S2++; 5444 } 5445 if (13%4 == 0) { 5446 for (I3=2*13/4;I3<=floord(6*13/4-1,2);I3++) { 5447 J3 = 13-(I2)-(I3) ; 5448 S1++; 5449 } 5450 if (3*13%4 == 0) { 5451 I3 = 3*13/4 ; 5452 J1 = -2*(13)+3*I3 ; 5453 if ((2*13+J1)%3 == 0) { 5454 J2 = (2*13+J1)/3 ; 5455 J3 = 3*13-4*J2 ; 5456 S1++; 5457 S2++; 5458 } 5459 } 5460 for (I3=3*13/4+1;I3<=min(N1,floord(11*13/4,3));I3++) { 5461 J3 = -(13)-2*(I2)+2*I3 ; 5462 S2++; 5463 } 5464 } 5465 for (I3=max(max(1,ceild(13-(4),2)),13-2*(4));I3<=13-(4);I3++) { 5466 J3 = 13-(I2)-(I3) ; 5467 S1++; 5468 } 5469 for (I3=max(13-(4)+1,ceild(13+2*4,2));I3<=min(N1,floord(2*13+3*4,3));I3++) { 5470 J3 = -(13)-2*(I2)+2*I3 ; 5471 S2++; 5472 } 5473 for (I2=5;I2<=11;I2++) { 5474 for (I3=max(max(ceild(13-I2,2),13-2*I2),1);I3<=min(13-I2,N1);I3++) { 5475 J3 = 13-(I2)-(I3) ; 5476 S1++; 5477 } 5478 } 5479} 5480if ((N1 >= 9) && (N1 <= 10)) { 5481 if ((4*N1-4)%3 == 0) { 5482 I1 = (4*N1-4)/3 ; 5483 for (I2=1;I2<=floord(4*N1-7,27);I2++) { 5484 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 5485 J3 = -I1-2*(I2)+2*I3 ; 5486 S2++; 5487 } 5488 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 5489 J3 = I1-(I2)-(I3) ; 5490 S1++; 5491 } 5492 } 5493 for (I2=ceild(4*N1-4,27);I2<=floord(4*N1-7,21);I2++) { 5494 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 5495 J3 = -I1-2*(I2)+2*I3 ; 5496 S2++; 5497 } 5498 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 5499 J3 = I1-(I2)-(I3) ; 5500 S1++; 5501 J3 = -I1-2*(I2)+2*I3 ; 5502 S2++; 5503 } 5504 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 5505 J3 = I1-(I2)-(I3) ; 5506 S1++; 5507 } 5508 } 5509 if ((2*N1-2)%9 == 0) { 5510 I2 = (2*N1-2)/9 ; 5511 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) { 5512 J3 = -I1-2*(I2)+2*I3 ; 5513 S2++; 5514 J3 = I1-(I2)-(I3) ; 5515 S1++; 5516 } 5517 if (13*I1%18 == 0) { 5518 I3 = 13*I1/18 ; 5519 J1 = -2*I1+3*I3 ; 5520 if ((2*I1+J1)%3 == 0) { 5521 J2 = (2*I1+J1)/3 ; 5522 J3 = 3*I1-4*J2 ; 5523 S1++; 5524 S2++; 5525 } 5526 } 5527 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) { 5528 J3 = I1-(I2)-(I3) ; 5529 S1++; 5530 J3 = -I1-2*(I2)+2*I3 ; 5531 S2++; 5532 } 5533 } 5534 if ((N1-1)%3 == 0) { 5535 I2 = (N1-1)/3 ; 5536 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) { 5537 J3 = I1-(I2)-(I3) ; 5538 S1++; 5539 } 5540 if (3*I1%4 == 0) { 5541 I3 = 3*I1/4 ; 5542 J1 = -2*I1+3*I3 ; 5543 if ((2*I1+J1)%3 == 0) { 5544 J2 = (2*I1+J1)/3 ; 5545 J3 = 3*I1-4*J2 ; 5546 S1++; 5547 S2++; 5548 } 5549 } 5550 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) { 5551 J3 = -I1-2*(I2)+2*I3 ; 5552 S2++; 5553 } 5554 } 5555 for (I2=ceild(4*N1-1,12);I2<=floord(N1+2,3);I2++) { 5556 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 5557 J3 = I1-(I2)-(I3) ; 5558 S1++; 5559 } 5560 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 5561 J3 = -I1-2*(I2)+2*I3 ; 5562 S2++; 5563 } 5564 } 5565 for (I2=ceild(2*N1+7,6);I2<=N1;I2++) { 5566 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 5567 J3 = I1-(I2)-(I3) ; 5568 S1++; 5569 } 5570 } 5571 } 5572} 5573if (N1 == 11) { 5574 for (I3=ceild(14+2*1,2);I3<=min(N1,floord(2*14+3*1,3));I3++) { 5575 J3 = -(14)-2*(I2)+2*I3 ; 5576 S2++; 5577 } 5578 for (I2=2;I2<=1;I2++) { 5579 for (I3=ceild(14+2*I2,2);I3<=14-2*I2-1;I3++) { 5580 J3 = -(14)-2*(I2)+2*I3 ; 5581 S2++; 5582 } 5583 for (I3=14-2*I2;I3<=N1;I3++) { 5584 J3 = 14-(I2)-(I3) ; 5585 S1++; 5586 J3 = -(14)-2*(I2)+2*I3 ; 5587 S2++; 5588 } 5589 } 5590 for (I3=ceild(9*2,2);I3<=5*2-1;I3++) { 5591 J3 = -(14)-2*(I2)+2*I3 ; 5592 S2++; 5593 } 5594 if (5*14%7 == 0) { 5595 I3 = 5*14/7 ; 5596 J1 = -2*(14)+3*I3 ; 5597 if ((2*14+J1)%3 == 0) { 5598 J2 = (2*14+J1)/3 ; 5599 J3 = 3*14-4*J2 ; 5600 S1++; 5601 S2++; 5602 } 5603 } 5604 for (I3=ceild(15*2+1,3);I3<=N1;I3++) { 5605 J3 = 14-(I2)-(I3) ; 5606 S1++; 5607 J3 = -(14)-2*(I2)+2*I3 ; 5608 S2++; 5609 } 5610 if (7%3 == 0) { 5611 for (I3=4*7/3;I3<=floord(13*7/3-1,3);I3++) { 5612 J3 = -(14)-2*(I2)+2*I3 ; 5613 S2++; 5614 J3 = 14-(I2)-(I3) ; 5615 S1++; 5616 } 5617 if (13*14%18 == 0) { 5618 I3 = 13*14/18 ; 5619 J1 = -2*(14)+3*I3 ; 5620 if ((2*14+J1)%3 == 0) { 5621 J2 = (2*14+J1)/3 ; 5622 J3 = 3*14-4*J2 ; 5623 S1++; 5624 S2++; 5625 } 5626 } 5627 for (I3=ceild(13*7/3+1,3);I3<=min(N1,5*7/3);I3++) { 5628 J3 = 14-(I2)-(I3) ; 5629 S1++; 5630 J3 = -(14)-2*(I2)+2*I3 ; 5631 S2++; 5632 } 5633 } 5634 for (I3=14-2*(3);I3<=floord(14+2*3-1,2);I3++) { 5635 J3 = 14-(I2)-(I3) ; 5636 S1++; 5637 } 5638 for (I3=ceild(14+2*3,2);I3<=floord(2*14+3-1,3);I3++) { 5639 J3 = -(14)-2*(I2)+2*I3 ; 5640 S2++; 5641 J3 = 14-(I2)-(I3) ; 5642 S1++; 5643 } 5644 if ((2*14+3)%3 == 0) { 5645 I3 = (2*14+3)/3 ; 5646 J1 = -2*(14)+3*I3 ; 5647 if ((2*14+J1)%3 == 0) { 5648 J2 = (2*14+J1)/3 ; 5649 J3 = 3*14-4*J2 ; 5650 S1++; 5651 S2++; 5652 } 5653 } 5654 for (I3=ceild(2*14+3+1,3);I3<=N1;I3++) { 5655 J3 = 14-(I2)-(I3) ; 5656 S1++; 5657 J3 = -(14)-2*(I2)+2*I3 ; 5658 S2++; 5659 } 5660 for (I3=max(max(1,ceild(14-(4),2)),14-2*(4));I3<=14-(4);I3++) { 5661 J3 = 14-(I2)-(I3) ; 5662 S1++; 5663 } 5664 for (I3=max(14-(4)+1,ceild(14+2*4,2));I3<=min(N1,floord(2*14+3*4,3));I3++) { 5665 J3 = -(14)-2*(I2)+2*I3 ; 5666 S2++; 5667 } 5668 for (I2=5;I2<=11;I2++) { 5669 for (I3=max(max(ceild(14-I2,2),14-2*I2),1);I3<=min(14-I2,N1);I3++) { 5670 J3 = 14-(I2)-(I3) ; 5671 S1++; 5672 } 5673 } 5674} 5675if (N1 == 10) { 5676 for (I3=ceild(13+2*1,2);I3<=min(N1,floord(2*13+3*1,3));I3++) { 5677 J3 = -(13)-2*(I2)+2*I3 ; 5678 S2++; 5679 } 5680 for (I2=2;I2<=1;I2++) { 5681 for (I3=ceild(13+2*I2,2);I3<=13-2*I2-1;I3++) { 5682 J3 = -(13)-2*(I2)+2*I3 ; 5683 S2++; 5684 } 5685 for (I3=13-2*I2;I3<=N1;I3++) { 5686 J3 = 13-(I2)-(I3) ; 5687 S1++; 5688 J3 = -(13)-2*(I2)+2*I3 ; 5689 S2++; 5690 } 5691 } 5692 for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) { 5693 J3 = -(13)-2*(I2)+2*I3 ; 5694 S2++; 5695 J3 = 13-(I2)-(I3) ; 5696 S1++; 5697 } 5698 if ((13*13-1)%18 == 0) { 5699 I3 = (13*13-1)/18 ; 5700 J1 = -2*(13)+3*I3 ; 5701 if ((2*13+J1)%3 == 0) { 5702 J2 = (2*13+J1)/3 ; 5703 J3 = 3*13-4*J2 ; 5704 S1++; 5705 S2++; 5706 } 5707 } 5708 for (I3=ceild(13*2+3,3);I3<=N1;I3++) { 5709 J3 = 13-(I2)-(I3) ; 5710 S1++; 5711 J3 = -(13)-2*(I2)+2*I3 ; 5712 S2++; 5713 } 5714 if (13%6 == 0) { 5715 for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) { 5716 J3 = -(13)-2*(I2)+2*I3 ; 5717 S2++; 5718 J3 = 13-(I2)-(I3) ; 5719 S1++; 5720 } 5721 if (13*13%18 == 0) { 5722 I3 = 13*13/18 ; 5723 J1 = -2*(13)+3*I3 ; 5724 if ((2*13+J1)%3 == 0) { 5725 J2 = (2*13+J1)/3 ; 5726 J3 = 3*13-4*J2 ; 5727 S1++; 5728 S2++; 5729 } 5730 } 5731 for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) { 5732 J3 = 13-(I2)-(I3) ; 5733 S1++; 5734 J3 = -(13)-2*(I2)+2*I3 ; 5735 S2++; 5736 } 5737 } 5738 for (I2=3;I2<=2;I2++) { 5739 for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) { 5740 J3 = 13-(I2)-(I3) ; 5741 S1++; 5742 } 5743 for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) { 5744 J3 = -(13)-2*(I2)+2*I3 ; 5745 S2++; 5746 J3 = 13-(I2)-(I3) ; 5747 S1++; 5748 } 5749 if ((2*13+I2)%3 == 0) { 5750 I3 = (2*13+I2)/3 ; 5751 J1 = -2*(13)+3*I3 ; 5752 if ((2*13+J1)%3 == 0) { 5753 J2 = (2*13+J1)/3 ; 5754 J3 = 3*13-4*J2 ; 5755 S1++; 5756 S2++; 5757 } 5758 } 5759 for (I3=ceild(2*13+I2+1,3);I3<=N1;I3++) { 5760 J3 = 13-(I2)-(I3) ; 5761 S1++; 5762 J3 = -(13)-2*(I2)+2*I3 ; 5763 S2++; 5764 } 5765 } 5766 for (I3=ceild(2*N1+1,3);I3<=N1-1;I3++) { 5767 J3 = 13-(I2)-(I3) ; 5768 S1++; 5769 } 5770 if (-1%3 == 0) { 5771 I3 = (3*N1-1)/3 ; 5772 J1 = -2*(13)+3*I3 ; 5773 if ((2*13+J1)%3 == 0) { 5774 J2 = (2*13+J1)/3 ; 5775 J3 = 3*13-4*J2 ; 5776 S1++; 5777 S2++; 5778 } 5779 } 5780 J3 = 13-(I2)-(I3) ; 5781 S1++; 5782 J3 = -(13)-2*(I2)+2*I3 ; 5783 S2++; 5784 for (I2=4;I2<=10;I2++) { 5785 for (I3=max(max(ceild(13-I2,2),13-2*I2),1);I3<=min(13-I2,N1);I3++) { 5786 J3 = 13-(I2)-(I3) ; 5787 S1++; 5788 } 5789 } 5790} 5791for (I1=max(20,ceild(2*N1+1,3));I1<=floord(2*N1+2,3);I1++) { 5792 for (I2=1;I2<=floord(I1-1,9);I2++) { 5793 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 5794 J3 = -I1-2*(I2)+2*I3 ; 5795 S2++; 5796 } 5797 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 5798 J3 = I1-(I2)-(I3) ; 5799 S1++; 5800 } 5801 } 5802 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) { 5803 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 5804 J3 = -I1-2*(I2)+2*I3 ; 5805 S2++; 5806 } 5807 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 5808 J3 = I1-(I2)-(I3) ; 5809 S1++; 5810 J3 = -I1-2*(I2)+2*I3 ; 5811 S2++; 5812 } 5813 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 5814 J3 = I1-(I2)-(I3) ; 5815 S1++; 5816 } 5817 } 5818 if (I1%7 == 0) { 5819 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 5820 J3 = -I1-2*(I2)+2*I3 ; 5821 S2++; 5822 } 5823 if (5*I1%7 == 0) { 5824 I3 = 5*I1/7 ; 5825 J1 = -2*I1+3*I3 ; 5826 if ((2*I1+J1)%3 == 0) { 5827 J2 = (2*I1+J1)/3 ; 5828 J3 = 3*I1-4*J2 ; 5829 S1++; 5830 S2++; 5831 } 5832 } 5833 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) { 5834 J3 = I1-(I2)-(I3) ; 5835 S1++; 5836 J3 = -I1-2*(I2)+2*I3 ; 5837 S2++; 5838 } 5839 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) { 5840 J3 = I1-(I2)-(I3) ; 5841 S1++; 5842 } 5843 } 5844 for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) { 5845 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 5846 J3 = -I1-2*(I2)+2*I3 ; 5847 S2++; 5848 } 5849 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 5850 J3 = -I1-2*(I2)+2*I3 ; 5851 S2++; 5852 J3 = I1-(I2)-(I3) ; 5853 S1++; 5854 } 5855 if ((2*I1+I2)%3 == 0) { 5856 I3 = (2*I1+I2)/3 ; 5857 J1 = -2*I1+3*I3 ; 5858 if ((2*I1+J1)%3 == 0) { 5859 J2 = (2*I1+J1)/3 ; 5860 J3 = 3*I1-4*J2 ; 5861 S1++; 5862 S2++; 5863 } 5864 } 5865 for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) { 5866 J3 = I1-(I2)-(I3) ; 5867 S1++; 5868 J3 = -I1-2*(I2)+2*I3 ; 5869 S2++; 5870 } 5871 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 5872 J3 = I1-(I2)-(I3) ; 5873 S1++; 5874 } 5875 } 5876 if ((I1-1)%6 == 0) { 5877 I2 = (I1-1)/6 ; 5878 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 5879 J3 = -I1-2*(I2)+2*I3 ; 5880 S2++; 5881 J3 = I1-(I2)-(I3) ; 5882 S1++; 5883 } 5884 if ((13*I1-1)%18 == 0) { 5885 I3 = (13*I1-1)/18 ; 5886 J1 = -2*I1+3*I3 ; 5887 if ((2*I1+J1)%3 == 0) { 5888 J2 = (2*I1+J1)/3 ; 5889 J3 = 3*I1-4*J2 ; 5890 S1++; 5891 S2++; 5892 } 5893 } 5894 for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) { 5895 J3 = I1-(I2)-(I3) ; 5896 S1++; 5897 J3 = -I1-2*(I2)+2*I3 ; 5898 S2++; 5899 } 5900 if ((5*I1+1)%6 == 0) { 5901 I3 = (5*I1+1)/6 ; 5902 J3 = I1-(I2)-(I3) ; 5903 S1++; 5904 } 5905 } 5906 if (I1%6 == 0) { 5907 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 5908 J3 = -I1-2*(I2)+2*I3 ; 5909 S2++; 5910 J3 = I1-(I2)-(I3) ; 5911 S1++; 5912 } 5913 if (13*I1%18 == 0) { 5914 I3 = 13*I1/18 ; 5915 J1 = -2*I1+3*I3 ; 5916 if ((2*I1+J1)%3 == 0) { 5917 J2 = (2*I1+J1)/3 ; 5918 J3 = 3*I1-4*J2 ; 5919 S1++; 5920 S2++; 5921 } 5922 } 5923 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 5924 J3 = I1-(I2)-(I3) ; 5925 S1++; 5926 J3 = -I1-2*(I2)+2*I3 ; 5927 S2++; 5928 } 5929 } 5930 for (I2=ceild(I1+1,6);I2<=floord(I1+2,6);I2++) { 5931 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 5932 J3 = I1-(I2)-(I3) ; 5933 S1++; 5934 } 5935 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 5936 J3 = -I1-2*(I2)+2*I3 ; 5937 S2++; 5938 J3 = I1-(I2)-(I3) ; 5939 S1++; 5940 } 5941 if ((2*I1+I2)%3 == 0) { 5942 I3 = (2*I1+I2)/3 ; 5943 J1 = -2*I1+3*I3 ; 5944 if ((2*I1+J1)%3 == 0) { 5945 J2 = (2*I1+J1)/3 ; 5946 J3 = 3*I1-4*J2 ; 5947 S1++; 5948 S2++; 5949 } 5950 } 5951 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 5952 J3 = I1-(I2)-(I3) ; 5953 S1++; 5954 J3 = -I1-2*(I2)+2*I3 ; 5955 S2++; 5956 } 5957 } 5958 for (I2=ceild(I1+3,6);I2<=floord(I1-2,4);I2++) { 5959 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 5960 J3 = I1-(I2)-(I3) ; 5961 S1++; 5962 } 5963 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 5964 J3 = -I1-2*(I2)+2*I3 ; 5965 S2++; 5966 J3 = I1-(I2)-(I3) ; 5967 S1++; 5968 } 5969 if ((2*I1+I2)%3 == 0) { 5970 I3 = (2*I1+I2)/3 ; 5971 J1 = -2*I1+3*I3 ; 5972 if ((2*I1+J1)%3 == 0) { 5973 J2 = (2*I1+J1)/3 ; 5974 J3 = 3*I1-4*J2 ; 5975 S1++; 5976 S2++; 5977 } 5978 } 5979 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 5980 J3 = I1-(I2)-(I3) ; 5981 S1++; 5982 J3 = -I1-2*(I2)+2*I3 ; 5983 S2++; 5984 } 5985 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 5986 J3 = -I1-2*(I2)+2*I3 ; 5987 S2++; 5988 } 5989 } 5990 if ((I1-1)%4 == 0) { 5991 I2 = (I1-1)/4 ; 5992 for (I3=2*I2+1;I3<=3*I2;I3++) { 5993 J3 = I1-(I2)-(I3) ; 5994 S1++; 5995 } 5996 if ((9*I1-1)%12 == 0) { 5997 I3 = (9*I1-1)/12 ; 5998 J1 = -2*I1+3*I3 ; 5999 if ((2*I1+J1)%3 == 0) { 6000 J2 = (2*I1+J1)/3 ; 6001 J3 = 3*I1-4*J2 ; 6002 S1++; 6003 S2++; 6004 } 6005 } 6006 if ((3*I1+1)%4 == 0) { 6007 I3 = (3*I1+1)/4 ; 6008 J3 = I1-(I2)-(I3) ; 6009 S1++; 6010 J3 = -I1-2*(I2)+2*I3 ; 6011 S2++; 6012 } 6013 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 6014 J3 = -I1-2*(I2)+2*I3 ; 6015 S2++; 6016 } 6017 } 6018 if (I1%4 == 0) { 6019 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 6020 J3 = I1-(I2)-(I3) ; 6021 S1++; 6022 } 6023 if (3*I1%4 == 0) { 6024 I3 = 3*I1/4 ; 6025 J1 = -2*I1+3*I3 ; 6026 if ((2*I1+J1)%3 == 0) { 6027 J2 = (2*I1+J1)/3 ; 6028 J3 = 3*I1-4*J2 ; 6029 S1++; 6030 S2++; 6031 } 6032 } 6033 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 6034 J3 = -I1-2*(I2)+2*I3 ; 6035 S2++; 6036 } 6037 } 6038 for (I2=ceild(I1+1,4);I2<=I1-1;I2++) { 6039 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 6040 J3 = I1-(I2)-(I3) ; 6041 S1++; 6042 } 6043 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 6044 J3 = -I1-2*(I2)+2*I3 ; 6045 S2++; 6046 } 6047 } 6048} 6049for (I1=max(14,ceild(2*N1+3,3));I1<=min(min(N1+2,19),floord(6*N1-4,5));I1++) { 6050 for (I2=1;I2<=floord(I1-1,9);I2++) { 6051 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 6052 J3 = -I1-2*(I2)+2*I3 ; 6053 S2++; 6054 } 6055 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 6056 J3 = I1-(I2)-(I3) ; 6057 S1++; 6058 } 6059 } 6060 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) { 6061 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 6062 J3 = -I1-2*(I2)+2*I3 ; 6063 S2++; 6064 } 6065 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 6066 J3 = I1-(I2)-(I3) ; 6067 S1++; 6068 J3 = -I1-2*(I2)+2*I3 ; 6069 S2++; 6070 } 6071 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 6072 J3 = I1-(I2)-(I3) ; 6073 S1++; 6074 } 6075 } 6076 if (I1%7 == 0) { 6077 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 6078 J3 = -I1-2*(I2)+2*I3 ; 6079 S2++; 6080 } 6081 if (5*I1%7 == 0) { 6082 I3 = 5*I1/7 ; 6083 J1 = -2*I1+3*I3 ; 6084 if ((2*I1+J1)%3 == 0) { 6085 J2 = (2*I1+J1)/3 ; 6086 J3 = 3*I1-4*J2 ; 6087 S1++; 6088 S2++; 6089 } 6090 } 6091 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) { 6092 J3 = I1-(I2)-(I3) ; 6093 S1++; 6094 J3 = -I1-2*(I2)+2*I3 ; 6095 S2++; 6096 } 6097 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) { 6098 J3 = I1-(I2)-(I3) ; 6099 S1++; 6100 } 6101 } 6102 if ((I1-1)%6 == 0) { 6103 I2 = (I1-1)/6 ; 6104 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 6105 J3 = -I1-2*(I2)+2*I3 ; 6106 S2++; 6107 J3 = I1-(I2)-(I3) ; 6108 S1++; 6109 } 6110 if ((13*I1-1)%18 == 0) { 6111 I3 = (13*I1-1)/18 ; 6112 J1 = -2*I1+3*I3 ; 6113 if ((2*I1+J1)%3 == 0) { 6114 J2 = (2*I1+J1)/3 ; 6115 J3 = 3*I1-4*J2 ; 6116 S1++; 6117 S2++; 6118 } 6119 } 6120 for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) { 6121 J3 = I1-(I2)-(I3) ; 6122 S1++; 6123 J3 = -I1-2*(I2)+2*I3 ; 6124 S2++; 6125 } 6126 if ((5*I1+1)%6 == 0) { 6127 I3 = (5*I1+1)/6 ; 6128 J3 = I1-(I2)-(I3) ; 6129 S1++; 6130 } 6131 } 6132 if (I1%6 == 0) { 6133 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 6134 J3 = -I1-2*(I2)+2*I3 ; 6135 S2++; 6136 J3 = I1-(I2)-(I3) ; 6137 S1++; 6138 } 6139 if (13*I1%18 == 0) { 6140 I3 = 13*I1/18 ; 6141 J1 = -2*I1+3*I3 ; 6142 if ((2*I1+J1)%3 == 0) { 6143 J2 = (2*I1+J1)/3 ; 6144 J3 = 3*I1-4*J2 ; 6145 S1++; 6146 S2++; 6147 } 6148 } 6149 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 6150 J3 = I1-(I2)-(I3) ; 6151 S1++; 6152 J3 = -I1-2*(I2)+2*I3 ; 6153 S2++; 6154 } 6155 } 6156 for (I2=max(ceild(I1+1,6),I1-N1+1);I2<=floord(I1+2,6);I2++) { 6157 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 6158 J3 = I1-(I2)-(I3) ; 6159 S1++; 6160 } 6161 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 6162 J3 = -I1-2*(I2)+2*I3 ; 6163 S2++; 6164 J3 = I1-(I2)-(I3) ; 6165 S1++; 6166 } 6167 if ((2*I1+I2)%3 == 0) { 6168 I3 = (2*I1+I2)/3 ; 6169 J1 = -2*I1+3*I3 ; 6170 if ((2*I1+J1)%3 == 0) { 6171 J2 = (2*I1+J1)/3 ; 6172 J3 = 3*I1-4*J2 ; 6173 S1++; 6174 S2++; 6175 } 6176 } 6177 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 6178 J3 = I1-(I2)-(I3) ; 6179 S1++; 6180 J3 = -I1-2*(I2)+2*I3 ; 6181 S2++; 6182 } 6183 } 6184 for (I2=ceild(I1+3,6);I2<=floord(I1-2,4);I2++) { 6185 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 6186 J3 = I1-(I2)-(I3) ; 6187 S1++; 6188 } 6189 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 6190 J3 = -I1-2*(I2)+2*I3 ; 6191 S2++; 6192 J3 = I1-(I2)-(I3) ; 6193 S1++; 6194 } 6195 if ((2*I1+I2)%3 == 0) { 6196 I3 = (2*I1+I2)/3 ; 6197 J1 = -2*I1+3*I3 ; 6198 if ((2*I1+J1)%3 == 0) { 6199 J2 = (2*I1+J1)/3 ; 6200 J3 = 3*I1-4*J2 ; 6201 S1++; 6202 S2++; 6203 } 6204 } 6205 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 6206 J3 = I1-(I2)-(I3) ; 6207 S1++; 6208 J3 = -I1-2*(I2)+2*I3 ; 6209 S2++; 6210 } 6211 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 6212 J3 = -I1-2*(I2)+2*I3 ; 6213 S2++; 6214 } 6215 } 6216 if ((I1-1)%4 == 0) { 6217 I2 = (I1-1)/4 ; 6218 for (I3=2*I2+1;I3<=3*I2;I3++) { 6219 J3 = I1-(I2)-(I3) ; 6220 S1++; 6221 } 6222 if ((9*I1-1)%12 == 0) { 6223 I3 = (9*I1-1)/12 ; 6224 J1 = -2*I1+3*I3 ; 6225 if ((2*I1+J1)%3 == 0) { 6226 J2 = (2*I1+J1)/3 ; 6227 J3 = 3*I1-4*J2 ; 6228 S1++; 6229 S2++; 6230 } 6231 } 6232 if ((3*I1+1)%4 == 0) { 6233 I3 = (3*I1+1)/4 ; 6234 J3 = I1-(I2)-(I3) ; 6235 S1++; 6236 J3 = -I1-2*(I2)+2*I3 ; 6237 S2++; 6238 } 6239 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 6240 J3 = -I1-2*(I2)+2*I3 ; 6241 S2++; 6242 } 6243 } 6244 if (I1%4 == 0) { 6245 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 6246 J3 = I1-(I2)-(I3) ; 6247 S1++; 6248 } 6249 if (3*I1%4 == 0) { 6250 I3 = 3*I1/4 ; 6251 J1 = -2*I1+3*I3 ; 6252 if ((2*I1+J1)%3 == 0) { 6253 J2 = (2*I1+J1)/3 ; 6254 J3 = 3*I1-4*J2 ; 6255 S1++; 6256 S2++; 6257 } 6258 } 6259 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 6260 J3 = -I1-2*(I2)+2*I3 ; 6261 S2++; 6262 } 6263 } 6264 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) { 6265 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 6266 J3 = I1-(I2)-(I3) ; 6267 S1++; 6268 } 6269 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 6270 J3 = -I1-2*(I2)+2*I3 ; 6271 S2++; 6272 } 6273 } 6274 for (I2=ceild(-I1+2*N1+1,2);I2<=min(N1,I1-1);I2++) { 6275 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 6276 J3 = I1-(I2)-(I3) ; 6277 S1++; 6278 } 6279 } 6280} 6281for (I1=max(10,ceild(6*N1+1,5));I1<=min(N1+2,floord(9*N1-3,7));I1++) { 6282 for (I2=1;I2<=floord(I1-1,9);I2++) { 6283 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 6284 J3 = -I1-2*(I2)+2*I3 ; 6285 S2++; 6286 } 6287 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 6288 J3 = I1-(I2)-(I3) ; 6289 S1++; 6290 } 6291 } 6292 for (I2=ceild(I1,9);I2<=floord(-2*I1+3*N1-1,3);I2++) { 6293 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 6294 J3 = -I1-2*(I2)+2*I3 ; 6295 S2++; 6296 } 6297 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 6298 J3 = I1-(I2)-(I3) ; 6299 S1++; 6300 J3 = -I1-2*(I2)+2*I3 ; 6301 S2++; 6302 } 6303 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 6304 J3 = I1-(I2)-(I3) ; 6305 S1++; 6306 } 6307 } 6308 if (I1%6 == 0) { 6309 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 6310 J3 = -I1-2*(I2)+2*I3 ; 6311 S2++; 6312 J3 = I1-(I2)-(I3) ; 6313 S1++; 6314 } 6315 if (13*I1%18 == 0) { 6316 I3 = 13*I1/18 ; 6317 J1 = -2*I1+3*I3 ; 6318 if ((2*I1+J1)%3 == 0) { 6319 J2 = (2*I1+J1)/3 ; 6320 J3 = 3*I1-4*J2 ; 6321 S1++; 6322 S2++; 6323 } 6324 } 6325 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 6326 J3 = I1-(I2)-(I3) ; 6327 S1++; 6328 J3 = -I1-2*(I2)+2*I3 ; 6329 S2++; 6330 } 6331 } 6332 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) { 6333 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 6334 J3 = I1-(I2)-(I3) ; 6335 S1++; 6336 } 6337 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 6338 J3 = -I1-2*(I2)+2*I3 ; 6339 S2++; 6340 J3 = I1-(I2)-(I3) ; 6341 S1++; 6342 } 6343 if ((2*I1+I2)%3 == 0) { 6344 I3 = (2*I1+I2)/3 ; 6345 J1 = -2*I1+3*I3 ; 6346 if ((2*I1+J1)%3 == 0) { 6347 J2 = (2*I1+J1)/3 ; 6348 J3 = 3*I1-4*J2 ; 6349 S1++; 6350 S2++; 6351 } 6352 } 6353 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 6354 J3 = I1-(I2)-(I3) ; 6355 S1++; 6356 J3 = -I1-2*(I2)+2*I3 ; 6357 S2++; 6358 } 6359 } 6360 for (I2=I1-N1+1;I2<=floord(-I1+2*N1,2);I2++) { 6361 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 6362 J3 = I1-(I2)-(I3) ; 6363 S1++; 6364 } 6365 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 6366 J3 = -I1-2*(I2)+2*I3 ; 6367 S2++; 6368 } 6369 } 6370 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 6371 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 6372 J3 = I1-(I2)-(I3) ; 6373 S1++; 6374 } 6375 } 6376} 6377if (N1 == 15) { 6378 for (I3=ceild(18+2*1,2);I3<=min(N1,floord(2*18+3*1,3));I3++) { 6379 J3 = -(18)-2*(I2)+2*I3 ; 6380 S2++; 6381 } 6382 for (I2=2;I2<=1;I2++) { 6383 for (I3=ceild(18+2*I2,2);I3<=min(18-2*I2-1,floord(2*18+3*I2,3));I3++) { 6384 J3 = -(18)-2*(I2)+2*I3 ; 6385 S2++; 6386 } 6387 for (I3=18-2*I2;I3<=min(N1,18-I2);I3++) { 6388 J3 = 18-(I2)-(I3) ; 6389 S1++; 6390 } 6391 } 6392 for (I3=ceild(18+2*2,2);I3<=18-2*(2)-1;I3++) { 6393 J3 = -(18)-2*(I2)+2*I3 ; 6394 S2++; 6395 } 6396 for (I3=18-2*(2);I3<=floord(2*18+3*2,3);I3++) { 6397 J3 = 18-(I2)-(I3) ; 6398 S1++; 6399 J3 = -(18)-2*(I2)+2*I3 ; 6400 S2++; 6401 } 6402 for (I3=ceild(2*18+3*2+1,3);I3<=min(N1,18-(2));I3++) { 6403 J3 = 18-(I2)-(I3) ; 6404 S1++; 6405 } 6406 if (18%7 == 0) { 6407 for (I3=ceild(9*18/7,2);I3<=5*18/7-1;I3++) { 6408 J3 = -(18)-2*(I2)+2*I3 ; 6409 S2++; 6410 } 6411 if (5*18%7 == 0) { 6412 I3 = 5*18/7 ; 6413 J1 = -2*(18)+3*I3 ; 6414 if ((2*18+J1)%3 == 0) { 6415 J2 = (2*18+J1)/3 ; 6416 J3 = 3*18-4*J2 ; 6417 S1++; 6418 S2++; 6419 } 6420 } 6421 for (I3=ceild(15*18/7+1,3);I3<=floord(17*18/7,3);I3++) { 6422 J3 = 18-(I2)-(I3) ; 6423 S1++; 6424 J3 = -(18)-2*(I2)+2*I3 ; 6425 S2++; 6426 } 6427 for (I3=ceild(17*18/7+1,3);I3<=min(N1,6*18/7);I3++) { 6428 J3 = 18-(I2)-(I3) ; 6429 S1++; 6430 } 6431 } 6432 for (I3=4*3;I3<=floord(13*3-1,3);I3++) { 6433 J3 = -(18)-2*(I2)+2*I3 ; 6434 S2++; 6435 J3 = 18-(I2)-(I3) ; 6436 S1++; 6437 } 6438 if (13*18%18 == 0) { 6439 I3 = 13*18/18 ; 6440 J1 = -2*(18)+3*I3 ; 6441 if ((2*18+J1)%3 == 0) { 6442 J2 = (2*18+J1)/3 ; 6443 J3 = 3*18-4*J2 ; 6444 S1++; 6445 S2++; 6446 } 6447 } 6448 for (I3=ceild(13*3+1,3);I3<=min(N1,5*3);I3++) { 6449 J3 = 18-(I2)-(I3) ; 6450 S1++; 6451 J3 = -(18)-2*(I2)+2*I3 ; 6452 S2++; 6453 } 6454 for (I3=18-2*(4);I3<=floord(18+2*4-1,2);I3++) { 6455 J3 = 18-(I2)-(I3) ; 6456 S1++; 6457 } 6458 for (I3=ceild(18+2*4,2);I3<=floord(2*18+4-1,3);I3++) { 6459 J3 = -(18)-2*(I2)+2*I3 ; 6460 S2++; 6461 J3 = 18-(I2)-(I3) ; 6462 S1++; 6463 } 6464 if ((2*18+4)%3 == 0) { 6465 I3 = (2*18+4)/3 ; 6466 J1 = -2*(18)+3*I3 ; 6467 if ((2*18+J1)%3 == 0) { 6468 J2 = (2*18+J1)/3 ; 6469 J3 = 3*18-4*J2 ; 6470 S1++; 6471 S2++; 6472 } 6473 } 6474 for (I3=ceild(2*18+4+1,3);I3<=18-(4);I3++) { 6475 J3 = 18-(I2)-(I3) ; 6476 S1++; 6477 J3 = -(18)-2*(I2)+2*I3 ; 6478 S2++; 6479 } 6480 for (I3=18-(4)+1;I3<=min(N1,floord(2*18+3*4,3));I3++) { 6481 J3 = -(18)-2*(I2)+2*I3 ; 6482 S2++; 6483 } 6484 if (17%4 == 0) { 6485 for (I3=2*17/4+1;I3<=3*17/4;I3++) { 6486 J3 = 18-(I2)-(I3) ; 6487 S1++; 6488 } 6489 if ((9*18-1)%12 == 0) { 6490 I3 = (9*18-1)/12 ; 6491 J1 = -2*(18)+3*I3 ; 6492 if ((2*18+J1)%3 == 0) { 6493 J2 = (2*18+J1)/3 ; 6494 J3 = 3*18-4*J2 ; 6495 S1++; 6496 S2++; 6497 } 6498 } 6499 if ((3*18+1)%4 == 0) { 6500 I3 = (3*18+1)/4 ; 6501 J3 = 18-(I2)-(I3) ; 6502 S1++; 6503 J3 = -(18)-2*(I2)+2*I3 ; 6504 S2++; 6505 } 6506 for (I3=3*17/4+2;I3<=min(N1,floord(11*17/4+2,3));I3++) { 6507 J3 = -(18)-2*(I2)+2*I3 ; 6508 S2++; 6509 } 6510 } 6511 if (9%2 == 0) { 6512 for (I3=2*9/2;I3<=floord(6*9/2-1,2);I3++) { 6513 J3 = 18-(I2)-(I3) ; 6514 S1++; 6515 } 6516 if (3*18%4 == 0) { 6517 I3 = 3*18/4 ; 6518 J1 = -2*(18)+3*I3 ; 6519 if ((2*18+J1)%3 == 0) { 6520 J2 = (2*18+J1)/3 ; 6521 J3 = 3*18-4*J2 ; 6522 S1++; 6523 S2++; 6524 } 6525 } 6526 for (I3=3*9/2+1;I3<=min(N1,floord(11*9/2,3));I3++) { 6527 J3 = -(18)-2*(I2)+2*I3 ; 6528 S2++; 6529 } 6530 } 6531 for (I2=5;I2<=6;I2++) { 6532 for (I3=max(max(1,ceild(18-I2,2)),18-2*I2);I3<=18-I2;I3++) { 6533 J3 = 18-(I2)-(I3) ; 6534 S1++; 6535 } 6536 for (I3=max(18-I2+1,ceild(18+2*I2,2));I3<=min(N1,floord(2*18+3*I2,3));I3++) { 6537 J3 = -(18)-2*(I2)+2*I3 ; 6538 S2++; 6539 } 6540 } 6541 for (I2=7;I2<=15;I2++) { 6542 for (I3=max(max(ceild(18-I2,2),18-2*I2),1);I3<=min(18-I2,N1);I3++) { 6543 J3 = 18-(I2)-(I3) ; 6544 S1++; 6545 } 6546 } 6547} 6548if (N1 == 16) { 6549 for (I3=ceild(19+2*1,2);I3<=min(N1,floord(2*19+3*1,3));I3++) { 6550 J3 = -(19)-2*(I2)+2*I3 ; 6551 S2++; 6552 } 6553 for (I3=ceild(19+2*2,2);I3<=min(19-2*(2)-1,floord(2*19+3*2,3));I3++) { 6554 J3 = -(19)-2*(I2)+2*I3 ; 6555 S2++; 6556 } 6557 for (I3=19-2*(2);I3<=min(N1,19-(2));I3++) { 6558 J3 = 19-(I2)-(I3) ; 6559 S1++; 6560 } 6561 for (I2=3;I2<=2;I2++) { 6562 for (I3=ceild(19+2*I2,2);I3<=19-2*I2-1;I3++) { 6563 J3 = -(19)-2*(I2)+2*I3 ; 6564 S2++; 6565 } 6566 for (I3=19-2*I2;I3<=floord(2*19+3*I2,3);I3++) { 6567 J3 = 19-(I2)-(I3) ; 6568 S1++; 6569 J3 = -(19)-2*(I2)+2*I3 ; 6570 S2++; 6571 } 6572 for (I3=ceild(2*19+3*I2+1,3);I3<=min(N1,19-I2);I3++) { 6573 J3 = 19-(I2)-(I3) ; 6574 S1++; 6575 } 6576 } 6577 if (19%7 == 0) { 6578 for (I3=ceild(9*19/7,2);I3<=5*19/7-1;I3++) { 6579 J3 = -(19)-2*(I2)+2*I3 ; 6580 S2++; 6581 } 6582 if (5*19%7 == 0) { 6583 I3 = 5*19/7 ; 6584 J1 = -2*(19)+3*I3 ; 6585 if ((2*19+J1)%3 == 0) { 6586 J2 = (2*19+J1)/3 ; 6587 J3 = 3*19-4*J2 ; 6588 S1++; 6589 S2++; 6590 } 6591 } 6592 for (I3=ceild(15*19/7+1,3);I3<=floord(17*19/7,3);I3++) { 6593 J3 = 19-(I2)-(I3) ; 6594 S1++; 6595 J3 = -(19)-2*(I2)+2*I3 ; 6596 S2++; 6597 } 6598 for (I3=ceild(17*19/7+1,3);I3<=min(N1,6*19/7);I3++) { 6599 J3 = 19-(I2)-(I3) ; 6600 S1++; 6601 } 6602 } 6603 for (I3=4*3+1;I3<=floord(13*3+1,3);I3++) { 6604 J3 = -(19)-2*(I2)+2*I3 ; 6605 S2++; 6606 J3 = 19-(I2)-(I3) ; 6607 S1++; 6608 } 6609 if ((13*19-1)%18 == 0) { 6610 I3 = (13*19-1)/18 ; 6611 J1 = -2*(19)+3*I3 ; 6612 if ((2*19+J1)%3 == 0) { 6613 J2 = (2*19+J1)/3 ; 6614 J3 = 3*19-4*J2 ; 6615 S1++; 6616 S2++; 6617 } 6618 } 6619 for (I3=ceild(13*3+3,3);I3<=floord(15*3+2,3);I3++) { 6620 J3 = 19-(I2)-(I3) ; 6621 S1++; 6622 J3 = -(19)-2*(I2)+2*I3 ; 6623 S2++; 6624 } 6625 if ((5*19+1)%6 == 0) { 6626 I3 = (5*19+1)/6 ; 6627 J3 = 19-(I2)-(I3) ; 6628 S1++; 6629 } 6630 if (19%6 == 0) { 6631 for (I3=4*19/6;I3<=floord(13*19/6-1,3);I3++) { 6632 J3 = -(19)-2*(I2)+2*I3 ; 6633 S2++; 6634 J3 = 19-(I2)-(I3) ; 6635 S1++; 6636 } 6637 if (13*19%18 == 0) { 6638 I3 = 13*19/18 ; 6639 J1 = -2*(19)+3*I3 ; 6640 if ((2*19+J1)%3 == 0) { 6641 J2 = (2*19+J1)/3 ; 6642 J3 = 3*19-4*J2 ; 6643 S1++; 6644 S2++; 6645 } 6646 } 6647 for (I3=ceild(13*19/6+1,3);I3<=min(N1,5*19/6);I3++) { 6648 J3 = 19-(I2)-(I3) ; 6649 S1++; 6650 J3 = -(19)-2*(I2)+2*I3 ; 6651 S2++; 6652 } 6653 } 6654 for (I3=19-2*(4);I3<=floord(19+2*4-1,2);I3++) { 6655 J3 = 19-(I2)-(I3) ; 6656 S1++; 6657 } 6658 for (I3=ceild(19+2*4,2);I3<=floord(2*19+4-1,3);I3++) { 6659 J3 = -(19)-2*(I2)+2*I3 ; 6660 S2++; 6661 J3 = 19-(I2)-(I3) ; 6662 S1++; 6663 } 6664 if ((2*19+4)%3 == 0) { 6665 I3 = (2*19+4)/3 ; 6666 J1 = -2*(19)+3*I3 ; 6667 if ((2*19+J1)%3 == 0) { 6668 J2 = (2*19+J1)/3 ; 6669 J3 = 3*19-4*J2 ; 6670 S1++; 6671 S2++; 6672 } 6673 } 6674 for (I3=ceild(2*19+4+1,3);I3<=19-(4);I3++) { 6675 J3 = 19-(I2)-(I3) ; 6676 S1++; 6677 J3 = -(19)-2*(I2)+2*I3 ; 6678 S2++; 6679 } 6680 for (I3=19-(4)+1;I3<=min(N1,floord(2*19+3*4,3));I3++) { 6681 J3 = -(19)-2*(I2)+2*I3 ; 6682 S2++; 6683 } 6684 if (9%2 == 0) { 6685 for (I3=2*9/2+1;I3<=3*9/2;I3++) { 6686 J3 = 19-(I2)-(I3) ; 6687 S1++; 6688 } 6689 if ((9*19-1)%12 == 0) { 6690 I3 = (9*19-1)/12 ; 6691 J1 = -2*(19)+3*I3 ; 6692 if ((2*19+J1)%3 == 0) { 6693 J2 = (2*19+J1)/3 ; 6694 J3 = 3*19-4*J2 ; 6695 S1++; 6696 S2++; 6697 } 6698 } 6699 if ((3*19+1)%4 == 0) { 6700 I3 = (3*19+1)/4 ; 6701 J3 = 19-(I2)-(I3) ; 6702 S1++; 6703 J3 = -(19)-2*(I2)+2*I3 ; 6704 S2++; 6705 } 6706 for (I3=3*9/2+2;I3<=min(N1,floord(11*9/2+2,3));I3++) { 6707 J3 = -(19)-2*(I2)+2*I3 ; 6708 S2++; 6709 } 6710 } 6711 if (19%4 == 0) { 6712 for (I3=2*19/4;I3<=floord(6*19/4-1,2);I3++) { 6713 J3 = 19-(I2)-(I3) ; 6714 S1++; 6715 } 6716 if (3*19%4 == 0) { 6717 I3 = 3*19/4 ; 6718 J1 = -2*(19)+3*I3 ; 6719 if ((2*19+J1)%3 == 0) { 6720 J2 = (2*19+J1)/3 ; 6721 J3 = 3*19-4*J2 ; 6722 S1++; 6723 S2++; 6724 } 6725 } 6726 for (I3=3*19/4+1;I3<=min(N1,floord(11*19/4,3));I3++) { 6727 J3 = -(19)-2*(I2)+2*I3 ; 6728 S2++; 6729 } 6730 } 6731 for (I2=5;I2<=6;I2++) { 6732 for (I3=max(max(1,ceild(19-I2,2)),19-2*I2);I3<=19-I2;I3++) { 6733 J3 = 19-(I2)-(I3) ; 6734 S1++; 6735 } 6736 for (I3=max(19-I2+1,ceild(19+2*I2,2));I3<=min(N1,floord(2*19+3*I2,3));I3++) { 6737 J3 = -(19)-2*(I2)+2*I3 ; 6738 S2++; 6739 } 6740 } 6741 for (I2=7;I2<=16;I2++) { 6742 for (I3=max(max(ceild(19-I2,2),19-2*I2),1);I3<=min(19-I2,N1);I3++) { 6743 J3 = 19-(I2)-(I3) ; 6744 S1++; 6745 } 6746 } 6747} 6748if ((N1 >= 17) && (N1 <= 16)) { 6749 if ((4*N1-5)%3 == 0) { 6750 I1 = (4*N1-5)/3 ; 6751 for (I2=1;I2<=floord(N1-8,6);I2++) { 6752 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 6753 J3 = -I1-2*(I2)+2*I3 ; 6754 S2++; 6755 } 6756 } 6757 for (I2=ceild(N1-5,6);I2<=floord(4*N1-8,27);I2++) { 6758 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 6759 J3 = -I1-2*(I2)+2*I3 ; 6760 S2++; 6761 } 6762 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 6763 J3 = I1-(I2)-(I3) ; 6764 S1++; 6765 } 6766 } 6767 for (I2=ceild(4*N1-5,27);I2<=floord(N1+7,9);I2++) { 6768 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 6769 J3 = -I1-2*(I2)+2*I3 ; 6770 S2++; 6771 } 6772 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 6773 J3 = I1-(I2)-(I3) ; 6774 S1++; 6775 J3 = -I1-2*(I2)+2*I3 ; 6776 S2++; 6777 } 6778 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 6779 J3 = I1-(I2)-(I3) ; 6780 S1++; 6781 } 6782 } 6783 for (I2=ceild(4*N1-2,21);I2<=floord(4*N1-11,18);I2++) { 6784 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 6785 J3 = -I1-2*(I2)+2*I3 ; 6786 S2++; 6787 } 6788 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 6789 J3 = -I1-2*(I2)+2*I3 ; 6790 S2++; 6791 J3 = I1-(I2)-(I3) ; 6792 S1++; 6793 } 6794 if ((2*I1+I2)%3 == 0) { 6795 I3 = (2*I1+I2)/3 ; 6796 J1 = -2*I1+3*I3 ; 6797 if ((2*I1+J1)%3 == 0) { 6798 J2 = (2*I1+J1)/3 ; 6799 J3 = 3*I1-4*J2 ; 6800 S1++; 6801 S2++; 6802 } 6803 } 6804 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 6805 J3 = I1-(I2)-(I3) ; 6806 S1++; 6807 J3 = -I1-2*(I2)+2*I3 ; 6808 S2++; 6809 } 6810 } 6811 if ((4*N1-5)%18 == 0) { 6812 I2 = (4*N1-5)/18 ; 6813 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) { 6814 J3 = -I1-2*(I2)+2*I3 ; 6815 S2++; 6816 J3 = I1-(I2)-(I3) ; 6817 S1++; 6818 } 6819 if (13*I1%18 == 0) { 6820 I3 = 13*I1/18 ; 6821 J1 = -2*I1+3*I3 ; 6822 if ((2*I1+J1)%3 == 0) { 6823 J2 = (2*I1+J1)/3 ; 6824 J3 = 3*I1-4*J2 ; 6825 S1++; 6826 S2++; 6827 } 6828 } 6829 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) { 6830 J3 = I1-(I2)-(I3) ; 6831 S1++; 6832 J3 = -I1-2*(I2)+2*I3 ; 6833 S2++; 6834 } 6835 } 6836 for (I2=ceild(2*N1-1,9);I2<=floord(N1-5,3);I2++) { 6837 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 6838 J3 = I1-(I2)-(I3) ; 6839 S1++; 6840 } 6841 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 6842 J3 = -I1-2*(I2)+2*I3 ; 6843 S2++; 6844 J3 = I1-(I2)-(I3) ; 6845 S1++; 6846 } 6847 if ((2*I1+I2)%3 == 0) { 6848 I3 = (2*I1+I2)/3 ; 6849 J1 = -2*I1+3*I3 ; 6850 if ((2*I1+J1)%3 == 0) { 6851 J2 = (2*I1+J1)/3 ; 6852 J3 = 3*I1-4*J2 ; 6853 S1++; 6854 S2++; 6855 } 6856 } 6857 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 6858 J3 = I1-(I2)-(I3) ; 6859 S1++; 6860 J3 = -I1-2*(I2)+2*I3 ; 6861 S2++; 6862 } 6863 } 6864 if ((N1-2)%3 == 0) { 6865 I2 = (N1-2)/3 ; 6866 for (I3=2*I2+1;I3<=3*I2;I3++) { 6867 J3 = I1-(I2)-(I3) ; 6868 S1++; 6869 } 6870 if ((9*I1-1)%12 == 0) { 6871 I3 = (9*I1-1)/12 ; 6872 J1 = -2*I1+3*I3 ; 6873 if ((2*I1+J1)%3 == 0) { 6874 J2 = (2*I1+J1)/3 ; 6875 J3 = 3*I1-4*J2 ; 6876 S1++; 6877 S2++; 6878 } 6879 } 6880 if ((3*I1+1)%4 == 0) { 6881 I3 = (3*I1+1)/4 ; 6882 J3 = I1-(I2)-(I3) ; 6883 S1++; 6884 J3 = -I1-2*(I2)+2*I3 ; 6885 S2++; 6886 } 6887 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 6888 J3 = -I1-2*(I2)+2*I3 ; 6889 S2++; 6890 } 6891 } 6892 if ((4*N1-5)%12 == 0) { 6893 I2 = (4*N1-5)/12 ; 6894 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) { 6895 J3 = I1-(I2)-(I3) ; 6896 S1++; 6897 } 6898 if (3*I1%4 == 0) { 6899 I3 = 3*I1/4 ; 6900 J1 = -2*I1+3*I3 ; 6901 if ((2*I1+J1)%3 == 0) { 6902 J2 = (2*I1+J1)/3 ; 6903 J3 = 3*I1-4*J2 ; 6904 S1++; 6905 S2++; 6906 } 6907 } 6908 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) { 6909 J3 = -I1-2*(I2)+2*I3 ; 6910 S2++; 6911 } 6912 } 6913 for (I2=ceild(2*N1-1,6);I2<=floord(2*N1+5,6);I2++) { 6914 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 6915 J3 = I1-(I2)-(I3) ; 6916 S1++; 6917 } 6918 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 6919 J3 = -I1-2*(I2)+2*I3 ; 6920 S2++; 6921 } 6922 } 6923 for (I2=ceild(N1+4,3);I2<=N1;I2++) { 6924 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 6925 J3 = I1-(I2)-(I3) ; 6926 S1++; 6927 } 6928 } 6929 } 6930} 6931if (N1 == 9) { 6932 for (I3=ceild(12+2*1,2);I3<=min(N1,floord(2*12+3*1,3));I3++) { 6933 J3 = -(12)-2*(I2)+2*I3 ; 6934 S2++; 6935 } 6936 for (I2=2;I2<=1;I2++) { 6937 for (I3=ceild(12+2*I2,2);I3<=12-2*I2-1;I3++) { 6938 J3 = -(12)-2*(I2)+2*I3 ; 6939 S2++; 6940 } 6941 for (I3=12-2*I2;I3<=N1;I3++) { 6942 J3 = 12-(I2)-(I3) ; 6943 S1++; 6944 J3 = -(12)-2*(I2)+2*I3 ; 6945 S2++; 6946 } 6947 } 6948 for (I3=4*2;I3<=floord(13*2-1,3);I3++) { 6949 J3 = -(12)-2*(I2)+2*I3 ; 6950 S2++; 6951 J3 = 12-(I2)-(I3) ; 6952 S1++; 6953 } 6954 if (13*12%18 == 0) { 6955 I3 = 13*12/18 ; 6956 J1 = -2*(12)+3*I3 ; 6957 if ((2*12+J1)%3 == 0) { 6958 J2 = (2*12+J1)/3 ; 6959 J3 = 3*12-4*J2 ; 6960 S1++; 6961 S2++; 6962 } 6963 } 6964 for (I3=ceild(13*2+1,3);I3<=min(N1,5*2);I3++) { 6965 J3 = 12-(I2)-(I3) ; 6966 S1++; 6967 J3 = -(12)-2*(I2)+2*I3 ; 6968 S2++; 6969 } 6970 for (I3=ceild(2*N1,3);I3<=floord(2*N1-1,2);I3++) { 6971 J3 = 12-(I2)-(I3) ; 6972 S1++; 6973 } 6974 J1 = -2*(12)+3*N1 ; 6975 if ((2*12+J1)%3 == 0) { 6976 J2 = (2*12+J1)/3 ; 6977 J3 = 3*12-4*J2 ; 6978 S1++; 6979 S2++; 6980 } 6981 for (I2=4;I2<=9;I2++) { 6982 for (I3=max(max(ceild(12-I2,2),12-2*I2),1);I3<=min(12-I2,N1);I3++) { 6983 J3 = 12-(I2)-(I3) ; 6984 S1++; 6985 } 6986 } 6987} 6988for (I1=max(20,ceild(2*N1+3,3));I1<=N1+2;I1++) { 6989 for (I2=1;I2<=floord(I1-1,9);I2++) { 6990 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 6991 J3 = -I1-2*(I2)+2*I3 ; 6992 S2++; 6993 } 6994 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 6995 J3 = I1-(I2)-(I3) ; 6996 S1++; 6997 } 6998 } 6999 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) { 7000 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 7001 J3 = -I1-2*(I2)+2*I3 ; 7002 S2++; 7003 } 7004 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 7005 J3 = I1-(I2)-(I3) ; 7006 S1++; 7007 J3 = -I1-2*(I2)+2*I3 ; 7008 S2++; 7009 } 7010 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 7011 J3 = I1-(I2)-(I3) ; 7012 S1++; 7013 } 7014 } 7015 if (I1%7 == 0) { 7016 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 7017 J3 = -I1-2*(I2)+2*I3 ; 7018 S2++; 7019 } 7020 if (5*I1%7 == 0) { 7021 I3 = 5*I1/7 ; 7022 J1 = -2*I1+3*I3 ; 7023 if ((2*I1+J1)%3 == 0) { 7024 J2 = (2*I1+J1)/3 ; 7025 J3 = 3*I1-4*J2 ; 7026 S1++; 7027 S2++; 7028 } 7029 } 7030 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) { 7031 J3 = I1-(I2)-(I3) ; 7032 S1++; 7033 J3 = -I1-2*(I2)+2*I3 ; 7034 S2++; 7035 } 7036 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) { 7037 J3 = I1-(I2)-(I3) ; 7038 S1++; 7039 } 7040 } 7041 for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) { 7042 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 7043 J3 = -I1-2*(I2)+2*I3 ; 7044 S2++; 7045 } 7046 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 7047 J3 = -I1-2*(I2)+2*I3 ; 7048 S2++; 7049 J3 = I1-(I2)-(I3) ; 7050 S1++; 7051 } 7052 if ((2*I1+I2)%3 == 0) { 7053 I3 = (2*I1+I2)/3 ; 7054 J1 = -2*I1+3*I3 ; 7055 if ((2*I1+J1)%3 == 0) { 7056 J2 = (2*I1+J1)/3 ; 7057 J3 = 3*I1-4*J2 ; 7058 S1++; 7059 S2++; 7060 } 7061 } 7062 for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) { 7063 J3 = I1-(I2)-(I3) ; 7064 S1++; 7065 J3 = -I1-2*(I2)+2*I3 ; 7066 S2++; 7067 } 7068 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 7069 J3 = I1-(I2)-(I3) ; 7070 S1++; 7071 } 7072 } 7073 if ((I1-1)%6 == 0) { 7074 I2 = (I1-1)/6 ; 7075 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 7076 J3 = -I1-2*(I2)+2*I3 ; 7077 S2++; 7078 J3 = I1-(I2)-(I3) ; 7079 S1++; 7080 } 7081 if ((13*I1-1)%18 == 0) { 7082 I3 = (13*I1-1)/18 ; 7083 J1 = -2*I1+3*I3 ; 7084 if ((2*I1+J1)%3 == 0) { 7085 J2 = (2*I1+J1)/3 ; 7086 J3 = 3*I1-4*J2 ; 7087 S1++; 7088 S2++; 7089 } 7090 } 7091 for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) { 7092 J3 = I1-(I2)-(I3) ; 7093 S1++; 7094 J3 = -I1-2*(I2)+2*I3 ; 7095 S2++; 7096 } 7097 if ((5*I1+1)%6 == 0) { 7098 I3 = (5*I1+1)/6 ; 7099 J3 = I1-(I2)-(I3) ; 7100 S1++; 7101 } 7102 } 7103 if (I1%6 == 0) { 7104 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 7105 J3 = -I1-2*(I2)+2*I3 ; 7106 S2++; 7107 J3 = I1-(I2)-(I3) ; 7108 S1++; 7109 } 7110 if (13*I1%18 == 0) { 7111 I3 = 13*I1/18 ; 7112 J1 = -2*I1+3*I3 ; 7113 if ((2*I1+J1)%3 == 0) { 7114 J2 = (2*I1+J1)/3 ; 7115 J3 = 3*I1-4*J2 ; 7116 S1++; 7117 S2++; 7118 } 7119 } 7120 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 7121 J3 = I1-(I2)-(I3) ; 7122 S1++; 7123 J3 = -I1-2*(I2)+2*I3 ; 7124 S2++; 7125 } 7126 } 7127 for (I2=ceild(I1+1,6);I2<=floord(I1+2,6);I2++) { 7128 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 7129 J3 = I1-(I2)-(I3) ; 7130 S1++; 7131 } 7132 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 7133 J3 = -I1-2*(I2)+2*I3 ; 7134 S2++; 7135 J3 = I1-(I2)-(I3) ; 7136 S1++; 7137 } 7138 if ((2*I1+I2)%3 == 0) { 7139 I3 = (2*I1+I2)/3 ; 7140 J1 = -2*I1+3*I3 ; 7141 if ((2*I1+J1)%3 == 0) { 7142 J2 = (2*I1+J1)/3 ; 7143 J3 = 3*I1-4*J2 ; 7144 S1++; 7145 S2++; 7146 } 7147 } 7148 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 7149 J3 = I1-(I2)-(I3) ; 7150 S1++; 7151 J3 = -I1-2*(I2)+2*I3 ; 7152 S2++; 7153 } 7154 } 7155 for (I2=ceild(I1+3,6);I2<=floord(I1-2,4);I2++) { 7156 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 7157 J3 = I1-(I2)-(I3) ; 7158 S1++; 7159 } 7160 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 7161 J3 = -I1-2*(I2)+2*I3 ; 7162 S2++; 7163 J3 = I1-(I2)-(I3) ; 7164 S1++; 7165 } 7166 if ((2*I1+I2)%3 == 0) { 7167 I3 = (2*I1+I2)/3 ; 7168 J1 = -2*I1+3*I3 ; 7169 if ((2*I1+J1)%3 == 0) { 7170 J2 = (2*I1+J1)/3 ; 7171 J3 = 3*I1-4*J2 ; 7172 S1++; 7173 S2++; 7174 } 7175 } 7176 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 7177 J3 = I1-(I2)-(I3) ; 7178 S1++; 7179 J3 = -I1-2*(I2)+2*I3 ; 7180 S2++; 7181 } 7182 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 7183 J3 = -I1-2*(I2)+2*I3 ; 7184 S2++; 7185 } 7186 } 7187 if ((I1-1)%4 == 0) { 7188 I2 = (I1-1)/4 ; 7189 for (I3=2*I2+1;I3<=3*I2;I3++) { 7190 J3 = I1-(I2)-(I3) ; 7191 S1++; 7192 } 7193 if ((9*I1-1)%12 == 0) { 7194 I3 = (9*I1-1)/12 ; 7195 J1 = -2*I1+3*I3 ; 7196 if ((2*I1+J1)%3 == 0) { 7197 J2 = (2*I1+J1)/3 ; 7198 J3 = 3*I1-4*J2 ; 7199 S1++; 7200 S2++; 7201 } 7202 } 7203 if ((3*I1+1)%4 == 0) { 7204 I3 = (3*I1+1)/4 ; 7205 J3 = I1-(I2)-(I3) ; 7206 S1++; 7207 J3 = -I1-2*(I2)+2*I3 ; 7208 S2++; 7209 } 7210 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 7211 J3 = -I1-2*(I2)+2*I3 ; 7212 S2++; 7213 } 7214 } 7215 if (I1%4 == 0) { 7216 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 7217 J3 = I1-(I2)-(I3) ; 7218 S1++; 7219 } 7220 if (3*I1%4 == 0) { 7221 I3 = 3*I1/4 ; 7222 J1 = -2*I1+3*I3 ; 7223 if ((2*I1+J1)%3 == 0) { 7224 J2 = (2*I1+J1)/3 ; 7225 J3 = 3*I1-4*J2 ; 7226 S1++; 7227 S2++; 7228 } 7229 } 7230 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 7231 J3 = -I1-2*(I2)+2*I3 ; 7232 S2++; 7233 } 7234 } 7235 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) { 7236 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 7237 J3 = I1-(I2)-(I3) ; 7238 S1++; 7239 } 7240 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 7241 J3 = -I1-2*(I2)+2*I3 ; 7242 S2++; 7243 } 7244 } 7245 for (I2=ceild(-I1+2*N1+1,2);I2<=min(N1,I1-1);I2++) { 7246 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 7247 J3 = I1-(I2)-(I3) ; 7248 S1++; 7249 } 7250 } 7251} 7252for (I1=max(14,ceild(6*N1-3,5));I1<=N1+2;I1++) { 7253 for (I2=1;I2<=floord(I1-1,9);I2++) { 7254 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 7255 J3 = -I1-2*(I2)+2*I3 ; 7256 S2++; 7257 } 7258 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 7259 J3 = I1-(I2)-(I3) ; 7260 S1++; 7261 } 7262 } 7263 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) { 7264 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 7265 J3 = -I1-2*(I2)+2*I3 ; 7266 S2++; 7267 } 7268 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 7269 J3 = I1-(I2)-(I3) ; 7270 S1++; 7271 J3 = -I1-2*(I2)+2*I3 ; 7272 S2++; 7273 } 7274 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 7275 J3 = I1-(I2)-(I3) ; 7276 S1++; 7277 } 7278 } 7279 if (I1%7 == 0) { 7280 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 7281 J3 = -I1-2*(I2)+2*I3 ; 7282 S2++; 7283 } 7284 if (5*I1%7 == 0) { 7285 I3 = 5*I1/7 ; 7286 J1 = -2*I1+3*I3 ; 7287 if ((2*I1+J1)%3 == 0) { 7288 J2 = (2*I1+J1)/3 ; 7289 J3 = 3*I1-4*J2 ; 7290 S1++; 7291 S2++; 7292 } 7293 } 7294 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) { 7295 J3 = I1-(I2)-(I3) ; 7296 S1++; 7297 J3 = -I1-2*(I2)+2*I3 ; 7298 S2++; 7299 } 7300 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) { 7301 J3 = I1-(I2)-(I3) ; 7302 S1++; 7303 } 7304 } 7305 if ((I1-1)%6 == 0) { 7306 I2 = (I1-1)/6 ; 7307 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 7308 J3 = -I1-2*(I2)+2*I3 ; 7309 S2++; 7310 J3 = I1-(I2)-(I3) ; 7311 S1++; 7312 } 7313 if ((13*I1-1)%18 == 0) { 7314 I3 = (13*I1-1)/18 ; 7315 J1 = -2*I1+3*I3 ; 7316 if ((2*I1+J1)%3 == 0) { 7317 J2 = (2*I1+J1)/3 ; 7318 J3 = 3*I1-4*J2 ; 7319 S1++; 7320 S2++; 7321 } 7322 } 7323 for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) { 7324 J3 = I1-(I2)-(I3) ; 7325 S1++; 7326 J3 = -I1-2*(I2)+2*I3 ; 7327 S2++; 7328 } 7329 if ((5*I1+1)%6 == 0) { 7330 I3 = (5*I1+1)/6 ; 7331 J3 = I1-(I2)-(I3) ; 7332 S1++; 7333 } 7334 } 7335 if (I1%6 == 0) { 7336 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 7337 J3 = -I1-2*(I2)+2*I3 ; 7338 S2++; 7339 J3 = I1-(I2)-(I3) ; 7340 S1++; 7341 } 7342 if (13*I1%18 == 0) { 7343 I3 = 13*I1/18 ; 7344 J1 = -2*I1+3*I3 ; 7345 if ((2*I1+J1)%3 == 0) { 7346 J2 = (2*I1+J1)/3 ; 7347 J3 = 3*I1-4*J2 ; 7348 S1++; 7349 S2++; 7350 } 7351 } 7352 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 7353 J3 = I1-(I2)-(I3) ; 7354 S1++; 7355 J3 = -I1-2*(I2)+2*I3 ; 7356 S2++; 7357 } 7358 } 7359 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) { 7360 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 7361 J3 = I1-(I2)-(I3) ; 7362 S1++; 7363 } 7364 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 7365 J3 = -I1-2*(I2)+2*I3 ; 7366 S2++; 7367 J3 = I1-(I2)-(I3) ; 7368 S1++; 7369 } 7370 if ((2*I1+I2)%3 == 0) { 7371 I3 = (2*I1+I2)/3 ; 7372 J1 = -2*I1+3*I3 ; 7373 if ((2*I1+J1)%3 == 0) { 7374 J2 = (2*I1+J1)/3 ; 7375 J3 = 3*I1-4*J2 ; 7376 S1++; 7377 S2++; 7378 } 7379 } 7380 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 7381 J3 = I1-(I2)-(I3) ; 7382 S1++; 7383 J3 = -I1-2*(I2)+2*I3 ; 7384 S2++; 7385 } 7386 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 7387 J3 = -I1-2*(I2)+2*I3 ; 7388 S2++; 7389 } 7390 } 7391 if ((I1-1)%4 == 0) { 7392 I2 = (I1-1)/4 ; 7393 for (I3=2*I2+1;I3<=3*I2;I3++) { 7394 J3 = I1-(I2)-(I3) ; 7395 S1++; 7396 } 7397 if ((9*I1-1)%12 == 0) { 7398 I3 = (9*I1-1)/12 ; 7399 J1 = -2*I1+3*I3 ; 7400 if ((2*I1+J1)%3 == 0) { 7401 J2 = (2*I1+J1)/3 ; 7402 J3 = 3*I1-4*J2 ; 7403 S1++; 7404 S2++; 7405 } 7406 } 7407 if ((3*I1+1)%4 == 0) { 7408 I3 = (3*I1+1)/4 ; 7409 J3 = I1-(I2)-(I3) ; 7410 S1++; 7411 J3 = -I1-2*(I2)+2*I3 ; 7412 S2++; 7413 } 7414 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 7415 J3 = -I1-2*(I2)+2*I3 ; 7416 S2++; 7417 } 7418 } 7419 if (I1%4 == 0) { 7420 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 7421 J3 = I1-(I2)-(I3) ; 7422 S1++; 7423 } 7424 if (3*I1%4 == 0) { 7425 I3 = 3*I1/4 ; 7426 J1 = -2*I1+3*I3 ; 7427 if ((2*I1+J1)%3 == 0) { 7428 J2 = (2*I1+J1)/3 ; 7429 J3 = 3*I1-4*J2 ; 7430 S1++; 7431 S2++; 7432 } 7433 } 7434 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 7435 J3 = -I1-2*(I2)+2*I3 ; 7436 S2++; 7437 } 7438 } 7439 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) { 7440 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 7441 J3 = I1-(I2)-(I3) ; 7442 S1++; 7443 } 7444 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 7445 J3 = -I1-2*(I2)+2*I3 ; 7446 S2++; 7447 } 7448 } 7449 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 7450 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 7451 J3 = I1-(I2)-(I3) ; 7452 S1++; 7453 } 7454 } 7455} 7456for (I1=N1+3;I1<=floord(6*N1-4,5);I1++) { 7457 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 7458 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 7459 J3 = -I1-2*(I2)+2*I3 ; 7460 S2++; 7461 } 7462 } 7463 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) { 7464 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 7465 J3 = -I1-2*(I2)+2*I3 ; 7466 S2++; 7467 } 7468 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 7469 J3 = I1-(I2)-(I3) ; 7470 S1++; 7471 } 7472 } 7473 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) { 7474 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 7475 J3 = -I1-2*(I2)+2*I3 ; 7476 S2++; 7477 } 7478 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 7479 J3 = I1-(I2)-(I3) ; 7480 S1++; 7481 J3 = -I1-2*(I2)+2*I3 ; 7482 S2++; 7483 } 7484 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 7485 J3 = I1-(I2)-(I3) ; 7486 S1++; 7487 } 7488 } 7489 if (I1%7 == 0) { 7490 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 7491 J3 = -I1-2*(I2)+2*I3 ; 7492 S2++; 7493 } 7494 if (5*I1%7 == 0) { 7495 I3 = 5*I1/7 ; 7496 J1 = -2*I1+3*I3 ; 7497 if ((2*I1+J1)%3 == 0) { 7498 J2 = (2*I1+J1)/3 ; 7499 J3 = 3*I1-4*J2 ; 7500 S1++; 7501 S2++; 7502 } 7503 } 7504 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) { 7505 J3 = I1-(I2)-(I3) ; 7506 S1++; 7507 J3 = -I1-2*(I2)+2*I3 ; 7508 S2++; 7509 } 7510 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) { 7511 J3 = I1-(I2)-(I3) ; 7512 S1++; 7513 } 7514 } 7515 for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) { 7516 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 7517 J3 = -I1-2*(I2)+2*I3 ; 7518 S2++; 7519 } 7520 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 7521 J3 = -I1-2*(I2)+2*I3 ; 7522 S2++; 7523 J3 = I1-(I2)-(I3) ; 7524 S1++; 7525 } 7526 if ((2*I1+I2)%3 == 0) { 7527 I3 = (2*I1+I2)/3 ; 7528 J1 = -2*I1+3*I3 ; 7529 if ((2*I1+J1)%3 == 0) { 7530 J2 = (2*I1+J1)/3 ; 7531 J3 = 3*I1-4*J2 ; 7532 S1++; 7533 S2++; 7534 } 7535 } 7536 for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) { 7537 J3 = I1-(I2)-(I3) ; 7538 S1++; 7539 J3 = -I1-2*(I2)+2*I3 ; 7540 S2++; 7541 } 7542 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 7543 J3 = I1-(I2)-(I3) ; 7544 S1++; 7545 } 7546 } 7547 if ((I1-1)%6 == 0) { 7548 I2 = (I1-1)/6 ; 7549 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 7550 J3 = -I1-2*(I2)+2*I3 ; 7551 S2++; 7552 J3 = I1-(I2)-(I3) ; 7553 S1++; 7554 } 7555 if ((13*I1-1)%18 == 0) { 7556 I3 = (13*I1-1)/18 ; 7557 J1 = -2*I1+3*I3 ; 7558 if ((2*I1+J1)%3 == 0) { 7559 J2 = (2*I1+J1)/3 ; 7560 J3 = 3*I1-4*J2 ; 7561 S1++; 7562 S2++; 7563 } 7564 } 7565 for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) { 7566 J3 = I1-(I2)-(I3) ; 7567 S1++; 7568 J3 = -I1-2*(I2)+2*I3 ; 7569 S2++; 7570 } 7571 if ((5*I1+1)%6 == 0) { 7572 I3 = (5*I1+1)/6 ; 7573 J3 = I1-(I2)-(I3) ; 7574 S1++; 7575 } 7576 } 7577 if (I1%6 == 0) { 7578 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 7579 J3 = -I1-2*(I2)+2*I3 ; 7580 S2++; 7581 J3 = I1-(I2)-(I3) ; 7582 S1++; 7583 } 7584 if (13*I1%18 == 0) { 7585 I3 = 13*I1/18 ; 7586 J1 = -2*I1+3*I3 ; 7587 if ((2*I1+J1)%3 == 0) { 7588 J2 = (2*I1+J1)/3 ; 7589 J3 = 3*I1-4*J2 ; 7590 S1++; 7591 S2++; 7592 } 7593 } 7594 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 7595 J3 = I1-(I2)-(I3) ; 7596 S1++; 7597 J3 = -I1-2*(I2)+2*I3 ; 7598 S2++; 7599 } 7600 } 7601 for (I2=max(ceild(I1+1,6),I1-N1+1);I2<=floord(I1+2,6);I2++) { 7602 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 7603 J3 = I1-(I2)-(I3) ; 7604 S1++; 7605 } 7606 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 7607 J3 = -I1-2*(I2)+2*I3 ; 7608 S2++; 7609 J3 = I1-(I2)-(I3) ; 7610 S1++; 7611 } 7612 if ((2*I1+I2)%3 == 0) { 7613 I3 = (2*I1+I2)/3 ; 7614 J1 = -2*I1+3*I3 ; 7615 if ((2*I1+J1)%3 == 0) { 7616 J2 = (2*I1+J1)/3 ; 7617 J3 = 3*I1-4*J2 ; 7618 S1++; 7619 S2++; 7620 } 7621 } 7622 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 7623 J3 = I1-(I2)-(I3) ; 7624 S1++; 7625 J3 = -I1-2*(I2)+2*I3 ; 7626 S2++; 7627 } 7628 } 7629 for (I2=ceild(I1+3,6);I2<=floord(I1-2,4);I2++) { 7630 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 7631 J3 = I1-(I2)-(I3) ; 7632 S1++; 7633 } 7634 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 7635 J3 = -I1-2*(I2)+2*I3 ; 7636 S2++; 7637 J3 = I1-(I2)-(I3) ; 7638 S1++; 7639 } 7640 if ((2*I1+I2)%3 == 0) { 7641 I3 = (2*I1+I2)/3 ; 7642 J1 = -2*I1+3*I3 ; 7643 if ((2*I1+J1)%3 == 0) { 7644 J2 = (2*I1+J1)/3 ; 7645 J3 = 3*I1-4*J2 ; 7646 S1++; 7647 S2++; 7648 } 7649 } 7650 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 7651 J3 = I1-(I2)-(I3) ; 7652 S1++; 7653 J3 = -I1-2*(I2)+2*I3 ; 7654 S2++; 7655 } 7656 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 7657 J3 = -I1-2*(I2)+2*I3 ; 7658 S2++; 7659 } 7660 } 7661 if ((I1-1)%4 == 0) { 7662 I2 = (I1-1)/4 ; 7663 for (I3=2*I2+1;I3<=3*I2;I3++) { 7664 J3 = I1-(I2)-(I3) ; 7665 S1++; 7666 } 7667 if ((9*I1-1)%12 == 0) { 7668 I3 = (9*I1-1)/12 ; 7669 J1 = -2*I1+3*I3 ; 7670 if ((2*I1+J1)%3 == 0) { 7671 J2 = (2*I1+J1)/3 ; 7672 J3 = 3*I1-4*J2 ; 7673 S1++; 7674 S2++; 7675 } 7676 } 7677 if ((3*I1+1)%4 == 0) { 7678 I3 = (3*I1+1)/4 ; 7679 J3 = I1-(I2)-(I3) ; 7680 S1++; 7681 J3 = -I1-2*(I2)+2*I3 ; 7682 S2++; 7683 } 7684 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 7685 J3 = -I1-2*(I2)+2*I3 ; 7686 S2++; 7687 } 7688 } 7689 if (I1%4 == 0) { 7690 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 7691 J3 = I1-(I2)-(I3) ; 7692 S1++; 7693 } 7694 if (3*I1%4 == 0) { 7695 I3 = 3*I1/4 ; 7696 J1 = -2*I1+3*I3 ; 7697 if ((2*I1+J1)%3 == 0) { 7698 J2 = (2*I1+J1)/3 ; 7699 J3 = 3*I1-4*J2 ; 7700 S1++; 7701 S2++; 7702 } 7703 } 7704 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 7705 J3 = -I1-2*(I2)+2*I3 ; 7706 S2++; 7707 } 7708 } 7709 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) { 7710 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 7711 J3 = I1-(I2)-(I3) ; 7712 S1++; 7713 } 7714 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 7715 J3 = -I1-2*(I2)+2*I3 ; 7716 S2++; 7717 } 7718 } 7719 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 7720 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 7721 J3 = I1-(I2)-(I3) ; 7722 S1++; 7723 } 7724 } 7725} 7726if (N1 == 16) { 7727 for (I3=ceild(20+2*1,2);I3<=min(N1,floord(2*20+3*1,3));I3++) { 7728 J3 = -(20)-2*(I2)+2*I3 ; 7729 S2++; 7730 } 7731 for (I3=ceild(20+2*2,2);I3<=min(20-2*(2)-1,floord(2*20+3*2,3));I3++) { 7732 J3 = -(20)-2*(I2)+2*I3 ; 7733 S2++; 7734 } 7735 for (I3=20-2*(2);I3<=min(N1,20-(2));I3++) { 7736 J3 = 20-(I2)-(I3) ; 7737 S1++; 7738 } 7739 for (I2=3;I2<=2;I2++) { 7740 for (I3=ceild(20+2*I2,2);I3<=20-2*I2-1;I3++) { 7741 J3 = -(20)-2*(I2)+2*I3 ; 7742 S2++; 7743 } 7744 for (I3=20-2*I2;I3<=floord(2*20+3*I2,3);I3++) { 7745 J3 = 20-(I2)-(I3) ; 7746 S1++; 7747 J3 = -(20)-2*(I2)+2*I3 ; 7748 S2++; 7749 } 7750 for (I3=ceild(2*20+3*I2+1,3);I3<=min(N1,20-I2);I3++) { 7751 J3 = 20-(I2)-(I3) ; 7752 S1++; 7753 } 7754 } 7755 for (I2=3;I2<=2;I2++) { 7756 for (I3=ceild(20+2*I2,2);I3<=20-2*I2-1;I3++) { 7757 J3 = -(20)-2*(I2)+2*I3 ; 7758 S2++; 7759 } 7760 for (I3=20-2*I2;I3<=N1;I3++) { 7761 J3 = 20-(I2)-(I3) ; 7762 S1++; 7763 J3 = -(20)-2*(I2)+2*I3 ; 7764 S2++; 7765 } 7766 } 7767 if (20%7 == 0) { 7768 for (I3=ceild(9*20/7,2);I3<=5*20/7-1;I3++) { 7769 J3 = -(20)-2*(I2)+2*I3 ; 7770 S2++; 7771 } 7772 if (5*20%7 == 0) { 7773 I3 = 5*20/7 ; 7774 J1 = -2*(20)+3*I3 ; 7775 if ((2*20+J1)%3 == 0) { 7776 J2 = (2*20+J1)/3 ; 7777 J3 = 3*20-4*J2 ; 7778 S1++; 7779 S2++; 7780 } 7781 } 7782 for (I3=ceild(15*20/7+1,3);I3<=N1;I3++) { 7783 J3 = 20-(I2)-(I3) ; 7784 S1++; 7785 J3 = -(20)-2*(I2)+2*I3 ; 7786 S2++; 7787 } 7788 } 7789 for (I3=ceild(20+2*3,2);I3<=20-2*(3)-1;I3++) { 7790 J3 = -(20)-2*(I2)+2*I3 ; 7791 S2++; 7792 } 7793 for (I3=20-2*(3);I3<=floord(2*20+3-1,3);I3++) { 7794 J3 = -(20)-2*(I2)+2*I3 ; 7795 S2++; 7796 J3 = 20-(I2)-(I3) ; 7797 S1++; 7798 } 7799 if ((2*20+3)%3 == 0) { 7800 I3 = (2*20+3)/3 ; 7801 J1 = -2*(20)+3*I3 ; 7802 if ((2*20+J1)%3 == 0) { 7803 J2 = (2*20+J1)/3 ; 7804 J3 = 3*20-4*J2 ; 7805 S1++; 7806 S2++; 7807 } 7808 } 7809 for (I3=ceild(2*20+3+1,3);I3<=N1;I3++) { 7810 J3 = 20-(I2)-(I3) ; 7811 S1++; 7812 J3 = -(20)-2*(I2)+2*I3 ; 7813 S2++; 7814 } 7815 if (10%3 == 0) { 7816 for (I3=4*10/3;I3<=floord(13*10/3-1,3);I3++) { 7817 J3 = -(20)-2*(I2)+2*I3 ; 7818 S2++; 7819 J3 = 20-(I2)-(I3) ; 7820 S1++; 7821 } 7822 if (13*20%18 == 0) { 7823 I3 = 13*20/18 ; 7824 J1 = -2*(20)+3*I3 ; 7825 if ((2*20+J1)%3 == 0) { 7826 J2 = (2*20+J1)/3 ; 7827 J3 = 3*20-4*J2 ; 7828 S1++; 7829 S2++; 7830 } 7831 } 7832 for (I3=ceild(13*10/3+1,3);I3<=min(N1,5*10/3);I3++) { 7833 J3 = 20-(I2)-(I3) ; 7834 S1++; 7835 J3 = -(20)-2*(I2)+2*I3 ; 7836 S2++; 7837 } 7838 } 7839 for (I3=20-2*(4);I3<=floord(20+2*4-1,2);I3++) { 7840 J3 = 20-(I2)-(I3) ; 7841 S1++; 7842 } 7843 for (I3=ceild(20+2*4,2);I3<=floord(2*20+4-1,3);I3++) { 7844 J3 = -(20)-2*(I2)+2*I3 ; 7845 S2++; 7846 J3 = 20-(I2)-(I3) ; 7847 S1++; 7848 } 7849 if ((2*20+4)%3 == 0) { 7850 I3 = (2*20+4)/3 ; 7851 J1 = -2*(20)+3*I3 ; 7852 if ((2*20+J1)%3 == 0) { 7853 J2 = (2*20+J1)/3 ; 7854 J3 = 3*20-4*J2 ; 7855 S1++; 7856 S2++; 7857 } 7858 } 7859 for (I3=ceild(2*20+4+1,3);I3<=N1;I3++) { 7860 J3 = 20-(I2)-(I3) ; 7861 S1++; 7862 J3 = -(20)-2*(I2)+2*I3 ; 7863 S2++; 7864 } 7865 for (I3=2*5;I3<=floord(6*5-1,2);I3++) { 7866 J3 = 20-(I2)-(I3) ; 7867 S1++; 7868 } 7869 if (3*20%4 == 0) { 7870 I3 = 3*20/4 ; 7871 J1 = -2*(20)+3*I3 ; 7872 if ((2*20+J1)%3 == 0) { 7873 J2 = (2*20+J1)/3 ; 7874 J3 = 3*20-4*J2 ; 7875 S1++; 7876 S2++; 7877 } 7878 } 7879 for (I3=3*5+1;I3<=min(N1,floord(11*5,3));I3++) { 7880 J3 = -(20)-2*(I2)+2*I3 ; 7881 S2++; 7882 } 7883 for (I3=max(max(1,ceild(20-(6),2)),20-2*(6));I3<=20-(6);I3++) { 7884 J3 = 20-(I2)-(I3) ; 7885 S1++; 7886 } 7887 for (I3=max(20-(6)+1,ceild(20+2*6,2));I3<=min(N1,floord(2*20+3*6,3));I3++) { 7888 J3 = -(20)-2*(I2)+2*I3 ; 7889 S2++; 7890 } 7891 for (I2=7;I2<=16;I2++) { 7892 for (I3=max(max(ceild(20-I2,2),20-2*I2),1);I3<=min(20-I2,N1);I3++) { 7893 J3 = 20-(I2)-(I3) ; 7894 S1++; 7895 } 7896 } 7897} 7898if (N1 == 12) { 7899 for (I3=ceild(15+2*1,2);I3<=min(N1,floord(2*15+3*1,3));I3++) { 7900 J3 = -(15)-2*(I2)+2*I3 ; 7901 S2++; 7902 } 7903 for (I2=2;I2<=1;I2++) { 7904 for (I3=ceild(15+2*I2,2);I3<=min(15-2*I2-1,floord(2*15+3*I2,3));I3++) { 7905 J3 = -(15)-2*(I2)+2*I3 ; 7906 S2++; 7907 } 7908 for (I3=15-2*I2;I3<=min(N1,15-I2);I3++) { 7909 J3 = 15-(I2)-(I3) ; 7910 S1++; 7911 } 7912 } 7913 if (5%3 == 0) { 7914 for (I3=ceild(15+2*5/3,2);I3<=15-2*(5/3)-1;I3++) { 7915 J3 = -(15)-2*(I2)+2*I3 ; 7916 S2++; 7917 } 7918 for (I3=15-2*(5/3);I3<=floord(2*15+3*5/3,3);I3++) { 7919 J3 = 15-(I2)-(I3) ; 7920 S1++; 7921 J3 = -(15)-2*(I2)+2*I3 ; 7922 S2++; 7923 } 7924 for (I3=ceild(2*15+3*5/3+1,3);I3<=min(N1,15-(5/3));I3++) { 7925 J3 = 15-(I2)-(I3) ; 7926 S1++; 7927 } 7928 } 7929 for (I3=ceild(15+2*2,2);I3<=15-2*(2)-1;I3++) { 7930 J3 = -(15)-2*(I2)+2*I3 ; 7931 S2++; 7932 } 7933 for (I3=15-2*(2);I3<=N1;I3++) { 7934 J3 = 15-(I2)-(I3) ; 7935 S1++; 7936 J3 = -(15)-2*(I2)+2*I3 ; 7937 S2++; 7938 } 7939 if (15%7 == 0) { 7940 for (I3=ceild(9*15/7,2);I3<=5*15/7-1;I3++) { 7941 J3 = -(15)-2*(I2)+2*I3 ; 7942 S2++; 7943 } 7944 if (5*15%7 == 0) { 7945 I3 = 5*15/7 ; 7946 J1 = -2*(15)+3*I3 ; 7947 if ((2*15+J1)%3 == 0) { 7948 J2 = (2*15+J1)/3 ; 7949 J3 = 3*15-4*J2 ; 7950 S1++; 7951 S2++; 7952 } 7953 } 7954 for (I3=ceild(15*15/7+1,3);I3<=N1;I3++) { 7955 J3 = 15-(I2)-(I3) ; 7956 S1++; 7957 J3 = -(15)-2*(I2)+2*I3 ; 7958 S2++; 7959 } 7960 } 7961 if (5%2 == 0) { 7962 for (I3=4*5/2;I3<=floord(13*5/2-1,3);I3++) { 7963 J3 = -(15)-2*(I2)+2*I3 ; 7964 S2++; 7965 J3 = 15-(I2)-(I3) ; 7966 S1++; 7967 } 7968 if (13*15%18 == 0) { 7969 I3 = 13*15/18 ; 7970 J1 = -2*(15)+3*I3 ; 7971 if ((2*15+J1)%3 == 0) { 7972 J2 = (2*15+J1)/3 ; 7973 J3 = 3*15-4*J2 ; 7974 S1++; 7975 S2++; 7976 } 7977 } 7978 for (I3=ceild(13*5/2+1,3);I3<=min(N1,5*5/2);I3++) { 7979 J3 = 15-(I2)-(I3) ; 7980 S1++; 7981 J3 = -(15)-2*(I2)+2*I3 ; 7982 S2++; 7983 } 7984 } 7985 for (I3=15-2*(3);I3<=floord(15+2*3-1,2);I3++) { 7986 J3 = 15-(I2)-(I3) ; 7987 S1++; 7988 } 7989 for (I3=ceild(15+2*3,2);I3<=floord(2*15+3-1,3);I3++) { 7990 J3 = -(15)-2*(I2)+2*I3 ; 7991 S2++; 7992 J3 = 15-(I2)-(I3) ; 7993 S1++; 7994 } 7995 if ((2*15+3)%3 == 0) { 7996 I3 = (2*15+3)/3 ; 7997 J1 = -2*(15)+3*I3 ; 7998 if ((2*15+J1)%3 == 0) { 7999 J2 = (2*15+J1)/3 ; 8000 J3 = 3*15-4*J2 ; 8001 S1++; 8002 S2++; 8003 } 8004 } 8005 for (I3=ceild(2*15+3+1,3);I3<=N1;I3++) { 8006 J3 = 15-(I2)-(I3) ; 8007 S1++; 8008 J3 = -(15)-2*(I2)+2*I3 ; 8009 S2++; 8010 } 8011 for (I3=max(max(1,ceild(15-(4),2)),15-2*(4));I3<=15-(4);I3++) { 8012 J3 = 15-(I2)-(I3) ; 8013 S1++; 8014 } 8015 for (I3=max(15-(4)+1,ceild(15+2*4,2));I3<=min(N1,floord(2*15+3*4,3));I3++) { 8016 J3 = -(15)-2*(I2)+2*I3 ; 8017 S2++; 8018 } 8019 for (I2=5;I2<=12;I2++) { 8020 for (I3=max(max(ceild(15-I2,2),15-2*I2),1);I3<=min(15-I2,N1);I3++) { 8021 J3 = 15-(I2)-(I3) ; 8022 S1++; 8023 } 8024 } 8025} 8026if ((N1 <= 15) && (N1 >= 14)) { 8027 if ((4*N1-5)%3 == 0) { 8028 I1 = (4*N1-5)/3 ; 8029 for (I2=1;I2<=floord(N1-8,6);I2++) { 8030 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 8031 J3 = -I1-2*(I2)+2*I3 ; 8032 S2++; 8033 } 8034 } 8035 for (I2=ceild(N1-5,6);I2<=floord(4*N1-8,27);I2++) { 8036 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 8037 J3 = -I1-2*(I2)+2*I3 ; 8038 S2++; 8039 } 8040 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 8041 J3 = I1-(I2)-(I3) ; 8042 S1++; 8043 } 8044 } 8045 for (I2=ceild(4*N1-5,27);I2<=min(floord(4*N1-8,21),floord(N1+7,9));I2++) { 8046 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 8047 J3 = -I1-2*(I2)+2*I3 ; 8048 S2++; 8049 } 8050 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 8051 J3 = I1-(I2)-(I3) ; 8052 S1++; 8053 J3 = -I1-2*(I2)+2*I3 ; 8054 S2++; 8055 } 8056 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 8057 J3 = I1-(I2)-(I3) ; 8058 S1++; 8059 } 8060 } 8061 if ((4*N1-5)%18 == 0) { 8062 I2 = (4*N1-5)/18 ; 8063 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) { 8064 J3 = -I1-2*(I2)+2*I3 ; 8065 S2++; 8066 J3 = I1-(I2)-(I3) ; 8067 S1++; 8068 } 8069 if (13*I1%18 == 0) { 8070 I3 = 13*I1/18 ; 8071 J1 = -2*I1+3*I3 ; 8072 if ((2*I1+J1)%3 == 0) { 8073 J2 = (2*I1+J1)/3 ; 8074 J3 = 3*I1-4*J2 ; 8075 S1++; 8076 S2++; 8077 } 8078 } 8079 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) { 8080 J3 = I1-(I2)-(I3) ; 8081 S1++; 8082 J3 = -I1-2*(I2)+2*I3 ; 8083 S2++; 8084 } 8085 } 8086 for (I2=ceild(2*N1-1,9);I2<=floord(N1-5,3);I2++) { 8087 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 8088 J3 = I1-(I2)-(I3) ; 8089 S1++; 8090 } 8091 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 8092 J3 = -I1-2*(I2)+2*I3 ; 8093 S2++; 8094 J3 = I1-(I2)-(I3) ; 8095 S1++; 8096 } 8097 if ((2*I1+I2)%3 == 0) { 8098 I3 = (2*I1+I2)/3 ; 8099 J1 = -2*I1+3*I3 ; 8100 if ((2*I1+J1)%3 == 0) { 8101 J2 = (2*I1+J1)/3 ; 8102 J3 = 3*I1-4*J2 ; 8103 S1++; 8104 S2++; 8105 } 8106 } 8107 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 8108 J3 = I1-(I2)-(I3) ; 8109 S1++; 8110 J3 = -I1-2*(I2)+2*I3 ; 8111 S2++; 8112 } 8113 } 8114 if ((N1-2)%3 == 0) { 8115 I2 = (N1-2)/3 ; 8116 for (I3=2*I2+1;I3<=3*I2;I3++) { 8117 J3 = I1-(I2)-(I3) ; 8118 S1++; 8119 } 8120 if ((9*I1-1)%12 == 0) { 8121 I3 = (9*I1-1)/12 ; 8122 J1 = -2*I1+3*I3 ; 8123 if ((2*I1+J1)%3 == 0) { 8124 J2 = (2*I1+J1)/3 ; 8125 J3 = 3*I1-4*J2 ; 8126 S1++; 8127 S2++; 8128 } 8129 } 8130 if ((3*I1+1)%4 == 0) { 8131 I3 = (3*I1+1)/4 ; 8132 J3 = I1-(I2)-(I3) ; 8133 S1++; 8134 J3 = -I1-2*(I2)+2*I3 ; 8135 S2++; 8136 } 8137 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 8138 J3 = -I1-2*(I2)+2*I3 ; 8139 S2++; 8140 } 8141 } 8142 if ((4*N1-5)%12 == 0) { 8143 I2 = (4*N1-5)/12 ; 8144 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) { 8145 J3 = I1-(I2)-(I3) ; 8146 S1++; 8147 } 8148 if (3*I1%4 == 0) { 8149 I3 = 3*I1/4 ; 8150 J1 = -2*I1+3*I3 ; 8151 if ((2*I1+J1)%3 == 0) { 8152 J2 = (2*I1+J1)/3 ; 8153 J3 = 3*I1-4*J2 ; 8154 S1++; 8155 S2++; 8156 } 8157 } 8158 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) { 8159 J3 = -I1-2*(I2)+2*I3 ; 8160 S2++; 8161 } 8162 } 8163 for (I2=ceild(2*N1-1,6);I2<=floord(2*N1+5,6);I2++) { 8164 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 8165 J3 = I1-(I2)-(I3) ; 8166 S1++; 8167 } 8168 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 8169 J3 = -I1-2*(I2)+2*I3 ; 8170 S2++; 8171 } 8172 } 8173 for (I2=ceild(N1+4,3);I2<=N1;I2++) { 8174 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 8175 J3 = I1-(I2)-(I3) ; 8176 S1++; 8177 } 8178 } 8179 } 8180} 8181if (N1 == 13) { 8182 for (I3=ceild(16+2*1,2);I3<=min(N1,floord(2*16+3*1,3));I3++) { 8183 J3 = -(16)-2*(I2)+2*I3 ; 8184 S2++; 8185 } 8186 for (I2=2;I2<=1;I2++) { 8187 for (I3=ceild(16+2*I2,2);I3<=min(16-2*I2-1,floord(2*16+3*I2,3));I3++) { 8188 J3 = -(16)-2*(I2)+2*I3 ; 8189 S2++; 8190 } 8191 for (I3=16-2*I2;I3<=min(N1,16-I2);I3++) { 8192 J3 = 16-(I2)-(I3) ; 8193 S1++; 8194 } 8195 } 8196 for (I3=ceild(16+2*2,2);I3<=16-2*(2)-1;I3++) { 8197 J3 = -(16)-2*(I2)+2*I3 ; 8198 S2++; 8199 } 8200 for (I3=16-2*(2);I3<=floord(2*16+3*2,3);I3++) { 8201 J3 = 16-(I2)-(I3) ; 8202 S1++; 8203 J3 = -(16)-2*(I2)+2*I3 ; 8204 S2++; 8205 } 8206 for (I3=ceild(2*16+3*2+1,3);I3<=min(N1,16-(2));I3++) { 8207 J3 = 16-(I2)-(I3) ; 8208 S1++; 8209 } 8210 if (8%3 == 0) { 8211 for (I3=4*8/3;I3<=floord(13*8/3-1,3);I3++) { 8212 J3 = -(16)-2*(I2)+2*I3 ; 8213 S2++; 8214 J3 = 16-(I2)-(I3) ; 8215 S1++; 8216 } 8217 if (13*16%18 == 0) { 8218 I3 = 13*16/18 ; 8219 J1 = -2*(16)+3*I3 ; 8220 if ((2*16+J1)%3 == 0) { 8221 J2 = (2*16+J1)/3 ; 8222 J3 = 3*16-4*J2 ; 8223 S1++; 8224 S2++; 8225 } 8226 } 8227 for (I3=ceild(13*8/3+1,3);I3<=min(N1,5*8/3);I3++) { 8228 J3 = 16-(I2)-(I3) ; 8229 S1++; 8230 J3 = -(16)-2*(I2)+2*I3 ; 8231 S2++; 8232 } 8233 } 8234 for (I3=16-2*(3);I3<=floord(16+2*3-1,2);I3++) { 8235 J3 = 16-(I2)-(I3) ; 8236 S1++; 8237 } 8238 for (I3=ceild(16+2*3,2);I3<=floord(2*16+3-1,3);I3++) { 8239 J3 = -(16)-2*(I2)+2*I3 ; 8240 S2++; 8241 J3 = 16-(I2)-(I3) ; 8242 S1++; 8243 } 8244 if ((2*16+3)%3 == 0) { 8245 I3 = (2*16+3)/3 ; 8246 J1 = -2*(16)+3*I3 ; 8247 if ((2*16+J1)%3 == 0) { 8248 J2 = (2*16+J1)/3 ; 8249 J3 = 3*16-4*J2 ; 8250 S1++; 8251 S2++; 8252 } 8253 } 8254 for (I3=ceild(2*16+3+1,3);I3<=N1;I3++) { 8255 J3 = 16-(I2)-(I3) ; 8256 S1++; 8257 J3 = -(16)-2*(I2)+2*I3 ; 8258 S2++; 8259 } 8260 for (I3=2*4;I3<=floord(6*4-1,2);I3++) { 8261 J3 = 16-(I2)-(I3) ; 8262 S1++; 8263 } 8264 if (3*16%4 == 0) { 8265 I3 = 3*16/4 ; 8266 J1 = -2*(16)+3*I3 ; 8267 if ((2*16+J1)%3 == 0) { 8268 J2 = (2*16+J1)/3 ; 8269 J3 = 3*16-4*J2 ; 8270 S1++; 8271 S2++; 8272 } 8273 } 8274 for (I3=3*4+1;I3<=min(N1,floord(11*4,3));I3++) { 8275 J3 = -(16)-2*(I2)+2*I3 ; 8276 S2++; 8277 } 8278 for (I3=max(max(1,ceild(16-(5),2)),16-2*(5));I3<=16-(5);I3++) { 8279 J3 = 16-(I2)-(I3) ; 8280 S1++; 8281 } 8282 for (I3=max(16-(5)+1,ceild(16+2*5,2));I3<=min(N1,floord(2*16+3*5,3));I3++) { 8283 J3 = -(16)-2*(I2)+2*I3 ; 8284 S2++; 8285 } 8286 for (I2=6;I2<=13;I2++) { 8287 for (I3=max(max(ceild(16-I2,2),16-2*I2),1);I3<=min(16-I2,N1);I3++) { 8288 J3 = 16-(I2)-(I3) ; 8289 S1++; 8290 } 8291 } 8292} 8293for (I1=max(max(N1+3,20),ceild(6*N1-3,5));I1<=floord(6*N1-1,5);I1++) { 8294 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 8295 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 8296 J3 = -I1-2*(I2)+2*I3 ; 8297 S2++; 8298 } 8299 } 8300 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) { 8301 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 8302 J3 = -I1-2*(I2)+2*I3 ; 8303 S2++; 8304 } 8305 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 8306 J3 = I1-(I2)-(I3) ; 8307 S1++; 8308 } 8309 } 8310 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) { 8311 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 8312 J3 = -I1-2*(I2)+2*I3 ; 8313 S2++; 8314 } 8315 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 8316 J3 = I1-(I2)-(I3) ; 8317 S1++; 8318 J3 = -I1-2*(I2)+2*I3 ; 8319 S2++; 8320 } 8321 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 8322 J3 = I1-(I2)-(I3) ; 8323 S1++; 8324 } 8325 } 8326 if (I1%7 == 0) { 8327 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 8328 J3 = -I1-2*(I2)+2*I3 ; 8329 S2++; 8330 } 8331 if (5*I1%7 == 0) { 8332 I3 = 5*I1/7 ; 8333 J1 = -2*I1+3*I3 ; 8334 if ((2*I1+J1)%3 == 0) { 8335 J2 = (2*I1+J1)/3 ; 8336 J3 = 3*I1-4*J2 ; 8337 S1++; 8338 S2++; 8339 } 8340 } 8341 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) { 8342 J3 = I1-(I2)-(I3) ; 8343 S1++; 8344 J3 = -I1-2*(I2)+2*I3 ; 8345 S2++; 8346 } 8347 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) { 8348 J3 = I1-(I2)-(I3) ; 8349 S1++; 8350 } 8351 } 8352 for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) { 8353 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 8354 J3 = -I1-2*(I2)+2*I3 ; 8355 S2++; 8356 } 8357 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 8358 J3 = -I1-2*(I2)+2*I3 ; 8359 S2++; 8360 J3 = I1-(I2)-(I3) ; 8361 S1++; 8362 } 8363 if ((2*I1+I2)%3 == 0) { 8364 I3 = (2*I1+I2)/3 ; 8365 J1 = -2*I1+3*I3 ; 8366 if ((2*I1+J1)%3 == 0) { 8367 J2 = (2*I1+J1)/3 ; 8368 J3 = 3*I1-4*J2 ; 8369 S1++; 8370 S2++; 8371 } 8372 } 8373 for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) { 8374 J3 = I1-(I2)-(I3) ; 8375 S1++; 8376 J3 = -I1-2*(I2)+2*I3 ; 8377 S2++; 8378 } 8379 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 8380 J3 = I1-(I2)-(I3) ; 8381 S1++; 8382 } 8383 } 8384 if ((I1-1)%6 == 0) { 8385 I2 = (I1-1)/6 ; 8386 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 8387 J3 = -I1-2*(I2)+2*I3 ; 8388 S2++; 8389 J3 = I1-(I2)-(I3) ; 8390 S1++; 8391 } 8392 if ((13*I1-1)%18 == 0) { 8393 I3 = (13*I1-1)/18 ; 8394 J1 = -2*I1+3*I3 ; 8395 if ((2*I1+J1)%3 == 0) { 8396 J2 = (2*I1+J1)/3 ; 8397 J3 = 3*I1-4*J2 ; 8398 S1++; 8399 S2++; 8400 } 8401 } 8402 for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) { 8403 J3 = I1-(I2)-(I3) ; 8404 S1++; 8405 J3 = -I1-2*(I2)+2*I3 ; 8406 S2++; 8407 } 8408 if ((5*I1+1)%6 == 0) { 8409 I3 = (5*I1+1)/6 ; 8410 J3 = I1-(I2)-(I3) ; 8411 S1++; 8412 } 8413 } 8414 if (I1%6 == 0) { 8415 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 8416 J3 = -I1-2*(I2)+2*I3 ; 8417 S2++; 8418 J3 = I1-(I2)-(I3) ; 8419 S1++; 8420 } 8421 if (13*I1%18 == 0) { 8422 I3 = 13*I1/18 ; 8423 J1 = -2*I1+3*I3 ; 8424 if ((2*I1+J1)%3 == 0) { 8425 J2 = (2*I1+J1)/3 ; 8426 J3 = 3*I1-4*J2 ; 8427 S1++; 8428 S2++; 8429 } 8430 } 8431 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 8432 J3 = I1-(I2)-(I3) ; 8433 S1++; 8434 J3 = -I1-2*(I2)+2*I3 ; 8435 S2++; 8436 } 8437 } 8438 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) { 8439 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 8440 J3 = I1-(I2)-(I3) ; 8441 S1++; 8442 } 8443 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 8444 J3 = -I1-2*(I2)+2*I3 ; 8445 S2++; 8446 J3 = I1-(I2)-(I3) ; 8447 S1++; 8448 } 8449 if ((2*I1+I2)%3 == 0) { 8450 I3 = (2*I1+I2)/3 ; 8451 J1 = -2*I1+3*I3 ; 8452 if ((2*I1+J1)%3 == 0) { 8453 J2 = (2*I1+J1)/3 ; 8454 J3 = 3*I1-4*J2 ; 8455 S1++; 8456 S2++; 8457 } 8458 } 8459 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 8460 J3 = I1-(I2)-(I3) ; 8461 S1++; 8462 J3 = -I1-2*(I2)+2*I3 ; 8463 S2++; 8464 } 8465 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 8466 J3 = -I1-2*(I2)+2*I3 ; 8467 S2++; 8468 } 8469 } 8470 if ((I1-1)%4 == 0) { 8471 I2 = (I1-1)/4 ; 8472 for (I3=2*I2+1;I3<=3*I2;I3++) { 8473 J3 = I1-(I2)-(I3) ; 8474 S1++; 8475 } 8476 if ((9*I1-1)%12 == 0) { 8477 I3 = (9*I1-1)/12 ; 8478 J1 = -2*I1+3*I3 ; 8479 if ((2*I1+J1)%3 == 0) { 8480 J2 = (2*I1+J1)/3 ; 8481 J3 = 3*I1-4*J2 ; 8482 S1++; 8483 S2++; 8484 } 8485 } 8486 if ((3*I1+1)%4 == 0) { 8487 I3 = (3*I1+1)/4 ; 8488 J3 = I1-(I2)-(I3) ; 8489 S1++; 8490 J3 = -I1-2*(I2)+2*I3 ; 8491 S2++; 8492 } 8493 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 8494 J3 = -I1-2*(I2)+2*I3 ; 8495 S2++; 8496 } 8497 } 8498 if (I1%4 == 0) { 8499 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 8500 J3 = I1-(I2)-(I3) ; 8501 S1++; 8502 } 8503 if (3*I1%4 == 0) { 8504 I3 = 3*I1/4 ; 8505 J1 = -2*I1+3*I3 ; 8506 if ((2*I1+J1)%3 == 0) { 8507 J2 = (2*I1+J1)/3 ; 8508 J3 = 3*I1-4*J2 ; 8509 S1++; 8510 S2++; 8511 } 8512 } 8513 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 8514 J3 = -I1-2*(I2)+2*I3 ; 8515 S2++; 8516 } 8517 } 8518 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) { 8519 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 8520 J3 = I1-(I2)-(I3) ; 8521 S1++; 8522 } 8523 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 8524 J3 = -I1-2*(I2)+2*I3 ; 8525 S2++; 8526 } 8527 } 8528 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 8529 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 8530 J3 = I1-(I2)-(I3) ; 8531 S1++; 8532 } 8533 } 8534} 8535if ((N1 <= 14) && (N1 >= 14)) { 8536 if ((4*N1-4)%3 == 0) { 8537 I1 = (4*N1-4)/3 ; 8538 for (I2=1;I2<=floord(N1-7,6);I2++) { 8539 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 8540 J3 = -I1-2*(I2)+2*I3 ; 8541 S2++; 8542 } 8543 } 8544 for (I2=ceild(N1-4,6);I2<=floord(4*N1-7,27);I2++) { 8545 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 8546 J3 = -I1-2*(I2)+2*I3 ; 8547 S2++; 8548 } 8549 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 8550 J3 = I1-(I2)-(I3) ; 8551 S1++; 8552 } 8553 } 8554 for (I2=ceild(4*N1-4,27);I2<=floord(N1+5,9);I2++) { 8555 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 8556 J3 = -I1-2*(I2)+2*I3 ; 8557 S2++; 8558 } 8559 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 8560 J3 = I1-(I2)-(I3) ; 8561 S1++; 8562 J3 = -I1-2*(I2)+2*I3 ; 8563 S2++; 8564 } 8565 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 8566 J3 = I1-(I2)-(I3) ; 8567 S1++; 8568 } 8569 } 8570 if ((4*N1-4)%21 == 0) { 8571 I2 = (4*N1-4)/21 ; 8572 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 8573 J3 = -I1-2*(I2)+2*I3 ; 8574 S2++; 8575 } 8576 if (5*I1%7 == 0) { 8577 I3 = 5*I1/7 ; 8578 J1 = -2*I1+3*I3 ; 8579 if ((2*I1+J1)%3 == 0) { 8580 J2 = (2*I1+J1)/3 ; 8581 J3 = 3*I1-4*J2 ; 8582 S1++; 8583 S2++; 8584 } 8585 } 8586 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) { 8587 J3 = I1-(I2)-(I3) ; 8588 S1++; 8589 J3 = -I1-2*(I2)+2*I3 ; 8590 S2++; 8591 } 8592 } 8593 if ((2*N1-2)%9 == 0) { 8594 I2 = (2*N1-2)/9 ; 8595 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) { 8596 J3 = -I1-2*(I2)+2*I3 ; 8597 S2++; 8598 J3 = I1-(I2)-(I3) ; 8599 S1++; 8600 } 8601 if (13*I1%18 == 0) { 8602 I3 = 13*I1/18 ; 8603 J1 = -2*I1+3*I3 ; 8604 if ((2*I1+J1)%3 == 0) { 8605 J2 = (2*I1+J1)/3 ; 8606 J3 = 3*I1-4*J2 ; 8607 S1++; 8608 S2++; 8609 } 8610 } 8611 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) { 8612 J3 = I1-(I2)-(I3) ; 8613 S1++; 8614 J3 = -I1-2*(I2)+2*I3 ; 8615 S2++; 8616 } 8617 } 8618 for (I2=ceild(4*N1-1,18);I2<=floord(N1-4,3);I2++) { 8619 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 8620 J3 = I1-(I2)-(I3) ; 8621 S1++; 8622 } 8623 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 8624 J3 = -I1-2*(I2)+2*I3 ; 8625 S2++; 8626 J3 = I1-(I2)-(I3) ; 8627 S1++; 8628 } 8629 if ((2*I1+I2)%3 == 0) { 8630 I3 = (2*I1+I2)/3 ; 8631 J1 = -2*I1+3*I3 ; 8632 if ((2*I1+J1)%3 == 0) { 8633 J2 = (2*I1+J1)/3 ; 8634 J3 = 3*I1-4*J2 ; 8635 S1++; 8636 S2++; 8637 } 8638 } 8639 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 8640 J3 = I1-(I2)-(I3) ; 8641 S1++; 8642 J3 = -I1-2*(I2)+2*I3 ; 8643 S2++; 8644 } 8645 } 8646 if ((N1-1)%3 == 0) { 8647 I2 = (N1-1)/3 ; 8648 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) { 8649 J3 = I1-(I2)-(I3) ; 8650 S1++; 8651 } 8652 if (3*I1%4 == 0) { 8653 I3 = 3*I1/4 ; 8654 J1 = -2*I1+3*I3 ; 8655 if ((2*I1+J1)%3 == 0) { 8656 J2 = (2*I1+J1)/3 ; 8657 J3 = 3*I1-4*J2 ; 8658 S1++; 8659 S2++; 8660 } 8661 } 8662 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) { 8663 J3 = -I1-2*(I2)+2*I3 ; 8664 S2++; 8665 } 8666 } 8667 for (I2=ceild(4*N1-1,12);I2<=floord(N1+2,3);I2++) { 8668 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 8669 J3 = I1-(I2)-(I3) ; 8670 S1++; 8671 } 8672 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 8673 J3 = -I1-2*(I2)+2*I3 ; 8674 S2++; 8675 } 8676 } 8677 for (I2=ceild(2*N1+7,6);I2<=N1;I2++) { 8678 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 8679 J3 = I1-(I2)-(I3) ; 8680 S1++; 8681 } 8682 } 8683 } 8684} 8685if (N1 == 15) { 8686 for (I3=ceild(19+2*1,2);I3<=min(N1,floord(2*19+3*1,3));I3++) { 8687 J3 = -(19)-2*(I2)+2*I3 ; 8688 S2++; 8689 } 8690 for (I3=ceild(19+2*2,2);I3<=min(19-2*(2)-1,floord(2*19+3*2,3));I3++) { 8691 J3 = -(19)-2*(I2)+2*I3 ; 8692 S2++; 8693 } 8694 for (I3=19-2*(2);I3<=min(N1,19-(2));I3++) { 8695 J3 = 19-(I2)-(I3) ; 8696 S1++; 8697 } 8698 for (I2=3;I2<=2;I2++) { 8699 for (I3=ceild(19+2*I2,2);I3<=19-2*I2-1;I3++) { 8700 J3 = -(19)-2*(I2)+2*I3 ; 8701 S2++; 8702 } 8703 for (I3=19-2*I2;I3<=N1;I3++) { 8704 J3 = 19-(I2)-(I3) ; 8705 S1++; 8706 J3 = -(19)-2*(I2)+2*I3 ; 8707 S2++; 8708 } 8709 } 8710 if (19%7 == 0) { 8711 for (I3=ceild(9*19/7,2);I3<=5*19/7-1;I3++) { 8712 J3 = -(19)-2*(I2)+2*I3 ; 8713 S2++; 8714 } 8715 if (5*19%7 == 0) { 8716 I3 = 5*19/7 ; 8717 J1 = -2*(19)+3*I3 ; 8718 if ((2*19+J1)%3 == 0) { 8719 J2 = (2*19+J1)/3 ; 8720 J3 = 3*19-4*J2 ; 8721 S1++; 8722 S2++; 8723 } 8724 } 8725 for (I3=ceild(15*19/7+1,3);I3<=N1;I3++) { 8726 J3 = 19-(I2)-(I3) ; 8727 S1++; 8728 J3 = -(19)-2*(I2)+2*I3 ; 8729 S2++; 8730 } 8731 } 8732 for (I3=4*3+1;I3<=floord(13*3+1,3);I3++) { 8733 J3 = -(19)-2*(I2)+2*I3 ; 8734 S2++; 8735 J3 = 19-(I2)-(I3) ; 8736 S1++; 8737 } 8738 if ((13*19-1)%18 == 0) { 8739 I3 = (13*19-1)/18 ; 8740 J1 = -2*(19)+3*I3 ; 8741 if ((2*19+J1)%3 == 0) { 8742 J2 = (2*19+J1)/3 ; 8743 J3 = 3*19-4*J2 ; 8744 S1++; 8745 S2++; 8746 } 8747 } 8748 for (I3=ceild(13*3+3,3);I3<=N1;I3++) { 8749 J3 = 19-(I2)-(I3) ; 8750 S1++; 8751 J3 = -(19)-2*(I2)+2*I3 ; 8752 S2++; 8753 } 8754 if (19%6 == 0) { 8755 for (I3=4*19/6;I3<=floord(13*19/6-1,3);I3++) { 8756 J3 = -(19)-2*(I2)+2*I3 ; 8757 S2++; 8758 J3 = 19-(I2)-(I3) ; 8759 S1++; 8760 } 8761 if (13*19%18 == 0) { 8762 I3 = 13*19/18 ; 8763 J1 = -2*(19)+3*I3 ; 8764 if ((2*19+J1)%3 == 0) { 8765 J2 = (2*19+J1)/3 ; 8766 J3 = 3*19-4*J2 ; 8767 S1++; 8768 S2++; 8769 } 8770 } 8771 for (I3=ceild(13*19/6+1,3);I3<=min(N1,5*19/6);I3++) { 8772 J3 = 19-(I2)-(I3) ; 8773 S1++; 8774 J3 = -(19)-2*(I2)+2*I3 ; 8775 S2++; 8776 } 8777 } 8778 for (I3=19-2*(4);I3<=floord(19+2*4-1,2);I3++) { 8779 J3 = 19-(I2)-(I3) ; 8780 S1++; 8781 } 8782 for (I3=ceild(19+2*4,2);I3<=floord(2*19+4-1,3);I3++) { 8783 J3 = -(19)-2*(I2)+2*I3 ; 8784 S2++; 8785 J3 = 19-(I2)-(I3) ; 8786 S1++; 8787 } 8788 if ((2*19+4)%3 == 0) { 8789 I3 = (2*19+4)/3 ; 8790 J1 = -2*(19)+3*I3 ; 8791 if ((2*19+J1)%3 == 0) { 8792 J2 = (2*19+J1)/3 ; 8793 J3 = 3*19-4*J2 ; 8794 S1++; 8795 S2++; 8796 } 8797 } 8798 for (I3=ceild(2*19+4+1,3);I3<=N1;I3++) { 8799 J3 = 19-(I2)-(I3) ; 8800 S1++; 8801 J3 = -(19)-2*(I2)+2*I3 ; 8802 S2++; 8803 } 8804 for (I3=max(max(1,ceild(19-(5),2)),19-2*(5));I3<=19-(5);I3++) { 8805 J3 = 19-(I2)-(I3) ; 8806 S1++; 8807 } 8808 for (I3=max(19-(5)+1,ceild(19+2*5,2));I3<=min(N1,floord(2*19+3*5,3));I3++) { 8809 J3 = -(19)-2*(I2)+2*I3 ; 8810 S2++; 8811 } 8812 for (I2=6;I2<=15;I2++) { 8813 for (I3=max(max(ceild(19-I2,2),19-2*I2),1);I3<=min(19-I2,N1);I3++) { 8814 J3 = 19-(I2)-(I3) ; 8815 S1++; 8816 } 8817 } 8818} 8819if ((N1 <= 12) && (N1 >= 12)) { 8820 if ((9*N1-2)%7 == 0) { 8821 I1 = (9*N1-2)/7 ; 8822 for (I2=1;I2<=floord(2*N1-9,14);I2++) { 8823 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 8824 J3 = -I1-2*(I2)+2*I3 ; 8825 S2++; 8826 } 8827 } 8828 if ((N1-1)%7 == 0) { 8829 I2 = (N1-1)/7 ; 8830 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 8831 J3 = -I1-2*(I2)+2*I3 ; 8832 S2++; 8833 } 8834 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 8835 J3 = I1-(I2)-(I3) ; 8836 S1++; 8837 } 8838 } 8839 for (I2=ceild(3*N1+4,21);I2<=floord(9*N1-9,49);I2++) { 8840 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 8841 J3 = -I1-2*(I2)+2*I3 ; 8842 S2++; 8843 } 8844 for (I3=I1-2*I2;I3<=N1;I3++) { 8845 J3 = I1-(I2)-(I3) ; 8846 S1++; 8847 J3 = -I1-2*(I2)+2*I3 ; 8848 S2++; 8849 } 8850 } 8851 if ((9*N1-2)%49 == 0) { 8852 I2 = (9*N1-2)/49 ; 8853 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 8854 J3 = -I1-2*(I2)+2*I3 ; 8855 S2++; 8856 } 8857 if (5*I1%7 == 0) { 8858 I3 = 5*I1/7 ; 8859 J1 = -2*I1+3*I3 ; 8860 if ((2*I1+J1)%3 == 0) { 8861 J2 = (2*I1+J1)/3 ; 8862 J3 = 3*I1-4*J2 ; 8863 S1++; 8864 S2++; 8865 } 8866 } 8867 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) { 8868 J3 = I1-(I2)-(I3) ; 8869 S1++; 8870 J3 = -I1-2*(I2)+2*I3 ; 8871 S2++; 8872 } 8873 } 8874 if ((9*N1-2)%42 == 0) { 8875 I2 = (9*N1-2)/42 ; 8876 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) { 8877 J3 = -I1-2*(I2)+2*I3 ; 8878 S2++; 8879 J3 = I1-(I2)-(I3) ; 8880 S1++; 8881 } 8882 if (13*I1%18 == 0) { 8883 I3 = 13*I1/18 ; 8884 J1 = -2*I1+3*I3 ; 8885 if ((2*I1+J1)%3 == 0) { 8886 J2 = (2*I1+J1)/3 ; 8887 J3 = 3*I1-4*J2 ; 8888 S1++; 8889 S2++; 8890 } 8891 } 8892 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) { 8893 J3 = I1-(I2)-(I3) ; 8894 S1++; 8895 J3 = -I1-2*(I2)+2*I3 ; 8896 S2++; 8897 } 8898 } 8899 for (I2=ceild(9*N1+5,42);I2<=floord(2*N1-2,7);I2++) { 8900 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 8901 J3 = I1-(I2)-(I3) ; 8902 S1++; 8903 } 8904 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 8905 J3 = -I1-2*(I2)+2*I3 ; 8906 S2++; 8907 J3 = I1-(I2)-(I3) ; 8908 S1++; 8909 } 8910 if ((2*I1+I2)%3 == 0) { 8911 I3 = (2*I1+I2)/3 ; 8912 J1 = -2*I1+3*I3 ; 8913 if ((2*I1+J1)%3 == 0) { 8914 J2 = (2*I1+J1)/3 ; 8915 J3 = 3*I1-4*J2 ; 8916 S1++; 8917 S2++; 8918 } 8919 } 8920 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 8921 J3 = I1-(I2)-(I3) ; 8922 S1++; 8923 J3 = -I1-2*(I2)+2*I3 ; 8924 S2++; 8925 } 8926 } 8927 for (I2=ceild(2*N1+5,7);I2<=floord(5*N1+2,14);I2++) { 8928 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 8929 J3 = I1-(I2)-(I3) ; 8930 S1++; 8931 } 8932 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 8933 J3 = -I1-2*(I2)+2*I3 ; 8934 S2++; 8935 } 8936 } 8937 for (I2=ceild(5*N1+9,14);I2<=N1;I2++) { 8938 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 8939 J3 = I1-(I2)-(I3) ; 8940 S1++; 8941 } 8942 } 8943 } 8944} 8945if (N1 >= 17) { 8946 if (6*N1%5 == 0) { 8947 I1 = 6*N1/5 ; 8948 for (I2=1;I2<=floord(N1-5,10);I2++) { 8949 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 8950 J3 = -I1-2*(I2)+2*I3 ; 8951 S2++; 8952 } 8953 } 8954 for (I2=ceild(N1,10);I2<=floord(6*N1-5,45);I2++) { 8955 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 8956 J3 = -I1-2*(I2)+2*I3 ; 8957 S2++; 8958 } 8959 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 8960 J3 = I1-(I2)-(I3) ; 8961 S1++; 8962 } 8963 } 8964 for (I2=ceild(2*N1,15);I2<=floord(6*N1-5,35);I2++) { 8965 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 8966 J3 = -I1-2*(I2)+2*I3 ; 8967 S2++; 8968 } 8969 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 8970 J3 = I1-(I2)-(I3) ; 8971 S1++; 8972 J3 = -I1-2*(I2)+2*I3 ; 8973 S2++; 8974 } 8975 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 8976 J3 = I1-(I2)-(I3) ; 8977 S1++; 8978 } 8979 } 8980 if (6*N1%35 == 0) { 8981 I2 = 6*N1/35 ; 8982 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 8983 J3 = -I1-2*(I2)+2*I3 ; 8984 S2++; 8985 } 8986 if (5*I1%7 == 0) { 8987 I3 = 5*I1/7 ; 8988 J1 = -2*I1+3*I3 ; 8989 if ((2*I1+J1)%3 == 0) { 8990 J2 = (2*I1+J1)/3 ; 8991 J3 = 3*I1-4*J2 ; 8992 S1++; 8993 S2++; 8994 } 8995 } 8996 for (I3=ceild(15*I2+1,3);I3<=floord(17*I2,3);I3++) { 8997 J3 = I1-(I2)-(I3) ; 8998 S1++; 8999 J3 = -I1-2*(I2)+2*I3 ; 9000 S2++; 9001 } 9002 for (I3=ceild(17*I2+1,3);I3<=min(N1,6*I2);I3++) { 9003 J3 = I1-(I2)-(I3) ; 9004 S1++; 9005 } 9006 } 9007 for (I2=ceild(6*N1+5,35);I2<=floord(3*N1-5,15);I2++) { 9008 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 9009 J3 = -I1-2*(I2)+2*I3 ; 9010 S2++; 9011 } 9012 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 9013 J3 = -I1-2*(I2)+2*I3 ; 9014 S2++; 9015 J3 = I1-(I2)-(I3) ; 9016 S1++; 9017 } 9018 if ((2*I1+I2)%3 == 0) { 9019 I3 = (2*I1+I2)/3 ; 9020 J1 = -2*I1+3*I3 ; 9021 if ((2*I1+J1)%3 == 0) { 9022 J2 = (2*I1+J1)/3 ; 9023 J3 = 3*I1-4*J2 ; 9024 S1++; 9025 S2++; 9026 } 9027 } 9028 for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) { 9029 J3 = I1-(I2)-(I3) ; 9030 S1++; 9031 J3 = -I1-2*(I2)+2*I3 ; 9032 S2++; 9033 } 9034 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 9035 J3 = I1-(I2)-(I3) ; 9036 S1++; 9037 } 9038 } 9039 if (N1%5 == 0) { 9040 for (I3=4*N1/5;I3<=floord(13*N1/5-1,3);I3++) { 9041 J3 = -I1-2*(I2)+2*I3 ; 9042 S2++; 9043 J3 = I1-(I2)-(I3) ; 9044 S1++; 9045 } 9046 if (13*I1%18 == 0) { 9047 I3 = 13*I1/18 ; 9048 J1 = -2*I1+3*I3 ; 9049 if ((2*I1+J1)%3 == 0) { 9050 J2 = (2*I1+J1)/3 ; 9051 J3 = 3*I1-4*J2 ; 9052 S1++; 9053 S2++; 9054 } 9055 } 9056 for (I3=ceild(13*N1/5+1,3);I3<=min(N1,5*N1/5);I3++) { 9057 J3 = I1-(I2)-(I3) ; 9058 S1++; 9059 J3 = -I1-2*(I2)+2*I3 ; 9060 S2++; 9061 } 9062 } 9063 for (I2=ceild(N1+5,5);I2<=floord(3*N1-5,10);I2++) { 9064 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 9065 J3 = I1-(I2)-(I3) ; 9066 S1++; 9067 } 9068 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 9069 J3 = -I1-2*(I2)+2*I3 ; 9070 S2++; 9071 J3 = I1-(I2)-(I3) ; 9072 S1++; 9073 } 9074 if ((2*I1+I2)%3 == 0) { 9075 I3 = (2*I1+I2)/3 ; 9076 J1 = -2*I1+3*I3 ; 9077 if ((2*I1+J1)%3 == 0) { 9078 J2 = (2*I1+J1)/3 ; 9079 J3 = 3*I1-4*J2 ; 9080 S1++; 9081 S2++; 9082 } 9083 } 9084 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 9085 J3 = I1-(I2)-(I3) ; 9086 S1++; 9087 J3 = -I1-2*(I2)+2*I3 ; 9088 S2++; 9089 } 9090 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 9091 J3 = -I1-2*(I2)+2*I3 ; 9092 S2++; 9093 } 9094 } 9095 if ((6*N1-5)%20 == 0) { 9096 I2 = (6*N1-5)/20 ; 9097 for (I3=2*I2+1;I3<=3*I2;I3++) { 9098 J3 = I1-(I2)-(I3) ; 9099 S1++; 9100 } 9101 if ((9*I1-1)%12 == 0) { 9102 I3 = (9*I1-1)/12 ; 9103 J1 = -2*I1+3*I3 ; 9104 if ((2*I1+J1)%3 == 0) { 9105 J2 = (2*I1+J1)/3 ; 9106 J3 = 3*I1-4*J2 ; 9107 S1++; 9108 S2++; 9109 } 9110 } 9111 if ((3*I1+1)%4 == 0) { 9112 I3 = (3*I1+1)/4 ; 9113 J3 = I1-(I2)-(I3) ; 9114 S1++; 9115 J3 = -I1-2*(I2)+2*I3 ; 9116 S2++; 9117 } 9118 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 9119 J3 = -I1-2*(I2)+2*I3 ; 9120 S2++; 9121 } 9122 } 9123 if (3*N1%10 == 0) { 9124 I2 = 3*N1/10 ; 9125 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) { 9126 J3 = I1-(I2)-(I3) ; 9127 S1++; 9128 } 9129 if (3*I1%4 == 0) { 9130 I3 = 3*I1/4 ; 9131 J1 = -2*I1+3*I3 ; 9132 if ((2*I1+J1)%3 == 0) { 9133 J2 = (2*I1+J1)/3 ; 9134 J3 = 3*I1-4*J2 ; 9135 S1++; 9136 S2++; 9137 } 9138 } 9139 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) { 9140 J3 = -I1-2*(I2)+2*I3 ; 9141 S2++; 9142 } 9143 } 9144 for (I2=ceild(6*N1+5,20);I2<=floord(2*N1,5);I2++) { 9145 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 9146 J3 = I1-(I2)-(I3) ; 9147 S1++; 9148 } 9149 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 9150 J3 = -I1-2*(I2)+2*I3 ; 9151 S2++; 9152 } 9153 } 9154 for (I2=ceild(4*N1+5,10);I2<=N1;I2++) { 9155 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 9156 J3 = I1-(I2)-(I3) ; 9157 S1++; 9158 } 9159 } 9160 } 9161} 9162for (I1=max(ceild(9*N1-1,7),ceild(6*N1+5,5));I1<=min(19,floord(4*N1-2,3));I1++) { 9163 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 9164 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 9165 J3 = -I1-2*(I2)+2*I3 ; 9166 S2++; 9167 } 9168 } 9169 for (I2=max(ceild(I1-N1,2),ceild(-2*I1+3*N1,3));I2<=floord(I1-1,7);I2++) { 9170 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 9171 J3 = -I1-2*(I2)+2*I3 ; 9172 S2++; 9173 } 9174 for (I3=I1-2*I2;I3<=N1;I3++) { 9175 J3 = I1-(I2)-(I3) ; 9176 S1++; 9177 J3 = -I1-2*(I2)+2*I3 ; 9178 S2++; 9179 } 9180 } 9181 if (I1%7 == 0) { 9182 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 9183 J3 = -I1-2*(I2)+2*I3 ; 9184 S2++; 9185 } 9186 if (5*I1%7 == 0) { 9187 I3 = 5*I1/7 ; 9188 J1 = -2*I1+3*I3 ; 9189 if ((2*I1+J1)%3 == 0) { 9190 J2 = (2*I1+J1)/3 ; 9191 J3 = 3*I1-4*J2 ; 9192 S1++; 9193 S2++; 9194 } 9195 } 9196 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) { 9197 J3 = I1-(I2)-(I3) ; 9198 S1++; 9199 J3 = -I1-2*(I2)+2*I3 ; 9200 S2++; 9201 } 9202 } 9203 if ((I1-1)%6 == 0) { 9204 I2 = (I1-1)/6 ; 9205 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 9206 J3 = -I1-2*(I2)+2*I3 ; 9207 S2++; 9208 J3 = I1-(I2)-(I3) ; 9209 S1++; 9210 } 9211 if ((13*I1-1)%18 == 0) { 9212 I3 = (13*I1-1)/18 ; 9213 J1 = -2*I1+3*I3 ; 9214 if ((2*I1+J1)%3 == 0) { 9215 J2 = (2*I1+J1)/3 ; 9216 J3 = 3*I1-4*J2 ; 9217 S1++; 9218 S2++; 9219 } 9220 } 9221 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) { 9222 J3 = I1-(I2)-(I3) ; 9223 S1++; 9224 J3 = -I1-2*(I2)+2*I3 ; 9225 S2++; 9226 } 9227 } 9228 if (I1%6 == 0) { 9229 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 9230 J3 = -I1-2*(I2)+2*I3 ; 9231 S2++; 9232 J3 = I1-(I2)-(I3) ; 9233 S1++; 9234 } 9235 if (13*I1%18 == 0) { 9236 I3 = 13*I1/18 ; 9237 J1 = -2*I1+3*I3 ; 9238 if ((2*I1+J1)%3 == 0) { 9239 J2 = (2*I1+J1)/3 ; 9240 J3 = 3*I1-4*J2 ; 9241 S1++; 9242 S2++; 9243 } 9244 } 9245 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 9246 J3 = I1-(I2)-(I3) ; 9247 S1++; 9248 J3 = -I1-2*(I2)+2*I3 ; 9249 S2++; 9250 } 9251 } 9252 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) { 9253 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 9254 J3 = I1-(I2)-(I3) ; 9255 S1++; 9256 } 9257 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 9258 J3 = -I1-2*(I2)+2*I3 ; 9259 S2++; 9260 J3 = I1-(I2)-(I3) ; 9261 S1++; 9262 } 9263 if ((2*I1+I2)%3 == 0) { 9264 I3 = (2*I1+I2)/3 ; 9265 J1 = -2*I1+3*I3 ; 9266 if ((2*I1+J1)%3 == 0) { 9267 J2 = (2*I1+J1)/3 ; 9268 J3 = 3*I1-4*J2 ; 9269 S1++; 9270 S2++; 9271 } 9272 } 9273 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 9274 J3 = I1-(I2)-(I3) ; 9275 S1++; 9276 J3 = -I1-2*(I2)+2*I3 ; 9277 S2++; 9278 } 9279 } 9280 for (I2=I1-N1+1;I2<=floord(-I1+2*N1,2);I2++) { 9281 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 9282 J3 = I1-(I2)-(I3) ; 9283 S1++; 9284 } 9285 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 9286 J3 = -I1-2*(I2)+2*I3 ; 9287 S2++; 9288 } 9289 } 9290 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 9291 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 9292 J3 = I1-(I2)-(I3) ; 9293 S1++; 9294 } 9295 } 9296} 9297if (N1 >= 23) { 9298 if ((6*N1+1)%5 == 0) { 9299 I1 = (6*N1+1)/5 ; 9300 for (I2=1;I2<=floord(N1-4,10);I2++) { 9301 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 9302 J3 = -I1-2*(I2)+2*I3 ; 9303 S2++; 9304 } 9305 } 9306 for (I2=ceild(N1+1,10);I2<=floord(6*N1-4,45);I2++) { 9307 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 9308 J3 = -I1-2*(I2)+2*I3 ; 9309 S2++; 9310 } 9311 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 9312 J3 = I1-(I2)-(I3) ; 9313 S1++; 9314 } 9315 } 9316 for (I2=ceild(6*N1+1,45);I2<=floord(6*N1-4,35);I2++) { 9317 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 9318 J3 = -I1-2*(I2)+2*I3 ; 9319 S2++; 9320 } 9321 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 9322 J3 = I1-(I2)-(I3) ; 9323 S1++; 9324 J3 = -I1-2*(I2)+2*I3 ; 9325 S2++; 9326 } 9327 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 9328 J3 = I1-(I2)-(I3) ; 9329 S1++; 9330 } 9331 } 9332 if ((6*N1+1)%35 == 0) { 9333 I2 = (6*N1+1)/35 ; 9334 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 9335 J3 = -I1-2*(I2)+2*I3 ; 9336 S2++; 9337 } 9338 if (5*I1%7 == 0) { 9339 I3 = 5*I1/7 ; 9340 J1 = -2*I1+3*I3 ; 9341 if ((2*I1+J1)%3 == 0) { 9342 J2 = (2*I1+J1)/3 ; 9343 J3 = 3*I1-4*J2 ; 9344 S1++; 9345 S2++; 9346 } 9347 } 9348 for (I3=ceild(15*I2+1,3);I3<=floord(17*I2,3);I3++) { 9349 J3 = I1-(I2)-(I3) ; 9350 S1++; 9351 J3 = -I1-2*(I2)+2*I3 ; 9352 S2++; 9353 } 9354 for (I3=ceild(17*I2+1,3);I3<=min(N1,6*I2);I3++) { 9355 J3 = I1-(I2)-(I3) ; 9356 S1++; 9357 } 9358 } 9359 for (I2=ceild(6*N1+6,35);I2<=floord(3*N1-7,15);I2++) { 9360 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 9361 J3 = -I1-2*(I2)+2*I3 ; 9362 S2++; 9363 } 9364 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 9365 J3 = -I1-2*(I2)+2*I3 ; 9366 S2++; 9367 J3 = I1-(I2)-(I3) ; 9368 S1++; 9369 } 9370 if ((2*I1+I2)%3 == 0) { 9371 I3 = (2*I1+I2)/3 ; 9372 J1 = -2*I1+3*I3 ; 9373 if ((2*I1+J1)%3 == 0) { 9374 J2 = (2*I1+J1)/3 ; 9375 J3 = 3*I1-4*J2 ; 9376 S1++; 9377 S2++; 9378 } 9379 } 9380 for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) { 9381 J3 = I1-(I2)-(I3) ; 9382 S1++; 9383 J3 = -I1-2*(I2)+2*I3 ; 9384 S2++; 9385 } 9386 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 9387 J3 = I1-(I2)-(I3) ; 9388 S1++; 9389 } 9390 } 9391 if ((6*N1+1)%30 == 0) { 9392 I2 = (6*N1+1)/30 ; 9393 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) { 9394 J3 = -I1-2*(I2)+2*I3 ; 9395 S2++; 9396 J3 = I1-(I2)-(I3) ; 9397 S1++; 9398 } 9399 if (13*I1%18 == 0) { 9400 I3 = 13*I1/18 ; 9401 J1 = -2*I1+3*I3 ; 9402 if ((2*I1+J1)%3 == 0) { 9403 J2 = (2*I1+J1)/3 ; 9404 J3 = 3*I1-4*J2 ; 9405 S1++; 9406 S2++; 9407 } 9408 } 9409 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) { 9410 J3 = I1-(I2)-(I3) ; 9411 S1++; 9412 J3 = -I1-2*(I2)+2*I3 ; 9413 S2++; 9414 } 9415 } 9416 if ((N1+1)%5 == 0) { 9417 I2 = (N1+1)/5 ; 9418 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 9419 J3 = I1-(I2)-(I3) ; 9420 S1++; 9421 } 9422 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 9423 J3 = -I1-2*(I2)+2*I3 ; 9424 S2++; 9425 J3 = I1-(I2)-(I3) ; 9426 S1++; 9427 } 9428 if ((2*I1+I2)%3 == 0) { 9429 I3 = (2*I1+I2)/3 ; 9430 J1 = -2*I1+3*I3 ; 9431 if ((2*I1+J1)%3 == 0) { 9432 J2 = (2*I1+J1)/3 ; 9433 J3 = 3*I1-4*J2 ; 9434 S1++; 9435 S2++; 9436 } 9437 } 9438 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 9439 J3 = I1-(I2)-(I3) ; 9440 S1++; 9441 J3 = -I1-2*(I2)+2*I3 ; 9442 S2++; 9443 } 9444 } 9445 for (I2=ceild(N1+6,5);I2<=floord(6*N1-9,20);I2++) { 9446 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 9447 J3 = I1-(I2)-(I3) ; 9448 S1++; 9449 } 9450 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 9451 J3 = -I1-2*(I2)+2*I3 ; 9452 S2++; 9453 J3 = I1-(I2)-(I3) ; 9454 S1++; 9455 } 9456 if ((2*I1+I2)%3 == 0) { 9457 I3 = (2*I1+I2)/3 ; 9458 J1 = -2*I1+3*I3 ; 9459 if ((2*I1+J1)%3 == 0) { 9460 J2 = (2*I1+J1)/3 ; 9461 J3 = 3*I1-4*J2 ; 9462 S1++; 9463 S2++; 9464 } 9465 } 9466 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 9467 J3 = I1-(I2)-(I3) ; 9468 S1++; 9469 J3 = -I1-2*(I2)+2*I3 ; 9470 S2++; 9471 } 9472 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 9473 J3 = -I1-2*(I2)+2*I3 ; 9474 S2++; 9475 } 9476 } 9477 if ((3*N1-2)%10 == 0) { 9478 I2 = (3*N1-2)/10 ; 9479 for (I3=2*I2+1;I3<=3*I2;I3++) { 9480 J3 = I1-(I2)-(I3) ; 9481 S1++; 9482 } 9483 if ((9*I1-1)%12 == 0) { 9484 I3 = (9*I1-1)/12 ; 9485 J1 = -2*I1+3*I3 ; 9486 if ((2*I1+J1)%3 == 0) { 9487 J2 = (2*I1+J1)/3 ; 9488 J3 = 3*I1-4*J2 ; 9489 S1++; 9490 S2++; 9491 } 9492 } 9493 if ((3*I1+1)%4 == 0) { 9494 I3 = (3*I1+1)/4 ; 9495 J3 = I1-(I2)-(I3) ; 9496 S1++; 9497 J3 = -I1-2*(I2)+2*I3 ; 9498 S2++; 9499 } 9500 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 9501 J3 = -I1-2*(I2)+2*I3 ; 9502 S2++; 9503 } 9504 } 9505 if ((6*N1+1)%20 == 0) { 9506 I2 = (6*N1+1)/20 ; 9507 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) { 9508 J3 = I1-(I2)-(I3) ; 9509 S1++; 9510 } 9511 if (3*I1%4 == 0) { 9512 I3 = 3*I1/4 ; 9513 J1 = -2*I1+3*I3 ; 9514 if ((2*I1+J1)%3 == 0) { 9515 J2 = (2*I1+J1)/3 ; 9516 J3 = 3*I1-4*J2 ; 9517 S1++; 9518 S2++; 9519 } 9520 } 9521 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) { 9522 J3 = -I1-2*(I2)+2*I3 ; 9523 S2++; 9524 } 9525 } 9526 for (I2=ceild(3*N1+3,10);I2<=floord(4*N1-1,10);I2++) { 9527 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 9528 J3 = I1-(I2)-(I3) ; 9529 S1++; 9530 } 9531 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 9532 J3 = -I1-2*(I2)+2*I3 ; 9533 S2++; 9534 } 9535 } 9536 for (I2=ceild(2*N1+2,5);I2<=N1;I2++) { 9537 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 9538 J3 = I1-(I2)-(I3) ; 9539 S1++; 9540 } 9541 } 9542 } 9543} 9544if ((N1 >= 18) && (N1 <= 20)) { 9545 if ((6*N1+1)%5 == 0) { 9546 I1 = (6*N1+1)/5 ; 9547 for (I2=1;I2<=floord(N1-4,10);I2++) { 9548 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 9549 J3 = -I1-2*(I2)+2*I3 ; 9550 S2++; 9551 } 9552 } 9553 for (I2=ceild(N1+1,10);I2<=floord(6*N1-4,45);I2++) { 9554 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 9555 J3 = -I1-2*(I2)+2*I3 ; 9556 S2++; 9557 } 9558 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 9559 J3 = I1-(I2)-(I3) ; 9560 S1++; 9561 } 9562 } 9563 for (I2=ceild(6*N1+1,45);I2<=floord(6*N1-4,35);I2++) { 9564 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 9565 J3 = -I1-2*(I2)+2*I3 ; 9566 S2++; 9567 } 9568 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 9569 J3 = I1-(I2)-(I3) ; 9570 S1++; 9571 J3 = -I1-2*(I2)+2*I3 ; 9572 S2++; 9573 } 9574 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 9575 J3 = I1-(I2)-(I3) ; 9576 S1++; 9577 } 9578 } 9579 if ((6*N1+1)%35 == 0) { 9580 I2 = (6*N1+1)/35 ; 9581 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 9582 J3 = -I1-2*(I2)+2*I3 ; 9583 S2++; 9584 } 9585 if (5*I1%7 == 0) { 9586 I3 = 5*I1/7 ; 9587 J1 = -2*I1+3*I3 ; 9588 if ((2*I1+J1)%3 == 0) { 9589 J2 = (2*I1+J1)/3 ; 9590 J3 = 3*I1-4*J2 ; 9591 S1++; 9592 S2++; 9593 } 9594 } 9595 for (I3=ceild(15*I2+1,3);I3<=floord(17*I2,3);I3++) { 9596 J3 = I1-(I2)-(I3) ; 9597 S1++; 9598 J3 = -I1-2*(I2)+2*I3 ; 9599 S2++; 9600 } 9601 for (I3=ceild(17*I2+1,3);I3<=min(N1,6*I2);I3++) { 9602 J3 = I1-(I2)-(I3) ; 9603 S1++; 9604 } 9605 } 9606 if ((6*N1+1)%30 == 0) { 9607 I2 = (6*N1+1)/30 ; 9608 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) { 9609 J3 = -I1-2*(I2)+2*I3 ; 9610 S2++; 9611 J3 = I1-(I2)-(I3) ; 9612 S1++; 9613 } 9614 if (13*I1%18 == 0) { 9615 I3 = 13*I1/18 ; 9616 J1 = -2*I1+3*I3 ; 9617 if ((2*I1+J1)%3 == 0) { 9618 J2 = (2*I1+J1)/3 ; 9619 J3 = 3*I1-4*J2 ; 9620 S1++; 9621 S2++; 9622 } 9623 } 9624 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) { 9625 J3 = I1-(I2)-(I3) ; 9626 S1++; 9627 J3 = -I1-2*(I2)+2*I3 ; 9628 S2++; 9629 } 9630 } 9631 if ((N1+1)%5 == 0) { 9632 I2 = (N1+1)/5 ; 9633 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 9634 J3 = I1-(I2)-(I3) ; 9635 S1++; 9636 } 9637 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 9638 J3 = -I1-2*(I2)+2*I3 ; 9639 S2++; 9640 J3 = I1-(I2)-(I3) ; 9641 S1++; 9642 } 9643 if ((2*I1+I2)%3 == 0) { 9644 I3 = (2*I1+I2)/3 ; 9645 J1 = -2*I1+3*I3 ; 9646 if ((2*I1+J1)%3 == 0) { 9647 J2 = (2*I1+J1)/3 ; 9648 J3 = 3*I1-4*J2 ; 9649 S1++; 9650 S2++; 9651 } 9652 } 9653 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 9654 J3 = I1-(I2)-(I3) ; 9655 S1++; 9656 J3 = -I1-2*(I2)+2*I3 ; 9657 S2++; 9658 } 9659 } 9660 for (I2=ceild(N1+6,5);I2<=floord(6*N1-9,20);I2++) { 9661 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 9662 J3 = I1-(I2)-(I3) ; 9663 S1++; 9664 } 9665 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 9666 J3 = -I1-2*(I2)+2*I3 ; 9667 S2++; 9668 J3 = I1-(I2)-(I3) ; 9669 S1++; 9670 } 9671 if ((2*I1+I2)%3 == 0) { 9672 I3 = (2*I1+I2)/3 ; 9673 J1 = -2*I1+3*I3 ; 9674 if ((2*I1+J1)%3 == 0) { 9675 J2 = (2*I1+J1)/3 ; 9676 J3 = 3*I1-4*J2 ; 9677 S1++; 9678 S2++; 9679 } 9680 } 9681 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 9682 J3 = I1-(I2)-(I3) ; 9683 S1++; 9684 J3 = -I1-2*(I2)+2*I3 ; 9685 S2++; 9686 } 9687 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 9688 J3 = -I1-2*(I2)+2*I3 ; 9689 S2++; 9690 } 9691 } 9692 if ((3*N1-2)%10 == 0) { 9693 I2 = (3*N1-2)/10 ; 9694 for (I3=2*I2+1;I3<=3*I2;I3++) { 9695 J3 = I1-(I2)-(I3) ; 9696 S1++; 9697 } 9698 if ((9*I1-1)%12 == 0) { 9699 I3 = (9*I1-1)/12 ; 9700 J1 = -2*I1+3*I3 ; 9701 if ((2*I1+J1)%3 == 0) { 9702 J2 = (2*I1+J1)/3 ; 9703 J3 = 3*I1-4*J2 ; 9704 S1++; 9705 S2++; 9706 } 9707 } 9708 if ((3*I1+1)%4 == 0) { 9709 I3 = (3*I1+1)/4 ; 9710 J3 = I1-(I2)-(I3) ; 9711 S1++; 9712 J3 = -I1-2*(I2)+2*I3 ; 9713 S2++; 9714 } 9715 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 9716 J3 = -I1-2*(I2)+2*I3 ; 9717 S2++; 9718 } 9719 } 9720 if ((6*N1+1)%20 == 0) { 9721 I2 = (6*N1+1)/20 ; 9722 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) { 9723 J3 = I1-(I2)-(I3) ; 9724 S1++; 9725 } 9726 if (3*I1%4 == 0) { 9727 I3 = 3*I1/4 ; 9728 J1 = -2*I1+3*I3 ; 9729 if ((2*I1+J1)%3 == 0) { 9730 J2 = (2*I1+J1)/3 ; 9731 J3 = 3*I1-4*J2 ; 9732 S1++; 9733 S2++; 9734 } 9735 } 9736 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) { 9737 J3 = -I1-2*(I2)+2*I3 ; 9738 S2++; 9739 } 9740 } 9741 for (I2=ceild(3*N1+3,10);I2<=floord(4*N1-1,10);I2++) { 9742 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 9743 J3 = I1-(I2)-(I3) ; 9744 S1++; 9745 } 9746 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 9747 J3 = -I1-2*(I2)+2*I3 ; 9748 S2++; 9749 } 9750 } 9751 for (I2=ceild(2*N1+2,5);I2<=N1;I2++) { 9752 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 9753 J3 = I1-(I2)-(I3) ; 9754 S1++; 9755 } 9756 } 9757 } 9758} 9759if ((N1 <= 14) && (N1 >= 11)) { 9760 if ((4*N1-1)%3 == 0) { 9761 I1 = (4*N1-1)/3 ; 9762 for (I2=1;I2<=floord(N1-4,6);I2++) { 9763 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 9764 J3 = -I1-2*(I2)+2*I3 ; 9765 S2++; 9766 } 9767 } 9768 for (I2=ceild(N1-1,6);I2<=floord(4*N1-4,21);I2++) { 9769 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 9770 J3 = -I1-2*(I2)+2*I3 ; 9771 S2++; 9772 } 9773 for (I3=I1-2*I2;I3<=N1;I3++) { 9774 J3 = I1-(I2)-(I3) ; 9775 S1++; 9776 J3 = -I1-2*(I2)+2*I3 ; 9777 S2++; 9778 } 9779 } 9780 if ((4*N1-1)%21 == 0) { 9781 I2 = (4*N1-1)/21 ; 9782 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 9783 J3 = -I1-2*(I2)+2*I3 ; 9784 S2++; 9785 } 9786 if (5*I1%7 == 0) { 9787 I3 = 5*I1/7 ; 9788 J1 = -2*I1+3*I3 ; 9789 if ((2*I1+J1)%3 == 0) { 9790 J2 = (2*I1+J1)/3 ; 9791 J3 = 3*I1-4*J2 ; 9792 S1++; 9793 S2++; 9794 } 9795 } 9796 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) { 9797 J3 = I1-(I2)-(I3) ; 9798 S1++; 9799 J3 = -I1-2*(I2)+2*I3 ; 9800 S2++; 9801 } 9802 } 9803 if ((2*N1-2)%9 == 0) { 9804 I2 = (2*N1-2)/9 ; 9805 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 9806 J3 = -I1-2*(I2)+2*I3 ; 9807 S2++; 9808 J3 = I1-(I2)-(I3) ; 9809 S1++; 9810 } 9811 if ((13*I1-1)%18 == 0) { 9812 I3 = (13*I1-1)/18 ; 9813 J1 = -2*I1+3*I3 ; 9814 if ((2*I1+J1)%3 == 0) { 9815 J2 = (2*I1+J1)/3 ; 9816 J3 = 3*I1-4*J2 ; 9817 S1++; 9818 S2++; 9819 } 9820 } 9821 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) { 9822 J3 = I1-(I2)-(I3) ; 9823 S1++; 9824 J3 = -I1-2*(I2)+2*I3 ; 9825 S2++; 9826 } 9827 } 9828 if ((4*N1-1)%18 == 0) { 9829 I2 = (4*N1-1)/18 ; 9830 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) { 9831 J3 = -I1-2*(I2)+2*I3 ; 9832 S2++; 9833 J3 = I1-(I2)-(I3) ; 9834 S1++; 9835 } 9836 if (13*I1%18 == 0) { 9837 I3 = 13*I1/18 ; 9838 J1 = -2*I1+3*I3 ; 9839 if ((2*I1+J1)%3 == 0) { 9840 J2 = (2*I1+J1)/3 ; 9841 J3 = 3*I1-4*J2 ; 9842 S1++; 9843 S2++; 9844 } 9845 } 9846 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) { 9847 J3 = I1-(I2)-(I3) ; 9848 S1++; 9849 J3 = -I1-2*(I2)+2*I3 ; 9850 S2++; 9851 } 9852 } 9853 for (I2=ceild(2*N1+1,9);I2<=floord(4*N1-7,12);I2++) { 9854 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 9855 J3 = I1-(I2)-(I3) ; 9856 S1++; 9857 } 9858 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 9859 J3 = -I1-2*(I2)+2*I3 ; 9860 S2++; 9861 J3 = I1-(I2)-(I3) ; 9862 S1++; 9863 } 9864 if ((2*I1+I2)%3 == 0) { 9865 I3 = (2*I1+I2)/3 ; 9866 J1 = -2*I1+3*I3 ; 9867 if ((2*I1+J1)%3 == 0) { 9868 J2 = (2*I1+J1)/3 ; 9869 J3 = 3*I1-4*J2 ; 9870 S1++; 9871 S2++; 9872 } 9873 } 9874 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 9875 J3 = I1-(I2)-(I3) ; 9876 S1++; 9877 J3 = -I1-2*(I2)+2*I3 ; 9878 S2++; 9879 } 9880 } 9881 if ((N1-1)%3 == 0) { 9882 I2 = (N1-1)/3 ; 9883 for (I3=ceild(2*N1+1,3);I3<=N1-1;I3++) { 9884 J3 = I1-(I2)-(I3) ; 9885 S1++; 9886 } 9887 if (-1%3 == 0) { 9888 I3 = (3*N1-1)/3 ; 9889 J1 = -2*I1+3*I3 ; 9890 if ((2*I1+J1)%3 == 0) { 9891 J2 = (2*I1+J1)/3 ; 9892 J3 = 3*I1-4*J2 ; 9893 S1++; 9894 S2++; 9895 } 9896 } 9897 J3 = I1-(I2)-(I3) ; 9898 S1++; 9899 J3 = -I1-2*(I2)+2*I3 ; 9900 S2++; 9901 } 9902 for (I2=ceild(N1+2,3);I2<=N1;I2++) { 9903 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 9904 J3 = I1-(I2)-(I3) ; 9905 S1++; 9906 } 9907 } 9908 } 9909} 9910for (I1=ceild(6*N1+2,5);I1<=min(floord(21*N1-10,17),floord(6*N1+4,5));I1++) { 9911 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 9912 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 9913 J3 = -I1-2*(I2)+2*I3 ; 9914 S2++; 9915 } 9916 } 9917 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) { 9918 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 9919 J3 = -I1-2*(I2)+2*I3 ; 9920 S2++; 9921 } 9922 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 9923 J3 = I1-(I2)-(I3) ; 9924 S1++; 9925 } 9926 } 9927 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) { 9928 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 9929 J3 = -I1-2*(I2)+2*I3 ; 9930 S2++; 9931 } 9932 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 9933 J3 = I1-(I2)-(I3) ; 9934 S1++; 9935 J3 = -I1-2*(I2)+2*I3 ; 9936 S2++; 9937 } 9938 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 9939 J3 = I1-(I2)-(I3) ; 9940 S1++; 9941 } 9942 } 9943 if (I1%7 == 0) { 9944 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 9945 J3 = -I1-2*(I2)+2*I3 ; 9946 S2++; 9947 } 9948 if (5*I1%7 == 0) { 9949 I3 = 5*I1/7 ; 9950 J1 = -2*I1+3*I3 ; 9951 if ((2*I1+J1)%3 == 0) { 9952 J2 = (2*I1+J1)/3 ; 9953 J3 = 3*I1-4*J2 ; 9954 S1++; 9955 S2++; 9956 } 9957 } 9958 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) { 9959 J3 = I1-(I2)-(I3) ; 9960 S1++; 9961 J3 = -I1-2*(I2)+2*I3 ; 9962 S2++; 9963 } 9964 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) { 9965 J3 = I1-(I2)-(I3) ; 9966 S1++; 9967 } 9968 } 9969 for (I2=ceild(I1+1,7);I2<=floord(-2*I1+3*N1-1,3);I2++) { 9970 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 9971 J3 = -I1-2*(I2)+2*I3 ; 9972 S2++; 9973 } 9974 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 9975 J3 = -I1-2*(I2)+2*I3 ; 9976 S2++; 9977 J3 = I1-(I2)-(I3) ; 9978 S1++; 9979 } 9980 if ((2*I1+I2)%3 == 0) { 9981 I3 = (2*I1+I2)/3 ; 9982 J1 = -2*I1+3*I3 ; 9983 if ((2*I1+J1)%3 == 0) { 9984 J2 = (2*I1+J1)/3 ; 9985 J3 = 3*I1-4*J2 ; 9986 S1++; 9987 S2++; 9988 } 9989 } 9990 for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) { 9991 J3 = I1-(I2)-(I3) ; 9992 S1++; 9993 J3 = -I1-2*(I2)+2*I3 ; 9994 S2++; 9995 } 9996 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 9997 J3 = I1-(I2)-(I3) ; 9998 S1++; 9999 } 10000 } 10001 for (I2=ceild(-2*I1+3*N1,3);I2<=floord(I1-2,6);I2++) { 10002 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 10003 J3 = -I1-2*(I2)+2*I3 ; 10004 S2++; 10005 } 10006 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 10007 J3 = -I1-2*(I2)+2*I3 ; 10008 S2++; 10009 J3 = I1-(I2)-(I3) ; 10010 S1++; 10011 } 10012 if ((2*I1+I2)%3 == 0) { 10013 I3 = (2*I1+I2)/3 ; 10014 J1 = -2*I1+3*I3 ; 10015 if ((2*I1+J1)%3 == 0) { 10016 J2 = (2*I1+J1)/3 ; 10017 J3 = 3*I1-4*J2 ; 10018 S1++; 10019 S2++; 10020 } 10021 } 10022 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 10023 J3 = I1-(I2)-(I3) ; 10024 S1++; 10025 J3 = -I1-2*(I2)+2*I3 ; 10026 S2++; 10027 } 10028 } 10029 if (I1%6 == 0) { 10030 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 10031 J3 = -I1-2*(I2)+2*I3 ; 10032 S2++; 10033 J3 = I1-(I2)-(I3) ; 10034 S1++; 10035 } 10036 if (13*I1%18 == 0) { 10037 I3 = 13*I1/18 ; 10038 J1 = -2*I1+3*I3 ; 10039 if ((2*I1+J1)%3 == 0) { 10040 J2 = (2*I1+J1)/3 ; 10041 J3 = 3*I1-4*J2 ; 10042 S1++; 10043 S2++; 10044 } 10045 } 10046 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 10047 J3 = I1-(I2)-(I3) ; 10048 S1++; 10049 J3 = -I1-2*(I2)+2*I3 ; 10050 S2++; 10051 } 10052 } 10053 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) { 10054 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 10055 J3 = I1-(I2)-(I3) ; 10056 S1++; 10057 } 10058 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 10059 J3 = -I1-2*(I2)+2*I3 ; 10060 S2++; 10061 J3 = I1-(I2)-(I3) ; 10062 S1++; 10063 } 10064 if ((2*I1+I2)%3 == 0) { 10065 I3 = (2*I1+I2)/3 ; 10066 J1 = -2*I1+3*I3 ; 10067 if ((2*I1+J1)%3 == 0) { 10068 J2 = (2*I1+J1)/3 ; 10069 J3 = 3*I1-4*J2 ; 10070 S1++; 10071 S2++; 10072 } 10073 } 10074 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 10075 J3 = I1-(I2)-(I3) ; 10076 S1++; 10077 J3 = -I1-2*(I2)+2*I3 ; 10078 S2++; 10079 } 10080 } 10081 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) { 10082 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 10083 J3 = I1-(I2)-(I3) ; 10084 S1++; 10085 } 10086 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 10087 J3 = -I1-2*(I2)+2*I3 ; 10088 S2++; 10089 J3 = I1-(I2)-(I3) ; 10090 S1++; 10091 } 10092 if ((2*I1+I2)%3 == 0) { 10093 I3 = (2*I1+I2)/3 ; 10094 J1 = -2*I1+3*I3 ; 10095 if ((2*I1+J1)%3 == 0) { 10096 J2 = (2*I1+J1)/3 ; 10097 J3 = 3*I1-4*J2 ; 10098 S1++; 10099 S2++; 10100 } 10101 } 10102 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 10103 J3 = I1-(I2)-(I3) ; 10104 S1++; 10105 J3 = -I1-2*(I2)+2*I3 ; 10106 S2++; 10107 } 10108 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 10109 J3 = -I1-2*(I2)+2*I3 ; 10110 S2++; 10111 } 10112 } 10113 if ((I1-1)%4 == 0) { 10114 I2 = (I1-1)/4 ; 10115 for (I3=2*I2+1;I3<=3*I2;I3++) { 10116 J3 = I1-(I2)-(I3) ; 10117 S1++; 10118 } 10119 if ((9*I1-1)%12 == 0) { 10120 I3 = (9*I1-1)/12 ; 10121 J1 = -2*I1+3*I3 ; 10122 if ((2*I1+J1)%3 == 0) { 10123 J2 = (2*I1+J1)/3 ; 10124 J3 = 3*I1-4*J2 ; 10125 S1++; 10126 S2++; 10127 } 10128 } 10129 if ((3*I1+1)%4 == 0) { 10130 I3 = (3*I1+1)/4 ; 10131 J3 = I1-(I2)-(I3) ; 10132 S1++; 10133 J3 = -I1-2*(I2)+2*I3 ; 10134 S2++; 10135 } 10136 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 10137 J3 = -I1-2*(I2)+2*I3 ; 10138 S2++; 10139 } 10140 } 10141 if (I1%4 == 0) { 10142 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 10143 J3 = I1-(I2)-(I3) ; 10144 S1++; 10145 } 10146 if (3*I1%4 == 0) { 10147 I3 = 3*I1/4 ; 10148 J1 = -2*I1+3*I3 ; 10149 if ((2*I1+J1)%3 == 0) { 10150 J2 = (2*I1+J1)/3 ; 10151 J3 = 3*I1-4*J2 ; 10152 S1++; 10153 S2++; 10154 } 10155 } 10156 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 10157 J3 = -I1-2*(I2)+2*I3 ; 10158 S2++; 10159 } 10160 } 10161 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) { 10162 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 10163 J3 = I1-(I2)-(I3) ; 10164 S1++; 10165 } 10166 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 10167 J3 = -I1-2*(I2)+2*I3 ; 10168 S2++; 10169 } 10170 } 10171 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 10172 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 10173 J3 = I1-(I2)-(I3) ; 10174 S1++; 10175 } 10176 } 10177} 10178if ((N1 <= 14) && (N1 >= 11)) { 10179 if (4*N1%3 == 0) { 10180 I1 = 4*N1/3 ; 10181 for (I2=1;I2<=floord(N1-3,6);I2++) { 10182 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 10183 J3 = -I1-2*(I2)+2*I3 ; 10184 S2++; 10185 } 10186 } 10187 for (I2=ceild(N1,6);I2<=floord(4*N1-3,21);I2++) { 10188 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 10189 J3 = -I1-2*(I2)+2*I3 ; 10190 S2++; 10191 } 10192 for (I3=I1-2*I2;I3<=N1;I3++) { 10193 J3 = I1-(I2)-(I3) ; 10194 S1++; 10195 J3 = -I1-2*(I2)+2*I3 ; 10196 S2++; 10197 } 10198 } 10199 if (4*N1%21 == 0) { 10200 I2 = 4*N1/21 ; 10201 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 10202 J3 = -I1-2*(I2)+2*I3 ; 10203 S2++; 10204 } 10205 if (5*I1%7 == 0) { 10206 I3 = 5*I1/7 ; 10207 J1 = -2*I1+3*I3 ; 10208 if ((2*I1+J1)%3 == 0) { 10209 J2 = (2*I1+J1)/3 ; 10210 J3 = 3*I1-4*J2 ; 10211 S1++; 10212 S2++; 10213 } 10214 } 10215 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) { 10216 J3 = I1-(I2)-(I3) ; 10217 S1++; 10218 J3 = -I1-2*(I2)+2*I3 ; 10219 S2++; 10220 } 10221 } 10222 if ((4*N1-3)%18 == 0) { 10223 I2 = (4*N1-3)/18 ; 10224 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 10225 J3 = -I1-2*(I2)+2*I3 ; 10226 S2++; 10227 J3 = I1-(I2)-(I3) ; 10228 S1++; 10229 } 10230 if ((13*I1-1)%18 == 0) { 10231 I3 = (13*I1-1)/18 ; 10232 J1 = -2*I1+3*I3 ; 10233 if ((2*I1+J1)%3 == 0) { 10234 J2 = (2*I1+J1)/3 ; 10235 J3 = 3*I1-4*J2 ; 10236 S1++; 10237 S2++; 10238 } 10239 } 10240 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) { 10241 J3 = I1-(I2)-(I3) ; 10242 S1++; 10243 J3 = -I1-2*(I2)+2*I3 ; 10244 S2++; 10245 } 10246 } 10247 if (2*N1%9 == 0) { 10248 I2 = 2*N1/9 ; 10249 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) { 10250 J3 = -I1-2*(I2)+2*I3 ; 10251 S2++; 10252 J3 = I1-(I2)-(I3) ; 10253 S1++; 10254 } 10255 if (13*I1%18 == 0) { 10256 I3 = 13*I1/18 ; 10257 J1 = -2*I1+3*I3 ; 10258 if ((2*I1+J1)%3 == 0) { 10259 J2 = (2*I1+J1)/3 ; 10260 J3 = 3*I1-4*J2 ; 10261 S1++; 10262 S2++; 10263 } 10264 } 10265 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) { 10266 J3 = I1-(I2)-(I3) ; 10267 S1++; 10268 J3 = -I1-2*(I2)+2*I3 ; 10269 S2++; 10270 } 10271 } 10272 for (I2=ceild(4*N1+3,18);I2<=floord(N1-3,3);I2++) { 10273 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 10274 J3 = I1-(I2)-(I3) ; 10275 S1++; 10276 } 10277 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 10278 J3 = -I1-2*(I2)+2*I3 ; 10279 S2++; 10280 J3 = I1-(I2)-(I3) ; 10281 S1++; 10282 } 10283 if ((2*I1+I2)%3 == 0) { 10284 I3 = (2*I1+I2)/3 ; 10285 J1 = -2*I1+3*I3 ; 10286 if ((2*I1+J1)%3 == 0) { 10287 J2 = (2*I1+J1)/3 ; 10288 J3 = 3*I1-4*J2 ; 10289 S1++; 10290 S2++; 10291 } 10292 } 10293 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 10294 J3 = I1-(I2)-(I3) ; 10295 S1++; 10296 J3 = -I1-2*(I2)+2*I3 ; 10297 S2++; 10298 } 10299 } 10300 if (N1%3 == 0) { 10301 for (I3=ceild(2*N1,3);I3<=floord(2*N1-1,2);I3++) { 10302 J3 = I1-(I2)-(I3) ; 10303 S1++; 10304 } 10305 J1 = -2*I1+3*N1 ; 10306 if ((2*I1+J1)%3 == 0) { 10307 J2 = (2*I1+J1)/3 ; 10308 J3 = 3*I1-4*J2 ; 10309 S1++; 10310 S2++; 10311 } 10312 } 10313 for (I2=ceild(2*N1+3,6);I2<=N1;I2++) { 10314 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 10315 J3 = I1-(I2)-(I3) ; 10316 S1++; 10317 } 10318 } 10319 } 10320} 10321for (I1=ceild(6*N1+5,5);I1<=floord(21*N1-10,17);I1++) { 10322 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 10323 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 10324 J3 = -I1-2*(I2)+2*I3 ; 10325 S2++; 10326 } 10327 } 10328 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) { 10329 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 10330 J3 = -I1-2*(I2)+2*I3 ; 10331 S2++; 10332 } 10333 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 10334 J3 = I1-(I2)-(I3) ; 10335 S1++; 10336 } 10337 } 10338 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) { 10339 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 10340 J3 = -I1-2*(I2)+2*I3 ; 10341 S2++; 10342 } 10343 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 10344 J3 = I1-(I2)-(I3) ; 10345 S1++; 10346 J3 = -I1-2*(I2)+2*I3 ; 10347 S2++; 10348 } 10349 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 10350 J3 = I1-(I2)-(I3) ; 10351 S1++; 10352 } 10353 } 10354 if (I1%7 == 0) { 10355 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 10356 J3 = -I1-2*(I2)+2*I3 ; 10357 S2++; 10358 } 10359 if (5*I1%7 == 0) { 10360 I3 = 5*I1/7 ; 10361 J1 = -2*I1+3*I3 ; 10362 if ((2*I1+J1)%3 == 0) { 10363 J2 = (2*I1+J1)/3 ; 10364 J3 = 3*I1-4*J2 ; 10365 S1++; 10366 S2++; 10367 } 10368 } 10369 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) { 10370 J3 = I1-(I2)-(I3) ; 10371 S1++; 10372 J3 = -I1-2*(I2)+2*I3 ; 10373 S2++; 10374 } 10375 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) { 10376 J3 = I1-(I2)-(I3) ; 10377 S1++; 10378 } 10379 } 10380 for (I2=ceild(I1+1,7);I2<=floord(-2*I1+3*N1-1,3);I2++) { 10381 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 10382 J3 = -I1-2*(I2)+2*I3 ; 10383 S2++; 10384 } 10385 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 10386 J3 = -I1-2*(I2)+2*I3 ; 10387 S2++; 10388 J3 = I1-(I2)-(I3) ; 10389 S1++; 10390 } 10391 if ((2*I1+I2)%3 == 0) { 10392 I3 = (2*I1+I2)/3 ; 10393 J1 = -2*I1+3*I3 ; 10394 if ((2*I1+J1)%3 == 0) { 10395 J2 = (2*I1+J1)/3 ; 10396 J3 = 3*I1-4*J2 ; 10397 S1++; 10398 S2++; 10399 } 10400 } 10401 for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) { 10402 J3 = I1-(I2)-(I3) ; 10403 S1++; 10404 J3 = -I1-2*(I2)+2*I3 ; 10405 S2++; 10406 } 10407 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 10408 J3 = I1-(I2)-(I3) ; 10409 S1++; 10410 } 10411 } 10412 for (I2=ceild(-2*I1+3*N1,3);I2<=floord(I1-2,6);I2++) { 10413 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 10414 J3 = -I1-2*(I2)+2*I3 ; 10415 S2++; 10416 } 10417 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 10418 J3 = -I1-2*(I2)+2*I3 ; 10419 S2++; 10420 J3 = I1-(I2)-(I3) ; 10421 S1++; 10422 } 10423 if ((2*I1+I2)%3 == 0) { 10424 I3 = (2*I1+I2)/3 ; 10425 J1 = -2*I1+3*I3 ; 10426 if ((2*I1+J1)%3 == 0) { 10427 J2 = (2*I1+J1)/3 ; 10428 J3 = 3*I1-4*J2 ; 10429 S1++; 10430 S2++; 10431 } 10432 } 10433 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 10434 J3 = I1-(I2)-(I3) ; 10435 S1++; 10436 J3 = -I1-2*(I2)+2*I3 ; 10437 S2++; 10438 } 10439 } 10440 if ((I1-1)%6 == 0) { 10441 I2 = (I1-1)/6 ; 10442 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 10443 J3 = -I1-2*(I2)+2*I3 ; 10444 S2++; 10445 J3 = I1-(I2)-(I3) ; 10446 S1++; 10447 } 10448 if ((13*I1-1)%18 == 0) { 10449 I3 = (13*I1-1)/18 ; 10450 J1 = -2*I1+3*I3 ; 10451 if ((2*I1+J1)%3 == 0) { 10452 J2 = (2*I1+J1)/3 ; 10453 J3 = 3*I1-4*J2 ; 10454 S1++; 10455 S2++; 10456 } 10457 } 10458 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) { 10459 J3 = I1-(I2)-(I3) ; 10460 S1++; 10461 J3 = -I1-2*(I2)+2*I3 ; 10462 S2++; 10463 } 10464 } 10465 if (I1%6 == 0) { 10466 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 10467 J3 = -I1-2*(I2)+2*I3 ; 10468 S2++; 10469 J3 = I1-(I2)-(I3) ; 10470 S1++; 10471 } 10472 if (13*I1%18 == 0) { 10473 I3 = 13*I1/18 ; 10474 J1 = -2*I1+3*I3 ; 10475 if ((2*I1+J1)%3 == 0) { 10476 J2 = (2*I1+J1)/3 ; 10477 J3 = 3*I1-4*J2 ; 10478 S1++; 10479 S2++; 10480 } 10481 } 10482 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 10483 J3 = I1-(I2)-(I3) ; 10484 S1++; 10485 J3 = -I1-2*(I2)+2*I3 ; 10486 S2++; 10487 } 10488 } 10489 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) { 10490 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 10491 J3 = I1-(I2)-(I3) ; 10492 S1++; 10493 } 10494 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 10495 J3 = -I1-2*(I2)+2*I3 ; 10496 S2++; 10497 J3 = I1-(I2)-(I3) ; 10498 S1++; 10499 } 10500 if ((2*I1+I2)%3 == 0) { 10501 I3 = (2*I1+I2)/3 ; 10502 J1 = -2*I1+3*I3 ; 10503 if ((2*I1+J1)%3 == 0) { 10504 J2 = (2*I1+J1)/3 ; 10505 J3 = 3*I1-4*J2 ; 10506 S1++; 10507 S2++; 10508 } 10509 } 10510 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 10511 J3 = I1-(I2)-(I3) ; 10512 S1++; 10513 J3 = -I1-2*(I2)+2*I3 ; 10514 S2++; 10515 } 10516 } 10517 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) { 10518 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 10519 J3 = I1-(I2)-(I3) ; 10520 S1++; 10521 } 10522 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 10523 J3 = -I1-2*(I2)+2*I3 ; 10524 S2++; 10525 J3 = I1-(I2)-(I3) ; 10526 S1++; 10527 } 10528 if ((2*I1+I2)%3 == 0) { 10529 I3 = (2*I1+I2)/3 ; 10530 J1 = -2*I1+3*I3 ; 10531 if ((2*I1+J1)%3 == 0) { 10532 J2 = (2*I1+J1)/3 ; 10533 J3 = 3*I1-4*J2 ; 10534 S1++; 10535 S2++; 10536 } 10537 } 10538 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 10539 J3 = I1-(I2)-(I3) ; 10540 S1++; 10541 J3 = -I1-2*(I2)+2*I3 ; 10542 S2++; 10543 } 10544 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 10545 J3 = -I1-2*(I2)+2*I3 ; 10546 S2++; 10547 } 10548 } 10549 if ((I1-1)%4 == 0) { 10550 I2 = (I1-1)/4 ; 10551 for (I3=2*I2+1;I3<=3*I2;I3++) { 10552 J3 = I1-(I2)-(I3) ; 10553 S1++; 10554 } 10555 if ((9*I1-1)%12 == 0) { 10556 I3 = (9*I1-1)/12 ; 10557 J1 = -2*I1+3*I3 ; 10558 if ((2*I1+J1)%3 == 0) { 10559 J2 = (2*I1+J1)/3 ; 10560 J3 = 3*I1-4*J2 ; 10561 S1++; 10562 S2++; 10563 } 10564 } 10565 if ((3*I1+1)%4 == 0) { 10566 I3 = (3*I1+1)/4 ; 10567 J3 = I1-(I2)-(I3) ; 10568 S1++; 10569 J3 = -I1-2*(I2)+2*I3 ; 10570 S2++; 10571 } 10572 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 10573 J3 = -I1-2*(I2)+2*I3 ; 10574 S2++; 10575 } 10576 } 10577 if (I1%4 == 0) { 10578 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 10579 J3 = I1-(I2)-(I3) ; 10580 S1++; 10581 } 10582 if (3*I1%4 == 0) { 10583 I3 = 3*I1/4 ; 10584 J1 = -2*I1+3*I3 ; 10585 if ((2*I1+J1)%3 == 0) { 10586 J2 = (2*I1+J1)/3 ; 10587 J3 = 3*I1-4*J2 ; 10588 S1++; 10589 S2++; 10590 } 10591 } 10592 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 10593 J3 = -I1-2*(I2)+2*I3 ; 10594 S2++; 10595 } 10596 } 10597 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) { 10598 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 10599 J3 = I1-(I2)-(I3) ; 10600 S1++; 10601 } 10602 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 10603 J3 = -I1-2*(I2)+2*I3 ; 10604 S2++; 10605 } 10606 } 10607 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 10608 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 10609 J3 = I1-(I2)-(I3) ; 10610 S1++; 10611 } 10612 } 10613} 10614for (I1=max(ceild(21*N1-9,17),ceild(6*N1+2,5));I1<=min(floord(21*N1-7,17),floord(6*N1+4,5));I1++) { 10615 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 10616 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 10617 J3 = -I1-2*(I2)+2*I3 ; 10618 S2++; 10619 } 10620 } 10621 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) { 10622 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 10623 J3 = -I1-2*(I2)+2*I3 ; 10624 S2++; 10625 } 10626 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 10627 J3 = I1-(I2)-(I3) ; 10628 S1++; 10629 } 10630 } 10631 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) { 10632 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 10633 J3 = -I1-2*(I2)+2*I3 ; 10634 S2++; 10635 } 10636 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 10637 J3 = I1-(I2)-(I3) ; 10638 S1++; 10639 J3 = -I1-2*(I2)+2*I3 ; 10640 S2++; 10641 } 10642 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 10643 J3 = I1-(I2)-(I3) ; 10644 S1++; 10645 } 10646 } 10647 if (I1%7 == 0) { 10648 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 10649 J3 = -I1-2*(I2)+2*I3 ; 10650 S2++; 10651 } 10652 if (5*I1%7 == 0) { 10653 I3 = 5*I1/7 ; 10654 J1 = -2*I1+3*I3 ; 10655 if ((2*I1+J1)%3 == 0) { 10656 J2 = (2*I1+J1)/3 ; 10657 J3 = 3*I1-4*J2 ; 10658 S1++; 10659 S2++; 10660 } 10661 } 10662 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) { 10663 J3 = I1-(I2)-(I3) ; 10664 S1++; 10665 J3 = -I1-2*(I2)+2*I3 ; 10666 S2++; 10667 } 10668 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) { 10669 J3 = I1-(I2)-(I3) ; 10670 S1++; 10671 } 10672 } 10673 for (I2=ceild(-2*I1+3*N1,3);I2<=floord(I1-2,6);I2++) { 10674 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 10675 J3 = -I1-2*(I2)+2*I3 ; 10676 S2++; 10677 } 10678 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 10679 J3 = -I1-2*(I2)+2*I3 ; 10680 S2++; 10681 J3 = I1-(I2)-(I3) ; 10682 S1++; 10683 } 10684 if ((2*I1+I2)%3 == 0) { 10685 I3 = (2*I1+I2)/3 ; 10686 J1 = -2*I1+3*I3 ; 10687 if ((2*I1+J1)%3 == 0) { 10688 J2 = (2*I1+J1)/3 ; 10689 J3 = 3*I1-4*J2 ; 10690 S1++; 10691 S2++; 10692 } 10693 } 10694 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 10695 J3 = I1-(I2)-(I3) ; 10696 S1++; 10697 J3 = -I1-2*(I2)+2*I3 ; 10698 S2++; 10699 } 10700 } 10701 if (I1%6 == 0) { 10702 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 10703 J3 = -I1-2*(I2)+2*I3 ; 10704 S2++; 10705 J3 = I1-(I2)-(I3) ; 10706 S1++; 10707 } 10708 if (13*I1%18 == 0) { 10709 I3 = 13*I1/18 ; 10710 J1 = -2*I1+3*I3 ; 10711 if ((2*I1+J1)%3 == 0) { 10712 J2 = (2*I1+J1)/3 ; 10713 J3 = 3*I1-4*J2 ; 10714 S1++; 10715 S2++; 10716 } 10717 } 10718 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 10719 J3 = I1-(I2)-(I3) ; 10720 S1++; 10721 J3 = -I1-2*(I2)+2*I3 ; 10722 S2++; 10723 } 10724 } 10725 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) { 10726 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 10727 J3 = I1-(I2)-(I3) ; 10728 S1++; 10729 } 10730 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 10731 J3 = -I1-2*(I2)+2*I3 ; 10732 S2++; 10733 J3 = I1-(I2)-(I3) ; 10734 S1++; 10735 } 10736 if ((2*I1+I2)%3 == 0) { 10737 I3 = (2*I1+I2)/3 ; 10738 J1 = -2*I1+3*I3 ; 10739 if ((2*I1+J1)%3 == 0) { 10740 J2 = (2*I1+J1)/3 ; 10741 J3 = 3*I1-4*J2 ; 10742 S1++; 10743 S2++; 10744 } 10745 } 10746 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 10747 J3 = I1-(I2)-(I3) ; 10748 S1++; 10749 J3 = -I1-2*(I2)+2*I3 ; 10750 S2++; 10751 } 10752 } 10753 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) { 10754 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 10755 J3 = I1-(I2)-(I3) ; 10756 S1++; 10757 } 10758 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 10759 J3 = -I1-2*(I2)+2*I3 ; 10760 S2++; 10761 J3 = I1-(I2)-(I3) ; 10762 S1++; 10763 } 10764 if ((2*I1+I2)%3 == 0) { 10765 I3 = (2*I1+I2)/3 ; 10766 J1 = -2*I1+3*I3 ; 10767 if ((2*I1+J1)%3 == 0) { 10768 J2 = (2*I1+J1)/3 ; 10769 J3 = 3*I1-4*J2 ; 10770 S1++; 10771 S2++; 10772 } 10773 } 10774 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 10775 J3 = I1-(I2)-(I3) ; 10776 S1++; 10777 J3 = -I1-2*(I2)+2*I3 ; 10778 S2++; 10779 } 10780 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 10781 J3 = -I1-2*(I2)+2*I3 ; 10782 S2++; 10783 } 10784 } 10785 if ((I1-1)%4 == 0) { 10786 I2 = (I1-1)/4 ; 10787 for (I3=2*I2+1;I3<=3*I2;I3++) { 10788 J3 = I1-(I2)-(I3) ; 10789 S1++; 10790 } 10791 if ((9*I1-1)%12 == 0) { 10792 I3 = (9*I1-1)/12 ; 10793 J1 = -2*I1+3*I3 ; 10794 if ((2*I1+J1)%3 == 0) { 10795 J2 = (2*I1+J1)/3 ; 10796 J3 = 3*I1-4*J2 ; 10797 S1++; 10798 S2++; 10799 } 10800 } 10801 if ((3*I1+1)%4 == 0) { 10802 I3 = (3*I1+1)/4 ; 10803 J3 = I1-(I2)-(I3) ; 10804 S1++; 10805 J3 = -I1-2*(I2)+2*I3 ; 10806 S2++; 10807 } 10808 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 10809 J3 = -I1-2*(I2)+2*I3 ; 10810 S2++; 10811 } 10812 } 10813 if (I1%4 == 0) { 10814 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 10815 J3 = I1-(I2)-(I3) ; 10816 S1++; 10817 } 10818 if (3*I1%4 == 0) { 10819 I3 = 3*I1/4 ; 10820 J1 = -2*I1+3*I3 ; 10821 if ((2*I1+J1)%3 == 0) { 10822 J2 = (2*I1+J1)/3 ; 10823 J3 = 3*I1-4*J2 ; 10824 S1++; 10825 S2++; 10826 } 10827 } 10828 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 10829 J3 = -I1-2*(I2)+2*I3 ; 10830 S2++; 10831 } 10832 } 10833 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) { 10834 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 10835 J3 = I1-(I2)-(I3) ; 10836 S1++; 10837 } 10838 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 10839 J3 = -I1-2*(I2)+2*I3 ; 10840 S2++; 10841 } 10842 } 10843 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 10844 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 10845 J3 = I1-(I2)-(I3) ; 10846 S1++; 10847 } 10848 } 10849} 10850if (N1 == 14) { 10851 for (I2=1;I2<=2;I2++) { 10852 for (I3=ceild(19+2*I2,2);I3<=min(N1,floord(2*19+3*I2,3));I3++) { 10853 J3 = -(19)-2*(I2)+2*I3 ; 10854 S2++; 10855 } 10856 } 10857 for (I2=3;I2<=2;I2++) { 10858 for (I3=ceild(19+2*I2,2);I3<=19-2*I2-1;I3++) { 10859 J3 = -(19)-2*(I2)+2*I3 ; 10860 S2++; 10861 } 10862 for (I3=19-2*I2;I3<=N1;I3++) { 10863 J3 = 19-(I2)-(I3) ; 10864 S1++; 10865 J3 = -(19)-2*(I2)+2*I3 ; 10866 S2++; 10867 } 10868 } 10869 if (19%7 == 0) { 10870 for (I3=ceild(9*19/7,2);I3<=5*19/7-1;I3++) { 10871 J3 = -(19)-2*(I2)+2*I3 ; 10872 S2++; 10873 } 10874 if (5*19%7 == 0) { 10875 I3 = 5*19/7 ; 10876 J1 = -2*(19)+3*I3 ; 10877 if ((2*19+J1)%3 == 0) { 10878 J2 = (2*19+J1)/3 ; 10879 J3 = 3*19-4*J2 ; 10880 S1++; 10881 S2++; 10882 } 10883 } 10884 for (I3=ceild(15*19/7+1,3);I3<=N1;I3++) { 10885 J3 = 19-(I2)-(I3) ; 10886 S1++; 10887 J3 = -(19)-2*(I2)+2*I3 ; 10888 S2++; 10889 } 10890 } 10891 for (I3=4*3+1;I3<=floord(13*3+1,3);I3++) { 10892 J3 = -(19)-2*(I2)+2*I3 ; 10893 S2++; 10894 J3 = 19-(I2)-(I3) ; 10895 S1++; 10896 } 10897 if ((13*19-1)%18 == 0) { 10898 I3 = (13*19-1)/18 ; 10899 J1 = -2*(19)+3*I3 ; 10900 if ((2*19+J1)%3 == 0) { 10901 J2 = (2*19+J1)/3 ; 10902 J3 = 3*19-4*J2 ; 10903 S1++; 10904 S2++; 10905 } 10906 } 10907 for (I3=ceild(13*3+3,3);I3<=N1;I3++) { 10908 J3 = 19-(I2)-(I3) ; 10909 S1++; 10910 J3 = -(19)-2*(I2)+2*I3 ; 10911 S2++; 10912 } 10913 for (I3=ceild(-5*(4)+3*N1,2);I3<=floord(3*4+3*N1-2,4);I3++) { 10914 J3 = 19-(I2)-(I3) ; 10915 S1++; 10916 } 10917 for (I3=ceild(3*4+3*N1,4);I3<=floord(3*N1-1,3);I3++) { 10918 J3 = -(19)-2*(I2)+2*I3 ; 10919 S2++; 10920 J3 = 19-(I2)-(I3) ; 10921 S1++; 10922 } 10923 J1 = -2*(19)+3*N1 ; 10924 if ((2*19+J1)%3 == 0) { 10925 J2 = (2*19+J1)/3 ; 10926 J3 = 3*19-4*J2 ; 10927 S1++; 10928 S2++; 10929 } 10930 for (I2=5;I2<=14;I2++) { 10931 for (I3=max(max(ceild(19-I2,2),19-2*I2),1);I3<=min(19-I2,N1);I3++) { 10932 J3 = 19-(I2)-(I3) ; 10933 S1++; 10934 } 10935 } 10936} 10937if (N1 == 11) { 10938 for (I3=ceild(15+2*1,2);I3<=min(N1,floord(2*15+3*1,3));I3++) { 10939 J3 = -(15)-2*(I2)+2*I3 ; 10940 S2++; 10941 } 10942 for (I3=ceild(15+2*2,2);I3<=15-2*(2)-1;I3++) { 10943 J3 = -(15)-2*(I2)+2*I3 ; 10944 S2++; 10945 } 10946 for (I3=15-2*(2);I3<=N1;I3++) { 10947 J3 = 15-(I2)-(I3) ; 10948 S1++; 10949 J3 = -(15)-2*(I2)+2*I3 ; 10950 S2++; 10951 } 10952 for (I3=ceild(-5*(3)+3*N1,2);I3<=floord(3*3+3*N1-2,4);I3++) { 10953 J3 = 15-(I2)-(I3) ; 10954 S1++; 10955 } 10956 for (I3=ceild(3*3+3*N1,4);I3<=floord(3*N1-1,3);I3++) { 10957 J3 = -(15)-2*(I2)+2*I3 ; 10958 S2++; 10959 J3 = 15-(I2)-(I3) ; 10960 S1++; 10961 } 10962 J1 = -2*(15)+3*N1 ; 10963 if ((2*15+J1)%3 == 0) { 10964 J2 = (2*15+J1)/3 ; 10965 J3 = 3*15-4*J2 ; 10966 S1++; 10967 S2++; 10968 } 10969 for (I2=4;I2<=11;I2++) { 10970 for (I3=max(max(ceild(15-I2,2),15-2*I2),1);I3<=min(15-I2,N1);I3++) { 10971 J3 = 15-(I2)-(I3) ; 10972 S1++; 10973 } 10974 } 10975} 10976for (I1=max(ceild(21*N1-9,17),ceild(6*N1+5,5));I1<=floord(21*N1-7,17);I1++) { 10977 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 10978 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 10979 J3 = -I1-2*(I2)+2*I3 ; 10980 S2++; 10981 } 10982 } 10983 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) { 10984 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 10985 J3 = -I1-2*(I2)+2*I3 ; 10986 S2++; 10987 } 10988 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 10989 J3 = I1-(I2)-(I3) ; 10990 S1++; 10991 } 10992 } 10993 for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) { 10994 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 10995 J3 = -I1-2*(I2)+2*I3 ; 10996 S2++; 10997 } 10998 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 10999 J3 = I1-(I2)-(I3) ; 11000 S1++; 11001 J3 = -I1-2*(I2)+2*I3 ; 11002 S2++; 11003 } 11004 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 11005 J3 = I1-(I2)-(I3) ; 11006 S1++; 11007 } 11008 } 11009 if (I1%7 == 0) { 11010 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 11011 J3 = -I1-2*(I2)+2*I3 ; 11012 S2++; 11013 } 11014 if (5*I1%7 == 0) { 11015 I3 = 5*I1/7 ; 11016 J1 = -2*I1+3*I3 ; 11017 if ((2*I1+J1)%3 == 0) { 11018 J2 = (2*I1+J1)/3 ; 11019 J3 = 3*I1-4*J2 ; 11020 S1++; 11021 S2++; 11022 } 11023 } 11024 for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) { 11025 J3 = I1-(I2)-(I3) ; 11026 S1++; 11027 J3 = -I1-2*(I2)+2*I3 ; 11028 S2++; 11029 } 11030 for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) { 11031 J3 = I1-(I2)-(I3) ; 11032 S1++; 11033 } 11034 } 11035 for (I2=ceild(-2*I1+3*N1,3);I2<=floord(I1-2,6);I2++) { 11036 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 11037 J3 = -I1-2*(I2)+2*I3 ; 11038 S2++; 11039 } 11040 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 11041 J3 = -I1-2*(I2)+2*I3 ; 11042 S2++; 11043 J3 = I1-(I2)-(I3) ; 11044 S1++; 11045 } 11046 if ((2*I1+I2)%3 == 0) { 11047 I3 = (2*I1+I2)/3 ; 11048 J1 = -2*I1+3*I3 ; 11049 if ((2*I1+J1)%3 == 0) { 11050 J2 = (2*I1+J1)/3 ; 11051 J3 = 3*I1-4*J2 ; 11052 S1++; 11053 S2++; 11054 } 11055 } 11056 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 11057 J3 = I1-(I2)-(I3) ; 11058 S1++; 11059 J3 = -I1-2*(I2)+2*I3 ; 11060 S2++; 11061 } 11062 } 11063 if ((I1-1)%6 == 0) { 11064 I2 = (I1-1)/6 ; 11065 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 11066 J3 = -I1-2*(I2)+2*I3 ; 11067 S2++; 11068 J3 = I1-(I2)-(I3) ; 11069 S1++; 11070 } 11071 if ((13*I1-1)%18 == 0) { 11072 I3 = (13*I1-1)/18 ; 11073 J1 = -2*I1+3*I3 ; 11074 if ((2*I1+J1)%3 == 0) { 11075 J2 = (2*I1+J1)/3 ; 11076 J3 = 3*I1-4*J2 ; 11077 S1++; 11078 S2++; 11079 } 11080 } 11081 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) { 11082 J3 = I1-(I2)-(I3) ; 11083 S1++; 11084 J3 = -I1-2*(I2)+2*I3 ; 11085 S2++; 11086 } 11087 } 11088 if (I1%6 == 0) { 11089 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 11090 J3 = -I1-2*(I2)+2*I3 ; 11091 S2++; 11092 J3 = I1-(I2)-(I3) ; 11093 S1++; 11094 } 11095 if (13*I1%18 == 0) { 11096 I3 = 13*I1/18 ; 11097 J1 = -2*I1+3*I3 ; 11098 if ((2*I1+J1)%3 == 0) { 11099 J2 = (2*I1+J1)/3 ; 11100 J3 = 3*I1-4*J2 ; 11101 S1++; 11102 S2++; 11103 } 11104 } 11105 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 11106 J3 = I1-(I2)-(I3) ; 11107 S1++; 11108 J3 = -I1-2*(I2)+2*I3 ; 11109 S2++; 11110 } 11111 } 11112 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) { 11113 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 11114 J3 = I1-(I2)-(I3) ; 11115 S1++; 11116 } 11117 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 11118 J3 = -I1-2*(I2)+2*I3 ; 11119 S2++; 11120 J3 = I1-(I2)-(I3) ; 11121 S1++; 11122 } 11123 if ((2*I1+I2)%3 == 0) { 11124 I3 = (2*I1+I2)/3 ; 11125 J1 = -2*I1+3*I3 ; 11126 if ((2*I1+J1)%3 == 0) { 11127 J2 = (2*I1+J1)/3 ; 11128 J3 = 3*I1-4*J2 ; 11129 S1++; 11130 S2++; 11131 } 11132 } 11133 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 11134 J3 = I1-(I2)-(I3) ; 11135 S1++; 11136 J3 = -I1-2*(I2)+2*I3 ; 11137 S2++; 11138 } 11139 } 11140 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) { 11141 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 11142 J3 = I1-(I2)-(I3) ; 11143 S1++; 11144 } 11145 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 11146 J3 = -I1-2*(I2)+2*I3 ; 11147 S2++; 11148 J3 = I1-(I2)-(I3) ; 11149 S1++; 11150 } 11151 if ((2*I1+I2)%3 == 0) { 11152 I3 = (2*I1+I2)/3 ; 11153 J1 = -2*I1+3*I3 ; 11154 if ((2*I1+J1)%3 == 0) { 11155 J2 = (2*I1+J1)/3 ; 11156 J3 = 3*I1-4*J2 ; 11157 S1++; 11158 S2++; 11159 } 11160 } 11161 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 11162 J3 = I1-(I2)-(I3) ; 11163 S1++; 11164 J3 = -I1-2*(I2)+2*I3 ; 11165 S2++; 11166 } 11167 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 11168 J3 = -I1-2*(I2)+2*I3 ; 11169 S2++; 11170 } 11171 } 11172 if ((I1-1)%4 == 0) { 11173 I2 = (I1-1)/4 ; 11174 for (I3=2*I2+1;I3<=3*I2;I3++) { 11175 J3 = I1-(I2)-(I3) ; 11176 S1++; 11177 } 11178 if ((9*I1-1)%12 == 0) { 11179 I3 = (9*I1-1)/12 ; 11180 J1 = -2*I1+3*I3 ; 11181 if ((2*I1+J1)%3 == 0) { 11182 J2 = (2*I1+J1)/3 ; 11183 J3 = 3*I1-4*J2 ; 11184 S1++; 11185 S2++; 11186 } 11187 } 11188 if ((3*I1+1)%4 == 0) { 11189 I3 = (3*I1+1)/4 ; 11190 J3 = I1-(I2)-(I3) ; 11191 S1++; 11192 J3 = -I1-2*(I2)+2*I3 ; 11193 S2++; 11194 } 11195 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 11196 J3 = -I1-2*(I2)+2*I3 ; 11197 S2++; 11198 } 11199 } 11200 if (I1%4 == 0) { 11201 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 11202 J3 = I1-(I2)-(I3) ; 11203 S1++; 11204 } 11205 if (3*I1%4 == 0) { 11206 I3 = 3*I1/4 ; 11207 J1 = -2*I1+3*I3 ; 11208 if ((2*I1+J1)%3 == 0) { 11209 J2 = (2*I1+J1)/3 ; 11210 J3 = 3*I1-4*J2 ; 11211 S1++; 11212 S2++; 11213 } 11214 } 11215 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 11216 J3 = -I1-2*(I2)+2*I3 ; 11217 S2++; 11218 } 11219 } 11220 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) { 11221 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 11222 J3 = I1-(I2)-(I3) ; 11223 S1++; 11224 } 11225 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 11226 J3 = -I1-2*(I2)+2*I3 ; 11227 S2++; 11228 } 11229 } 11230 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 11231 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 11232 J3 = I1-(I2)-(I3) ; 11233 S1++; 11234 } 11235 } 11236} 11237for (I1=max(ceild(21*N1-6,17),ceild(6*N1+2,5));I1<=min(min(floord(21*N1-1,17),floord(6*N1+4,5)),floord(4*N1-6,3));I1++) { 11238 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 11239 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 11240 J3 = -I1-2*(I2)+2*I3 ; 11241 S2++; 11242 } 11243 } 11244 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) { 11245 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 11246 J3 = -I1-2*(I2)+2*I3 ; 11247 S2++; 11248 } 11249 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 11250 J3 = I1-(I2)-(I3) ; 11251 S1++; 11252 } 11253 } 11254 for (I2=ceild(I1,9);I2<=min(floord(I1-1,7),floord(-2*I1+3*N1-1,3));I2++) { 11255 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 11256 J3 = -I1-2*(I2)+2*I3 ; 11257 S2++; 11258 } 11259 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 11260 J3 = I1-(I2)-(I3) ; 11261 S1++; 11262 J3 = -I1-2*(I2)+2*I3 ; 11263 S2++; 11264 } 11265 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 11266 J3 = I1-(I2)-(I3) ; 11267 S1++; 11268 } 11269 } 11270 for (I2=max(ceild(I1+1,7),ceild(-2*I1+3*N1,3));I2<=floord(I1-2,6);I2++) { 11271 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 11272 J3 = -I1-2*(I2)+2*I3 ; 11273 S2++; 11274 } 11275 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 11276 J3 = -I1-2*(I2)+2*I3 ; 11277 S2++; 11278 J3 = I1-(I2)-(I3) ; 11279 S1++; 11280 } 11281 if ((2*I1+I2)%3 == 0) { 11282 I3 = (2*I1+I2)/3 ; 11283 J1 = -2*I1+3*I3 ; 11284 if ((2*I1+J1)%3 == 0) { 11285 J2 = (2*I1+J1)/3 ; 11286 J3 = 3*I1-4*J2 ; 11287 S1++; 11288 S2++; 11289 } 11290 } 11291 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 11292 J3 = I1-(I2)-(I3) ; 11293 S1++; 11294 J3 = -I1-2*(I2)+2*I3 ; 11295 S2++; 11296 } 11297 } 11298 if (I1%6 == 0) { 11299 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 11300 J3 = -I1-2*(I2)+2*I3 ; 11301 S2++; 11302 J3 = I1-(I2)-(I3) ; 11303 S1++; 11304 } 11305 if (13*I1%18 == 0) { 11306 I3 = 13*I1/18 ; 11307 J1 = -2*I1+3*I3 ; 11308 if ((2*I1+J1)%3 == 0) { 11309 J2 = (2*I1+J1)/3 ; 11310 J3 = 3*I1-4*J2 ; 11311 S1++; 11312 S2++; 11313 } 11314 } 11315 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 11316 J3 = I1-(I2)-(I3) ; 11317 S1++; 11318 J3 = -I1-2*(I2)+2*I3 ; 11319 S2++; 11320 } 11321 } 11322 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) { 11323 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 11324 J3 = I1-(I2)-(I3) ; 11325 S1++; 11326 } 11327 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 11328 J3 = -I1-2*(I2)+2*I3 ; 11329 S2++; 11330 J3 = I1-(I2)-(I3) ; 11331 S1++; 11332 } 11333 if ((2*I1+I2)%3 == 0) { 11334 I3 = (2*I1+I2)/3 ; 11335 J1 = -2*I1+3*I3 ; 11336 if ((2*I1+J1)%3 == 0) { 11337 J2 = (2*I1+J1)/3 ; 11338 J3 = 3*I1-4*J2 ; 11339 S1++; 11340 S2++; 11341 } 11342 } 11343 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 11344 J3 = I1-(I2)-(I3) ; 11345 S1++; 11346 J3 = -I1-2*(I2)+2*I3 ; 11347 S2++; 11348 } 11349 } 11350 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) { 11351 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 11352 J3 = I1-(I2)-(I3) ; 11353 S1++; 11354 } 11355 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 11356 J3 = -I1-2*(I2)+2*I3 ; 11357 S2++; 11358 J3 = I1-(I2)-(I3) ; 11359 S1++; 11360 } 11361 if ((2*I1+I2)%3 == 0) { 11362 I3 = (2*I1+I2)/3 ; 11363 J1 = -2*I1+3*I3 ; 11364 if ((2*I1+J1)%3 == 0) { 11365 J2 = (2*I1+J1)/3 ; 11366 J3 = 3*I1-4*J2 ; 11367 S1++; 11368 S2++; 11369 } 11370 } 11371 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 11372 J3 = I1-(I2)-(I3) ; 11373 S1++; 11374 J3 = -I1-2*(I2)+2*I3 ; 11375 S2++; 11376 } 11377 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 11378 J3 = -I1-2*(I2)+2*I3 ; 11379 S2++; 11380 } 11381 } 11382 if ((I1-1)%4 == 0) { 11383 I2 = (I1-1)/4 ; 11384 for (I3=2*I2+1;I3<=3*I2;I3++) { 11385 J3 = I1-(I2)-(I3) ; 11386 S1++; 11387 } 11388 if ((9*I1-1)%12 == 0) { 11389 I3 = (9*I1-1)/12 ; 11390 J1 = -2*I1+3*I3 ; 11391 if ((2*I1+J1)%3 == 0) { 11392 J2 = (2*I1+J1)/3 ; 11393 J3 = 3*I1-4*J2 ; 11394 S1++; 11395 S2++; 11396 } 11397 } 11398 if ((3*I1+1)%4 == 0) { 11399 I3 = (3*I1+1)/4 ; 11400 J3 = I1-(I2)-(I3) ; 11401 S1++; 11402 J3 = -I1-2*(I2)+2*I3 ; 11403 S2++; 11404 } 11405 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 11406 J3 = -I1-2*(I2)+2*I3 ; 11407 S2++; 11408 } 11409 } 11410 if (I1%4 == 0) { 11411 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 11412 J3 = I1-(I2)-(I3) ; 11413 S1++; 11414 } 11415 if (3*I1%4 == 0) { 11416 I3 = 3*I1/4 ; 11417 J1 = -2*I1+3*I3 ; 11418 if ((2*I1+J1)%3 == 0) { 11419 J2 = (2*I1+J1)/3 ; 11420 J3 = 3*I1-4*J2 ; 11421 S1++; 11422 S2++; 11423 } 11424 } 11425 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 11426 J3 = -I1-2*(I2)+2*I3 ; 11427 S2++; 11428 } 11429 } 11430 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) { 11431 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 11432 J3 = I1-(I2)-(I3) ; 11433 S1++; 11434 } 11435 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 11436 J3 = -I1-2*(I2)+2*I3 ; 11437 S2++; 11438 } 11439 } 11440 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 11441 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 11442 J3 = I1-(I2)-(I3) ; 11443 S1++; 11444 } 11445 } 11446} 11447for (I1=ceild(21*N1,17);I1<=min(floord(6*N1+4,5),floord(4*N1-6,3));I1++) { 11448 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 11449 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 11450 J3 = -I1-2*(I2)+2*I3 ; 11451 S2++; 11452 } 11453 } 11454 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) { 11455 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 11456 J3 = -I1-2*(I2)+2*I3 ; 11457 S2++; 11458 } 11459 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 11460 J3 = I1-(I2)-(I3) ; 11461 S1++; 11462 } 11463 } 11464 for (I2=ceild(I1,9);I2<=floord(-2*I1+3*N1-1,3);I2++) { 11465 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 11466 J3 = -I1-2*(I2)+2*I3 ; 11467 S2++; 11468 } 11469 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 11470 J3 = I1-(I2)-(I3) ; 11471 S1++; 11472 J3 = -I1-2*(I2)+2*I3 ; 11473 S2++; 11474 } 11475 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 11476 J3 = I1-(I2)-(I3) ; 11477 S1++; 11478 } 11479 } 11480 if (I1%7 == 0) { 11481 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 11482 J3 = -I1-2*(I2)+2*I3 ; 11483 S2++; 11484 } 11485 if (5*I1%7 == 0) { 11486 I3 = 5*I1/7 ; 11487 J1 = -2*I1+3*I3 ; 11488 if ((2*I1+J1)%3 == 0) { 11489 J2 = (2*I1+J1)/3 ; 11490 J3 = 3*I1-4*J2 ; 11491 S1++; 11492 S2++; 11493 } 11494 } 11495 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) { 11496 J3 = I1-(I2)-(I3) ; 11497 S1++; 11498 J3 = -I1-2*(I2)+2*I3 ; 11499 S2++; 11500 } 11501 } 11502 for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) { 11503 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 11504 J3 = -I1-2*(I2)+2*I3 ; 11505 S2++; 11506 } 11507 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 11508 J3 = -I1-2*(I2)+2*I3 ; 11509 S2++; 11510 J3 = I1-(I2)-(I3) ; 11511 S1++; 11512 } 11513 if ((2*I1+I2)%3 == 0) { 11514 I3 = (2*I1+I2)/3 ; 11515 J1 = -2*I1+3*I3 ; 11516 if ((2*I1+J1)%3 == 0) { 11517 J2 = (2*I1+J1)/3 ; 11518 J3 = 3*I1-4*J2 ; 11519 S1++; 11520 S2++; 11521 } 11522 } 11523 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 11524 J3 = I1-(I2)-(I3) ; 11525 S1++; 11526 J3 = -I1-2*(I2)+2*I3 ; 11527 S2++; 11528 } 11529 } 11530 if (I1%6 == 0) { 11531 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 11532 J3 = -I1-2*(I2)+2*I3 ; 11533 S2++; 11534 J3 = I1-(I2)-(I3) ; 11535 S1++; 11536 } 11537 if (13*I1%18 == 0) { 11538 I3 = 13*I1/18 ; 11539 J1 = -2*I1+3*I3 ; 11540 if ((2*I1+J1)%3 == 0) { 11541 J2 = (2*I1+J1)/3 ; 11542 J3 = 3*I1-4*J2 ; 11543 S1++; 11544 S2++; 11545 } 11546 } 11547 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 11548 J3 = I1-(I2)-(I3) ; 11549 S1++; 11550 J3 = -I1-2*(I2)+2*I3 ; 11551 S2++; 11552 } 11553 } 11554 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) { 11555 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 11556 J3 = I1-(I2)-(I3) ; 11557 S1++; 11558 } 11559 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 11560 J3 = -I1-2*(I2)+2*I3 ; 11561 S2++; 11562 J3 = I1-(I2)-(I3) ; 11563 S1++; 11564 } 11565 if ((2*I1+I2)%3 == 0) { 11566 I3 = (2*I1+I2)/3 ; 11567 J1 = -2*I1+3*I3 ; 11568 if ((2*I1+J1)%3 == 0) { 11569 J2 = (2*I1+J1)/3 ; 11570 J3 = 3*I1-4*J2 ; 11571 S1++; 11572 S2++; 11573 } 11574 } 11575 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 11576 J3 = I1-(I2)-(I3) ; 11577 S1++; 11578 J3 = -I1-2*(I2)+2*I3 ; 11579 S2++; 11580 } 11581 } 11582 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) { 11583 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 11584 J3 = I1-(I2)-(I3) ; 11585 S1++; 11586 } 11587 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 11588 J3 = -I1-2*(I2)+2*I3 ; 11589 S2++; 11590 J3 = I1-(I2)-(I3) ; 11591 S1++; 11592 } 11593 if ((2*I1+I2)%3 == 0) { 11594 I3 = (2*I1+I2)/3 ; 11595 J1 = -2*I1+3*I3 ; 11596 if ((2*I1+J1)%3 == 0) { 11597 J2 = (2*I1+J1)/3 ; 11598 J3 = 3*I1-4*J2 ; 11599 S1++; 11600 S2++; 11601 } 11602 } 11603 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 11604 J3 = I1-(I2)-(I3) ; 11605 S1++; 11606 J3 = -I1-2*(I2)+2*I3 ; 11607 S2++; 11608 } 11609 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 11610 J3 = -I1-2*(I2)+2*I3 ; 11611 S2++; 11612 } 11613 } 11614 if ((I1-1)%4 == 0) { 11615 I2 = (I1-1)/4 ; 11616 for (I3=2*I2+1;I3<=3*I2;I3++) { 11617 J3 = I1-(I2)-(I3) ; 11618 S1++; 11619 } 11620 if ((9*I1-1)%12 == 0) { 11621 I3 = (9*I1-1)/12 ; 11622 J1 = -2*I1+3*I3 ; 11623 if ((2*I1+J1)%3 == 0) { 11624 J2 = (2*I1+J1)/3 ; 11625 J3 = 3*I1-4*J2 ; 11626 S1++; 11627 S2++; 11628 } 11629 } 11630 if ((3*I1+1)%4 == 0) { 11631 I3 = (3*I1+1)/4 ; 11632 J3 = I1-(I2)-(I3) ; 11633 S1++; 11634 J3 = -I1-2*(I2)+2*I3 ; 11635 S2++; 11636 } 11637 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 11638 J3 = -I1-2*(I2)+2*I3 ; 11639 S2++; 11640 } 11641 } 11642 if (I1%4 == 0) { 11643 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 11644 J3 = I1-(I2)-(I3) ; 11645 S1++; 11646 } 11647 if (3*I1%4 == 0) { 11648 I3 = 3*I1/4 ; 11649 J1 = -2*I1+3*I3 ; 11650 if ((2*I1+J1)%3 == 0) { 11651 J2 = (2*I1+J1)/3 ; 11652 J3 = 3*I1-4*J2 ; 11653 S1++; 11654 S2++; 11655 } 11656 } 11657 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 11658 J3 = -I1-2*(I2)+2*I3 ; 11659 S2++; 11660 } 11661 } 11662 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) { 11663 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 11664 J3 = I1-(I2)-(I3) ; 11665 S1++; 11666 } 11667 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 11668 J3 = -I1-2*(I2)+2*I3 ; 11669 S2++; 11670 } 11671 } 11672 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 11673 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 11674 J3 = I1-(I2)-(I3) ; 11675 S1++; 11676 } 11677 } 11678} 11679if ((N1 <= 18) && (N1 >= 17)) { 11680 if ((4*N1-5)%3 == 0) { 11681 I1 = (4*N1-5)/3 ; 11682 for (I2=1;I2<=floord(N1-8,6);I2++) { 11683 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 11684 J3 = -I1-2*(I2)+2*I3 ; 11685 S2++; 11686 } 11687 } 11688 for (I2=ceild(N1-5,6);I2<=floord(4*N1-8,27);I2++) { 11689 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 11690 J3 = -I1-2*(I2)+2*I3 ; 11691 S2++; 11692 } 11693 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 11694 J3 = I1-(I2)-(I3) ; 11695 S1++; 11696 } 11697 } 11698 for (I2=ceild(4*N1-5,27);I2<=floord(N1+7,9);I2++) { 11699 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 11700 J3 = -I1-2*(I2)+2*I3 ; 11701 S2++; 11702 } 11703 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 11704 J3 = I1-(I2)-(I3) ; 11705 S1++; 11706 J3 = -I1-2*(I2)+2*I3 ; 11707 S2++; 11708 } 11709 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 11710 J3 = I1-(I2)-(I3) ; 11711 S1++; 11712 } 11713 } 11714 if ((4*N1-5)%21 == 0) { 11715 I2 = (4*N1-5)/21 ; 11716 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 11717 J3 = -I1-2*(I2)+2*I3 ; 11718 S2++; 11719 } 11720 if (5*I1%7 == 0) { 11721 I3 = 5*I1/7 ; 11722 J1 = -2*I1+3*I3 ; 11723 if ((2*I1+J1)%3 == 0) { 11724 J2 = (2*I1+J1)/3 ; 11725 J3 = 3*I1-4*J2 ; 11726 S1++; 11727 S2++; 11728 } 11729 } 11730 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) { 11731 J3 = I1-(I2)-(I3) ; 11732 S1++; 11733 J3 = -I1-2*(I2)+2*I3 ; 11734 S2++; 11735 } 11736 } 11737 for (I2=ceild(4*N1-2,21);I2<=floord(4*N1-11,18);I2++) { 11738 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 11739 J3 = -I1-2*(I2)+2*I3 ; 11740 S2++; 11741 } 11742 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 11743 J3 = -I1-2*(I2)+2*I3 ; 11744 S2++; 11745 J3 = I1-(I2)-(I3) ; 11746 S1++; 11747 } 11748 if ((2*I1+I2)%3 == 0) { 11749 I3 = (2*I1+I2)/3 ; 11750 J1 = -2*I1+3*I3 ; 11751 if ((2*I1+J1)%3 == 0) { 11752 J2 = (2*I1+J1)/3 ; 11753 J3 = 3*I1-4*J2 ; 11754 S1++; 11755 S2++; 11756 } 11757 } 11758 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 11759 J3 = I1-(I2)-(I3) ; 11760 S1++; 11761 J3 = -I1-2*(I2)+2*I3 ; 11762 S2++; 11763 } 11764 } 11765 if ((4*N1-5)%18 == 0) { 11766 I2 = (4*N1-5)/18 ; 11767 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) { 11768 J3 = -I1-2*(I2)+2*I3 ; 11769 S2++; 11770 J3 = I1-(I2)-(I3) ; 11771 S1++; 11772 } 11773 if (13*I1%18 == 0) { 11774 I3 = 13*I1/18 ; 11775 J1 = -2*I1+3*I3 ; 11776 if ((2*I1+J1)%3 == 0) { 11777 J2 = (2*I1+J1)/3 ; 11778 J3 = 3*I1-4*J2 ; 11779 S1++; 11780 S2++; 11781 } 11782 } 11783 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) { 11784 J3 = I1-(I2)-(I3) ; 11785 S1++; 11786 J3 = -I1-2*(I2)+2*I3 ; 11787 S2++; 11788 } 11789 } 11790 for (I2=ceild(2*N1-1,9);I2<=floord(N1-5,3);I2++) { 11791 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 11792 J3 = I1-(I2)-(I3) ; 11793 S1++; 11794 } 11795 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 11796 J3 = -I1-2*(I2)+2*I3 ; 11797 S2++; 11798 J3 = I1-(I2)-(I3) ; 11799 S1++; 11800 } 11801 if ((2*I1+I2)%3 == 0) { 11802 I3 = (2*I1+I2)/3 ; 11803 J1 = -2*I1+3*I3 ; 11804 if ((2*I1+J1)%3 == 0) { 11805 J2 = (2*I1+J1)/3 ; 11806 J3 = 3*I1-4*J2 ; 11807 S1++; 11808 S2++; 11809 } 11810 } 11811 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 11812 J3 = I1-(I2)-(I3) ; 11813 S1++; 11814 J3 = -I1-2*(I2)+2*I3 ; 11815 S2++; 11816 } 11817 } 11818 if ((N1-2)%3 == 0) { 11819 I2 = (N1-2)/3 ; 11820 for (I3=2*I2+1;I3<=3*I2;I3++) { 11821 J3 = I1-(I2)-(I3) ; 11822 S1++; 11823 } 11824 if ((9*I1-1)%12 == 0) { 11825 I3 = (9*I1-1)/12 ; 11826 J1 = -2*I1+3*I3 ; 11827 if ((2*I1+J1)%3 == 0) { 11828 J2 = (2*I1+J1)/3 ; 11829 J3 = 3*I1-4*J2 ; 11830 S1++; 11831 S2++; 11832 } 11833 } 11834 if ((3*I1+1)%4 == 0) { 11835 I3 = (3*I1+1)/4 ; 11836 J3 = I1-(I2)-(I3) ; 11837 S1++; 11838 J3 = -I1-2*(I2)+2*I3 ; 11839 S2++; 11840 } 11841 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 11842 J3 = -I1-2*(I2)+2*I3 ; 11843 S2++; 11844 } 11845 } 11846 if ((4*N1-5)%12 == 0) { 11847 I2 = (4*N1-5)/12 ; 11848 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) { 11849 J3 = I1-(I2)-(I3) ; 11850 S1++; 11851 } 11852 if (3*I1%4 == 0) { 11853 I3 = 3*I1/4 ; 11854 J1 = -2*I1+3*I3 ; 11855 if ((2*I1+J1)%3 == 0) { 11856 J2 = (2*I1+J1)/3 ; 11857 J3 = 3*I1-4*J2 ; 11858 S1++; 11859 S2++; 11860 } 11861 } 11862 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) { 11863 J3 = -I1-2*(I2)+2*I3 ; 11864 S2++; 11865 } 11866 } 11867 for (I2=ceild(2*N1-1,6);I2<=floord(2*N1+5,6);I2++) { 11868 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 11869 J3 = I1-(I2)-(I3) ; 11870 S1++; 11871 } 11872 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 11873 J3 = -I1-2*(I2)+2*I3 ; 11874 S2++; 11875 } 11876 } 11877 for (I2=ceild(N1+4,3);I2<=N1;I2++) { 11878 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 11879 J3 = I1-(I2)-(I3) ; 11880 S1++; 11881 } 11882 } 11883 } 11884} 11885for (I1=max(ceild(21*N1-6,17),ceild(6*N1+5,5));I1<=floord(21*N1-1,17);I1++) { 11886 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 11887 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 11888 J3 = -I1-2*(I2)+2*I3 ; 11889 S2++; 11890 } 11891 } 11892 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) { 11893 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 11894 J3 = -I1-2*(I2)+2*I3 ; 11895 S2++; 11896 } 11897 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 11898 J3 = I1-(I2)-(I3) ; 11899 S1++; 11900 } 11901 } 11902 for (I2=ceild(I1,9);I2<=min(floord(I1-1,7),floord(-2*I1+3*N1-1,3));I2++) { 11903 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 11904 J3 = -I1-2*(I2)+2*I3 ; 11905 S2++; 11906 } 11907 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 11908 J3 = I1-(I2)-(I3) ; 11909 S1++; 11910 J3 = -I1-2*(I2)+2*I3 ; 11911 S2++; 11912 } 11913 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 11914 J3 = I1-(I2)-(I3) ; 11915 S1++; 11916 } 11917 } 11918 for (I2=max(ceild(I1+1,7),ceild(-2*I1+3*N1,3));I2<=floord(I1-2,6);I2++) { 11919 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 11920 J3 = -I1-2*(I2)+2*I3 ; 11921 S2++; 11922 } 11923 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 11924 J3 = -I1-2*(I2)+2*I3 ; 11925 S2++; 11926 J3 = I1-(I2)-(I3) ; 11927 S1++; 11928 } 11929 if ((2*I1+I2)%3 == 0) { 11930 I3 = (2*I1+I2)/3 ; 11931 J1 = -2*I1+3*I3 ; 11932 if ((2*I1+J1)%3 == 0) { 11933 J2 = (2*I1+J1)/3 ; 11934 J3 = 3*I1-4*J2 ; 11935 S1++; 11936 S2++; 11937 } 11938 } 11939 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 11940 J3 = I1-(I2)-(I3) ; 11941 S1++; 11942 J3 = -I1-2*(I2)+2*I3 ; 11943 S2++; 11944 } 11945 } 11946 if ((I1-1)%6 == 0) { 11947 I2 = (I1-1)/6 ; 11948 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 11949 J3 = -I1-2*(I2)+2*I3 ; 11950 S2++; 11951 J3 = I1-(I2)-(I3) ; 11952 S1++; 11953 } 11954 if ((13*I1-1)%18 == 0) { 11955 I3 = (13*I1-1)/18 ; 11956 J1 = -2*I1+3*I3 ; 11957 if ((2*I1+J1)%3 == 0) { 11958 J2 = (2*I1+J1)/3 ; 11959 J3 = 3*I1-4*J2 ; 11960 S1++; 11961 S2++; 11962 } 11963 } 11964 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) { 11965 J3 = I1-(I2)-(I3) ; 11966 S1++; 11967 J3 = -I1-2*(I2)+2*I3 ; 11968 S2++; 11969 } 11970 } 11971 if (I1%6 == 0) { 11972 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 11973 J3 = -I1-2*(I2)+2*I3 ; 11974 S2++; 11975 J3 = I1-(I2)-(I3) ; 11976 S1++; 11977 } 11978 if (13*I1%18 == 0) { 11979 I3 = 13*I1/18 ; 11980 J1 = -2*I1+3*I3 ; 11981 if ((2*I1+J1)%3 == 0) { 11982 J2 = (2*I1+J1)/3 ; 11983 J3 = 3*I1-4*J2 ; 11984 S1++; 11985 S2++; 11986 } 11987 } 11988 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 11989 J3 = I1-(I2)-(I3) ; 11990 S1++; 11991 J3 = -I1-2*(I2)+2*I3 ; 11992 S2++; 11993 } 11994 } 11995 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) { 11996 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 11997 J3 = I1-(I2)-(I3) ; 11998 S1++; 11999 } 12000 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 12001 J3 = -I1-2*(I2)+2*I3 ; 12002 S2++; 12003 J3 = I1-(I2)-(I3) ; 12004 S1++; 12005 } 12006 if ((2*I1+I2)%3 == 0) { 12007 I3 = (2*I1+I2)/3 ; 12008 J1 = -2*I1+3*I3 ; 12009 if ((2*I1+J1)%3 == 0) { 12010 J2 = (2*I1+J1)/3 ; 12011 J3 = 3*I1-4*J2 ; 12012 S1++; 12013 S2++; 12014 } 12015 } 12016 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 12017 J3 = I1-(I2)-(I3) ; 12018 S1++; 12019 J3 = -I1-2*(I2)+2*I3 ; 12020 S2++; 12021 } 12022 } 12023 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) { 12024 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 12025 J3 = I1-(I2)-(I3) ; 12026 S1++; 12027 } 12028 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 12029 J3 = -I1-2*(I2)+2*I3 ; 12030 S2++; 12031 J3 = I1-(I2)-(I3) ; 12032 S1++; 12033 } 12034 if ((2*I1+I2)%3 == 0) { 12035 I3 = (2*I1+I2)/3 ; 12036 J1 = -2*I1+3*I3 ; 12037 if ((2*I1+J1)%3 == 0) { 12038 J2 = (2*I1+J1)/3 ; 12039 J3 = 3*I1-4*J2 ; 12040 S1++; 12041 S2++; 12042 } 12043 } 12044 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 12045 J3 = I1-(I2)-(I3) ; 12046 S1++; 12047 J3 = -I1-2*(I2)+2*I3 ; 12048 S2++; 12049 } 12050 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 12051 J3 = -I1-2*(I2)+2*I3 ; 12052 S2++; 12053 } 12054 } 12055 if ((I1-1)%4 == 0) { 12056 I2 = (I1-1)/4 ; 12057 for (I3=2*I2+1;I3<=3*I2;I3++) { 12058 J3 = I1-(I2)-(I3) ; 12059 S1++; 12060 } 12061 if ((9*I1-1)%12 == 0) { 12062 I3 = (9*I1-1)/12 ; 12063 J1 = -2*I1+3*I3 ; 12064 if ((2*I1+J1)%3 == 0) { 12065 J2 = (2*I1+J1)/3 ; 12066 J3 = 3*I1-4*J2 ; 12067 S1++; 12068 S2++; 12069 } 12070 } 12071 if ((3*I1+1)%4 == 0) { 12072 I3 = (3*I1+1)/4 ; 12073 J3 = I1-(I2)-(I3) ; 12074 S1++; 12075 J3 = -I1-2*(I2)+2*I3 ; 12076 S2++; 12077 } 12078 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 12079 J3 = -I1-2*(I2)+2*I3 ; 12080 S2++; 12081 } 12082 } 12083 if (I1%4 == 0) { 12084 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 12085 J3 = I1-(I2)-(I3) ; 12086 S1++; 12087 } 12088 if (3*I1%4 == 0) { 12089 I3 = 3*I1/4 ; 12090 J1 = -2*I1+3*I3 ; 12091 if ((2*I1+J1)%3 == 0) { 12092 J2 = (2*I1+J1)/3 ; 12093 J3 = 3*I1-4*J2 ; 12094 S1++; 12095 S2++; 12096 } 12097 } 12098 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 12099 J3 = -I1-2*(I2)+2*I3 ; 12100 S2++; 12101 } 12102 } 12103 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) { 12104 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 12105 J3 = I1-(I2)-(I3) ; 12106 S1++; 12107 } 12108 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 12109 J3 = -I1-2*(I2)+2*I3 ; 12110 S2++; 12111 } 12112 } 12113 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 12114 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 12115 J3 = I1-(I2)-(I3) ; 12116 S1++; 12117 } 12118 } 12119} 12120if ((N1 >= 18) && (N1 <= 19)) { 12121 if ((4*N1-4)%3 == 0) { 12122 I1 = (4*N1-4)/3 ; 12123 for (I2=1;I2<=floord(N1-7,6);I2++) { 12124 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 12125 J3 = -I1-2*(I2)+2*I3 ; 12126 S2++; 12127 } 12128 } 12129 for (I2=ceild(N1-4,6);I2<=floord(4*N1-7,27);I2++) { 12130 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 12131 J3 = -I1-2*(I2)+2*I3 ; 12132 S2++; 12133 } 12134 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 12135 J3 = I1-(I2)-(I3) ; 12136 S1++; 12137 } 12138 } 12139 for (I2=ceild(4*N1-4,27);I2<=floord(N1+5,9);I2++) { 12140 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 12141 J3 = -I1-2*(I2)+2*I3 ; 12142 S2++; 12143 } 12144 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 12145 J3 = I1-(I2)-(I3) ; 12146 S1++; 12147 J3 = -I1-2*(I2)+2*I3 ; 12148 S2++; 12149 } 12150 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 12151 J3 = I1-(I2)-(I3) ; 12152 S1++; 12153 } 12154 } 12155 for (I2=ceild(N1+8,9);I2<=floord(4*N1-7,21);I2++) { 12156 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 12157 J3 = -I1-2*(I2)+2*I3 ; 12158 S2++; 12159 } 12160 for (I3=I1-2*I2;I3<=N1;I3++) { 12161 J3 = I1-(I2)-(I3) ; 12162 S1++; 12163 J3 = -I1-2*(I2)+2*I3 ; 12164 S2++; 12165 } 12166 } 12167 if ((4*N1-4)%21 == 0) { 12168 I2 = (4*N1-4)/21 ; 12169 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 12170 J3 = -I1-2*(I2)+2*I3 ; 12171 S2++; 12172 } 12173 if (5*I1%7 == 0) { 12174 I3 = 5*I1/7 ; 12175 J1 = -2*I1+3*I3 ; 12176 if ((2*I1+J1)%3 == 0) { 12177 J2 = (2*I1+J1)/3 ; 12178 J3 = 3*I1-4*J2 ; 12179 S1++; 12180 S2++; 12181 } 12182 } 12183 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) { 12184 J3 = I1-(I2)-(I3) ; 12185 S1++; 12186 J3 = -I1-2*(I2)+2*I3 ; 12187 S2++; 12188 } 12189 } 12190 for (I2=ceild(4*N1-1,21);I2<=floord(2*N1-5,9);I2++) { 12191 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 12192 J3 = -I1-2*(I2)+2*I3 ; 12193 S2++; 12194 } 12195 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 12196 J3 = -I1-2*(I2)+2*I3 ; 12197 S2++; 12198 J3 = I1-(I2)-(I3) ; 12199 S1++; 12200 } 12201 if ((2*I1+I2)%3 == 0) { 12202 I3 = (2*I1+I2)/3 ; 12203 J1 = -2*I1+3*I3 ; 12204 if ((2*I1+J1)%3 == 0) { 12205 J2 = (2*I1+J1)/3 ; 12206 J3 = 3*I1-4*J2 ; 12207 S1++; 12208 S2++; 12209 } 12210 } 12211 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 12212 J3 = I1-(I2)-(I3) ; 12213 S1++; 12214 J3 = -I1-2*(I2)+2*I3 ; 12215 S2++; 12216 } 12217 } 12218 if ((4*N1-7)%18 == 0) { 12219 I2 = (4*N1-7)/18 ; 12220 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 12221 J3 = -I1-2*(I2)+2*I3 ; 12222 S2++; 12223 J3 = I1-(I2)-(I3) ; 12224 S1++; 12225 } 12226 if ((13*I1-1)%18 == 0) { 12227 I3 = (13*I1-1)/18 ; 12228 J1 = -2*I1+3*I3 ; 12229 if ((2*I1+J1)%3 == 0) { 12230 J2 = (2*I1+J1)/3 ; 12231 J3 = 3*I1-4*J2 ; 12232 S1++; 12233 S2++; 12234 } 12235 } 12236 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) { 12237 J3 = I1-(I2)-(I3) ; 12238 S1++; 12239 J3 = -I1-2*(I2)+2*I3 ; 12240 S2++; 12241 } 12242 } 12243 if ((2*N1-2)%9 == 0) { 12244 I2 = (2*N1-2)/9 ; 12245 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) { 12246 J3 = -I1-2*(I2)+2*I3 ; 12247 S2++; 12248 J3 = I1-(I2)-(I3) ; 12249 S1++; 12250 } 12251 if (13*I1%18 == 0) { 12252 I3 = 13*I1/18 ; 12253 J1 = -2*I1+3*I3 ; 12254 if ((2*I1+J1)%3 == 0) { 12255 J2 = (2*I1+J1)/3 ; 12256 J3 = 3*I1-4*J2 ; 12257 S1++; 12258 S2++; 12259 } 12260 } 12261 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) { 12262 J3 = I1-(I2)-(I3) ; 12263 S1++; 12264 J3 = -I1-2*(I2)+2*I3 ; 12265 S2++; 12266 } 12267 } 12268 for (I2=ceild(4*N1-1,18);I2<=floord(N1-4,3);I2++) { 12269 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 12270 J3 = I1-(I2)-(I3) ; 12271 S1++; 12272 } 12273 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 12274 J3 = -I1-2*(I2)+2*I3 ; 12275 S2++; 12276 J3 = I1-(I2)-(I3) ; 12277 S1++; 12278 } 12279 if ((2*I1+I2)%3 == 0) { 12280 I3 = (2*I1+I2)/3 ; 12281 J1 = -2*I1+3*I3 ; 12282 if ((2*I1+J1)%3 == 0) { 12283 J2 = (2*I1+J1)/3 ; 12284 J3 = 3*I1-4*J2 ; 12285 S1++; 12286 S2++; 12287 } 12288 } 12289 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 12290 J3 = I1-(I2)-(I3) ; 12291 S1++; 12292 J3 = -I1-2*(I2)+2*I3 ; 12293 S2++; 12294 } 12295 } 12296 if ((N1-1)%3 == 0) { 12297 I2 = (N1-1)/3 ; 12298 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) { 12299 J3 = I1-(I2)-(I3) ; 12300 S1++; 12301 } 12302 if (3*I1%4 == 0) { 12303 I3 = 3*I1/4 ; 12304 J1 = -2*I1+3*I3 ; 12305 if ((2*I1+J1)%3 == 0) { 12306 J2 = (2*I1+J1)/3 ; 12307 J3 = 3*I1-4*J2 ; 12308 S1++; 12309 S2++; 12310 } 12311 } 12312 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) { 12313 J3 = -I1-2*(I2)+2*I3 ; 12314 S2++; 12315 } 12316 } 12317 for (I2=ceild(4*N1-1,12);I2<=floord(N1+2,3);I2++) { 12318 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 12319 J3 = I1-(I2)-(I3) ; 12320 S1++; 12321 } 12322 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 12323 J3 = -I1-2*(I2)+2*I3 ; 12324 S2++; 12325 } 12326 } 12327 for (I2=ceild(2*N1+7,6);I2<=N1;I2++) { 12328 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 12329 J3 = I1-(I2)-(I3) ; 12330 S1++; 12331 } 12332 } 12333 } 12334} 12335for (I1=max(ceild(21*N1,17),ceild(6*N1+5,5));I1<=floord(21*N1+2,17);I1++) { 12336 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 12337 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 12338 J3 = -I1-2*(I2)+2*I3 ; 12339 S2++; 12340 } 12341 } 12342 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) { 12343 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 12344 J3 = -I1-2*(I2)+2*I3 ; 12345 S2++; 12346 } 12347 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 12348 J3 = I1-(I2)-(I3) ; 12349 S1++; 12350 } 12351 } 12352 for (I2=ceild(I1,9);I2<=floord(-2*I1+3*N1-1,3);I2++) { 12353 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 12354 J3 = -I1-2*(I2)+2*I3 ; 12355 S2++; 12356 } 12357 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 12358 J3 = I1-(I2)-(I3) ; 12359 S1++; 12360 J3 = -I1-2*(I2)+2*I3 ; 12361 S2++; 12362 } 12363 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 12364 J3 = I1-(I2)-(I3) ; 12365 S1++; 12366 } 12367 } 12368 if (I1%7 == 0) { 12369 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 12370 J3 = -I1-2*(I2)+2*I3 ; 12371 S2++; 12372 } 12373 if (5*I1%7 == 0) { 12374 I3 = 5*I1/7 ; 12375 J1 = -2*I1+3*I3 ; 12376 if ((2*I1+J1)%3 == 0) { 12377 J2 = (2*I1+J1)/3 ; 12378 J3 = 3*I1-4*J2 ; 12379 S1++; 12380 S2++; 12381 } 12382 } 12383 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) { 12384 J3 = I1-(I2)-(I3) ; 12385 S1++; 12386 J3 = -I1-2*(I2)+2*I3 ; 12387 S2++; 12388 } 12389 } 12390 for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) { 12391 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 12392 J3 = -I1-2*(I2)+2*I3 ; 12393 S2++; 12394 } 12395 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 12396 J3 = -I1-2*(I2)+2*I3 ; 12397 S2++; 12398 J3 = I1-(I2)-(I3) ; 12399 S1++; 12400 } 12401 if ((2*I1+I2)%3 == 0) { 12402 I3 = (2*I1+I2)/3 ; 12403 J1 = -2*I1+3*I3 ; 12404 if ((2*I1+J1)%3 == 0) { 12405 J2 = (2*I1+J1)/3 ; 12406 J3 = 3*I1-4*J2 ; 12407 S1++; 12408 S2++; 12409 } 12410 } 12411 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 12412 J3 = I1-(I2)-(I3) ; 12413 S1++; 12414 J3 = -I1-2*(I2)+2*I3 ; 12415 S2++; 12416 } 12417 } 12418 if ((I1-1)%6 == 0) { 12419 I2 = (I1-1)/6 ; 12420 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 12421 J3 = -I1-2*(I2)+2*I3 ; 12422 S2++; 12423 J3 = I1-(I2)-(I3) ; 12424 S1++; 12425 } 12426 if ((13*I1-1)%18 == 0) { 12427 I3 = (13*I1-1)/18 ; 12428 J1 = -2*I1+3*I3 ; 12429 if ((2*I1+J1)%3 == 0) { 12430 J2 = (2*I1+J1)/3 ; 12431 J3 = 3*I1-4*J2 ; 12432 S1++; 12433 S2++; 12434 } 12435 } 12436 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) { 12437 J3 = I1-(I2)-(I3) ; 12438 S1++; 12439 J3 = -I1-2*(I2)+2*I3 ; 12440 S2++; 12441 } 12442 } 12443 if (I1%6 == 0) { 12444 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 12445 J3 = -I1-2*(I2)+2*I3 ; 12446 S2++; 12447 J3 = I1-(I2)-(I3) ; 12448 S1++; 12449 } 12450 if (13*I1%18 == 0) { 12451 I3 = 13*I1/18 ; 12452 J1 = -2*I1+3*I3 ; 12453 if ((2*I1+J1)%3 == 0) { 12454 J2 = (2*I1+J1)/3 ; 12455 J3 = 3*I1-4*J2 ; 12456 S1++; 12457 S2++; 12458 } 12459 } 12460 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 12461 J3 = I1-(I2)-(I3) ; 12462 S1++; 12463 J3 = -I1-2*(I2)+2*I3 ; 12464 S2++; 12465 } 12466 } 12467 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) { 12468 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 12469 J3 = I1-(I2)-(I3) ; 12470 S1++; 12471 } 12472 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 12473 J3 = -I1-2*(I2)+2*I3 ; 12474 S2++; 12475 J3 = I1-(I2)-(I3) ; 12476 S1++; 12477 } 12478 if ((2*I1+I2)%3 == 0) { 12479 I3 = (2*I1+I2)/3 ; 12480 J1 = -2*I1+3*I3 ; 12481 if ((2*I1+J1)%3 == 0) { 12482 J2 = (2*I1+J1)/3 ; 12483 J3 = 3*I1-4*J2 ; 12484 S1++; 12485 S2++; 12486 } 12487 } 12488 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 12489 J3 = I1-(I2)-(I3) ; 12490 S1++; 12491 J3 = -I1-2*(I2)+2*I3 ; 12492 S2++; 12493 } 12494 } 12495 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) { 12496 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 12497 J3 = I1-(I2)-(I3) ; 12498 S1++; 12499 } 12500 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 12501 J3 = -I1-2*(I2)+2*I3 ; 12502 S2++; 12503 J3 = I1-(I2)-(I3) ; 12504 S1++; 12505 } 12506 if ((2*I1+I2)%3 == 0) { 12507 I3 = (2*I1+I2)/3 ; 12508 J1 = -2*I1+3*I3 ; 12509 if ((2*I1+J1)%3 == 0) { 12510 J2 = (2*I1+J1)/3 ; 12511 J3 = 3*I1-4*J2 ; 12512 S1++; 12513 S2++; 12514 } 12515 } 12516 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 12517 J3 = I1-(I2)-(I3) ; 12518 S1++; 12519 J3 = -I1-2*(I2)+2*I3 ; 12520 S2++; 12521 } 12522 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 12523 J3 = -I1-2*(I2)+2*I3 ; 12524 S2++; 12525 } 12526 } 12527 if ((I1-1)%4 == 0) { 12528 I2 = (I1-1)/4 ; 12529 for (I3=2*I2+1;I3<=3*I2;I3++) { 12530 J3 = I1-(I2)-(I3) ; 12531 S1++; 12532 } 12533 if ((9*I1-1)%12 == 0) { 12534 I3 = (9*I1-1)/12 ; 12535 J1 = -2*I1+3*I3 ; 12536 if ((2*I1+J1)%3 == 0) { 12537 J2 = (2*I1+J1)/3 ; 12538 J3 = 3*I1-4*J2 ; 12539 S1++; 12540 S2++; 12541 } 12542 } 12543 if ((3*I1+1)%4 == 0) { 12544 I3 = (3*I1+1)/4 ; 12545 J3 = I1-(I2)-(I3) ; 12546 S1++; 12547 J3 = -I1-2*(I2)+2*I3 ; 12548 S2++; 12549 } 12550 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 12551 J3 = -I1-2*(I2)+2*I3 ; 12552 S2++; 12553 } 12554 } 12555 if (I1%4 == 0) { 12556 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 12557 J3 = I1-(I2)-(I3) ; 12558 S1++; 12559 } 12560 if (3*I1%4 == 0) { 12561 I3 = 3*I1/4 ; 12562 J1 = -2*I1+3*I3 ; 12563 if ((2*I1+J1)%3 == 0) { 12564 J2 = (2*I1+J1)/3 ; 12565 J3 = 3*I1-4*J2 ; 12566 S1++; 12567 S2++; 12568 } 12569 } 12570 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 12571 J3 = -I1-2*(I2)+2*I3 ; 12572 S2++; 12573 } 12574 } 12575 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) { 12576 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 12577 J3 = I1-(I2)-(I3) ; 12578 S1++; 12579 } 12580 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 12581 J3 = -I1-2*(I2)+2*I3 ; 12582 S2++; 12583 } 12584 } 12585 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 12586 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 12587 J3 = I1-(I2)-(I3) ; 12588 S1++; 12589 } 12590 } 12591} 12592for (I1=max(ceild(21*N1+3,17),ceild(6*N1+5,5));I1<=min(floord(9*N1-3,7),floord(4*N1-6,3));I1++) { 12593 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 12594 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 12595 J3 = -I1-2*(I2)+2*I3 ; 12596 S2++; 12597 } 12598 } 12599 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) { 12600 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 12601 J3 = -I1-2*(I2)+2*I3 ; 12602 S2++; 12603 } 12604 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 12605 J3 = I1-(I2)-(I3) ; 12606 S1++; 12607 } 12608 } 12609 for (I2=ceild(I1,9);I2<=floord(-2*I1+3*N1-1,3);I2++) { 12610 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 12611 J3 = -I1-2*(I2)+2*I3 ; 12612 S2++; 12613 } 12614 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 12615 J3 = I1-(I2)-(I3) ; 12616 S1++; 12617 J3 = -I1-2*(I2)+2*I3 ; 12618 S2++; 12619 } 12620 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 12621 J3 = I1-(I2)-(I3) ; 12622 S1++; 12623 } 12624 } 12625 for (I2=ceild(-2*I1+3*N1,3);I2<=floord(I1-1,7);I2++) { 12626 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 12627 J3 = -I1-2*(I2)+2*I3 ; 12628 S2++; 12629 } 12630 for (I3=I1-2*I2;I3<=N1;I3++) { 12631 J3 = I1-(I2)-(I3) ; 12632 S1++; 12633 J3 = -I1-2*(I2)+2*I3 ; 12634 S2++; 12635 } 12636 } 12637 if (I1%7 == 0) { 12638 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 12639 J3 = -I1-2*(I2)+2*I3 ; 12640 S2++; 12641 } 12642 if (5*I1%7 == 0) { 12643 I3 = 5*I1/7 ; 12644 J1 = -2*I1+3*I3 ; 12645 if ((2*I1+J1)%3 == 0) { 12646 J2 = (2*I1+J1)/3 ; 12647 J3 = 3*I1-4*J2 ; 12648 S1++; 12649 S2++; 12650 } 12651 } 12652 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) { 12653 J3 = I1-(I2)-(I3) ; 12654 S1++; 12655 J3 = -I1-2*(I2)+2*I3 ; 12656 S2++; 12657 } 12658 } 12659 for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) { 12660 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 12661 J3 = -I1-2*(I2)+2*I3 ; 12662 S2++; 12663 } 12664 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 12665 J3 = -I1-2*(I2)+2*I3 ; 12666 S2++; 12667 J3 = I1-(I2)-(I3) ; 12668 S1++; 12669 } 12670 if ((2*I1+I2)%3 == 0) { 12671 I3 = (2*I1+I2)/3 ; 12672 J1 = -2*I1+3*I3 ; 12673 if ((2*I1+J1)%3 == 0) { 12674 J2 = (2*I1+J1)/3 ; 12675 J3 = 3*I1-4*J2 ; 12676 S1++; 12677 S2++; 12678 } 12679 } 12680 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 12681 J3 = I1-(I2)-(I3) ; 12682 S1++; 12683 J3 = -I1-2*(I2)+2*I3 ; 12684 S2++; 12685 } 12686 } 12687 if ((I1-1)%6 == 0) { 12688 I2 = (I1-1)/6 ; 12689 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 12690 J3 = -I1-2*(I2)+2*I3 ; 12691 S2++; 12692 J3 = I1-(I2)-(I3) ; 12693 S1++; 12694 } 12695 if ((13*I1-1)%18 == 0) { 12696 I3 = (13*I1-1)/18 ; 12697 J1 = -2*I1+3*I3 ; 12698 if ((2*I1+J1)%3 == 0) { 12699 J2 = (2*I1+J1)/3 ; 12700 J3 = 3*I1-4*J2 ; 12701 S1++; 12702 S2++; 12703 } 12704 } 12705 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) { 12706 J3 = I1-(I2)-(I3) ; 12707 S1++; 12708 J3 = -I1-2*(I2)+2*I3 ; 12709 S2++; 12710 } 12711 } 12712 if (I1%6 == 0) { 12713 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 12714 J3 = -I1-2*(I2)+2*I3 ; 12715 S2++; 12716 J3 = I1-(I2)-(I3) ; 12717 S1++; 12718 } 12719 if (13*I1%18 == 0) { 12720 I3 = 13*I1/18 ; 12721 J1 = -2*I1+3*I3 ; 12722 if ((2*I1+J1)%3 == 0) { 12723 J2 = (2*I1+J1)/3 ; 12724 J3 = 3*I1-4*J2 ; 12725 S1++; 12726 S2++; 12727 } 12728 } 12729 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 12730 J3 = I1-(I2)-(I3) ; 12731 S1++; 12732 J3 = -I1-2*(I2)+2*I3 ; 12733 S2++; 12734 } 12735 } 12736 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) { 12737 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 12738 J3 = I1-(I2)-(I3) ; 12739 S1++; 12740 } 12741 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 12742 J3 = -I1-2*(I2)+2*I3 ; 12743 S2++; 12744 J3 = I1-(I2)-(I3) ; 12745 S1++; 12746 } 12747 if ((2*I1+I2)%3 == 0) { 12748 I3 = (2*I1+I2)/3 ; 12749 J1 = -2*I1+3*I3 ; 12750 if ((2*I1+J1)%3 == 0) { 12751 J2 = (2*I1+J1)/3 ; 12752 J3 = 3*I1-4*J2 ; 12753 S1++; 12754 S2++; 12755 } 12756 } 12757 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 12758 J3 = I1-(I2)-(I3) ; 12759 S1++; 12760 J3 = -I1-2*(I2)+2*I3 ; 12761 S2++; 12762 } 12763 } 12764 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) { 12765 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 12766 J3 = I1-(I2)-(I3) ; 12767 S1++; 12768 } 12769 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 12770 J3 = -I1-2*(I2)+2*I3 ; 12771 S2++; 12772 J3 = I1-(I2)-(I3) ; 12773 S1++; 12774 } 12775 if ((2*I1+I2)%3 == 0) { 12776 I3 = (2*I1+I2)/3 ; 12777 J1 = -2*I1+3*I3 ; 12778 if ((2*I1+J1)%3 == 0) { 12779 J2 = (2*I1+J1)/3 ; 12780 J3 = 3*I1-4*J2 ; 12781 S1++; 12782 S2++; 12783 } 12784 } 12785 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 12786 J3 = I1-(I2)-(I3) ; 12787 S1++; 12788 J3 = -I1-2*(I2)+2*I3 ; 12789 S2++; 12790 } 12791 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 12792 J3 = -I1-2*(I2)+2*I3 ; 12793 S2++; 12794 } 12795 } 12796 if ((I1-1)%4 == 0) { 12797 I2 = (I1-1)/4 ; 12798 for (I3=2*I2+1;I3<=3*I2;I3++) { 12799 J3 = I1-(I2)-(I3) ; 12800 S1++; 12801 } 12802 if ((9*I1-1)%12 == 0) { 12803 I3 = (9*I1-1)/12 ; 12804 J1 = -2*I1+3*I3 ; 12805 if ((2*I1+J1)%3 == 0) { 12806 J2 = (2*I1+J1)/3 ; 12807 J3 = 3*I1-4*J2 ; 12808 S1++; 12809 S2++; 12810 } 12811 } 12812 if ((3*I1+1)%4 == 0) { 12813 I3 = (3*I1+1)/4 ; 12814 J3 = I1-(I2)-(I3) ; 12815 S1++; 12816 J3 = -I1-2*(I2)+2*I3 ; 12817 S2++; 12818 } 12819 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 12820 J3 = -I1-2*(I2)+2*I3 ; 12821 S2++; 12822 } 12823 } 12824 if (I1%4 == 0) { 12825 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 12826 J3 = I1-(I2)-(I3) ; 12827 S1++; 12828 } 12829 if (3*I1%4 == 0) { 12830 I3 = 3*I1/4 ; 12831 J1 = -2*I1+3*I3 ; 12832 if ((2*I1+J1)%3 == 0) { 12833 J2 = (2*I1+J1)/3 ; 12834 J3 = 3*I1-4*J2 ; 12835 S1++; 12836 S2++; 12837 } 12838 } 12839 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 12840 J3 = -I1-2*(I2)+2*I3 ; 12841 S2++; 12842 } 12843 } 12844 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) { 12845 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 12846 J3 = I1-(I2)-(I3) ; 12847 S1++; 12848 } 12849 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 12850 J3 = -I1-2*(I2)+2*I3 ; 12851 S2++; 12852 } 12853 } 12854 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 12855 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 12856 J3 = I1-(I2)-(I3) ; 12857 S1++; 12858 } 12859 } 12860} 12861if ((N1 >= 20) && (N1 <= 26)) { 12862 if ((4*N1-5)%3 == 0) { 12863 I1 = (4*N1-5)/3 ; 12864 for (I2=1;I2<=floord(N1-8,6);I2++) { 12865 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 12866 J3 = -I1-2*(I2)+2*I3 ; 12867 S2++; 12868 } 12869 } 12870 for (I2=ceild(N1-5,6);I2<=floord(4*N1-8,27);I2++) { 12871 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 12872 J3 = -I1-2*(I2)+2*I3 ; 12873 S2++; 12874 } 12875 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 12876 J3 = I1-(I2)-(I3) ; 12877 S1++; 12878 } 12879 } 12880 for (I2=ceild(4*N1-5,27);I2<=floord(N1+7,9);I2++) { 12881 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 12882 J3 = -I1-2*(I2)+2*I3 ; 12883 S2++; 12884 } 12885 for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) { 12886 J3 = I1-(I2)-(I3) ; 12887 S1++; 12888 J3 = -I1-2*(I2)+2*I3 ; 12889 S2++; 12890 } 12891 for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) { 12892 J3 = I1-(I2)-(I3) ; 12893 S1++; 12894 } 12895 } 12896 for (I2=ceild(N1+10,9);I2<=floord(4*N1-8,21);I2++) { 12897 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 12898 J3 = -I1-2*(I2)+2*I3 ; 12899 S2++; 12900 } 12901 for (I3=I1-2*I2;I3<=N1;I3++) { 12902 J3 = I1-(I2)-(I3) ; 12903 S1++; 12904 J3 = -I1-2*(I2)+2*I3 ; 12905 S2++; 12906 } 12907 } 12908 if ((4*N1-5)%21 == 0) { 12909 I2 = (4*N1-5)/21 ; 12910 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 12911 J3 = -I1-2*(I2)+2*I3 ; 12912 S2++; 12913 } 12914 if (5*I1%7 == 0) { 12915 I3 = 5*I1/7 ; 12916 J1 = -2*I1+3*I3 ; 12917 if ((2*I1+J1)%3 == 0) { 12918 J2 = (2*I1+J1)/3 ; 12919 J3 = 3*I1-4*J2 ; 12920 S1++; 12921 S2++; 12922 } 12923 } 12924 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) { 12925 J3 = I1-(I2)-(I3) ; 12926 S1++; 12927 J3 = -I1-2*(I2)+2*I3 ; 12928 S2++; 12929 } 12930 } 12931 for (I2=ceild(4*N1-2,21);I2<=floord(4*N1-11,18);I2++) { 12932 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 12933 J3 = -I1-2*(I2)+2*I3 ; 12934 S2++; 12935 } 12936 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 12937 J3 = -I1-2*(I2)+2*I3 ; 12938 S2++; 12939 J3 = I1-(I2)-(I3) ; 12940 S1++; 12941 } 12942 if ((2*I1+I2)%3 == 0) { 12943 I3 = (2*I1+I2)/3 ; 12944 J1 = -2*I1+3*I3 ; 12945 if ((2*I1+J1)%3 == 0) { 12946 J2 = (2*I1+J1)/3 ; 12947 J3 = 3*I1-4*J2 ; 12948 S1++; 12949 S2++; 12950 } 12951 } 12952 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 12953 J3 = I1-(I2)-(I3) ; 12954 S1++; 12955 J3 = -I1-2*(I2)+2*I3 ; 12956 S2++; 12957 } 12958 } 12959 if ((2*N1-4)%9 == 0) { 12960 I2 = (2*N1-4)/9 ; 12961 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 12962 J3 = -I1-2*(I2)+2*I3 ; 12963 S2++; 12964 J3 = I1-(I2)-(I3) ; 12965 S1++; 12966 } 12967 if ((13*I1-1)%18 == 0) { 12968 I3 = (13*I1-1)/18 ; 12969 J1 = -2*I1+3*I3 ; 12970 if ((2*I1+J1)%3 == 0) { 12971 J2 = (2*I1+J1)/3 ; 12972 J3 = 3*I1-4*J2 ; 12973 S1++; 12974 S2++; 12975 } 12976 } 12977 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) { 12978 J3 = I1-(I2)-(I3) ; 12979 S1++; 12980 J3 = -I1-2*(I2)+2*I3 ; 12981 S2++; 12982 } 12983 } 12984 if ((4*N1-5)%18 == 0) { 12985 I2 = (4*N1-5)/18 ; 12986 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) { 12987 J3 = -I1-2*(I2)+2*I3 ; 12988 S2++; 12989 J3 = I1-(I2)-(I3) ; 12990 S1++; 12991 } 12992 if (13*I1%18 == 0) { 12993 I3 = 13*I1/18 ; 12994 J1 = -2*I1+3*I3 ; 12995 if ((2*I1+J1)%3 == 0) { 12996 J2 = (2*I1+J1)/3 ; 12997 J3 = 3*I1-4*J2 ; 12998 S1++; 12999 S2++; 13000 } 13001 } 13002 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) { 13003 J3 = I1-(I2)-(I3) ; 13004 S1++; 13005 J3 = -I1-2*(I2)+2*I3 ; 13006 S2++; 13007 } 13008 } 13009 for (I2=ceild(2*N1-1,9);I2<=floord(N1-5,3);I2++) { 13010 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 13011 J3 = I1-(I2)-(I3) ; 13012 S1++; 13013 } 13014 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 13015 J3 = -I1-2*(I2)+2*I3 ; 13016 S2++; 13017 J3 = I1-(I2)-(I3) ; 13018 S1++; 13019 } 13020 if ((2*I1+I2)%3 == 0) { 13021 I3 = (2*I1+I2)/3 ; 13022 J1 = -2*I1+3*I3 ; 13023 if ((2*I1+J1)%3 == 0) { 13024 J2 = (2*I1+J1)/3 ; 13025 J3 = 3*I1-4*J2 ; 13026 S1++; 13027 S2++; 13028 } 13029 } 13030 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 13031 J3 = I1-(I2)-(I3) ; 13032 S1++; 13033 J3 = -I1-2*(I2)+2*I3 ; 13034 S2++; 13035 } 13036 } 13037 if ((N1-2)%3 == 0) { 13038 I2 = (N1-2)/3 ; 13039 for (I3=2*I2+1;I3<=3*I2;I3++) { 13040 J3 = I1-(I2)-(I3) ; 13041 S1++; 13042 } 13043 if ((9*I1-1)%12 == 0) { 13044 I3 = (9*I1-1)/12 ; 13045 J1 = -2*I1+3*I3 ; 13046 if ((2*I1+J1)%3 == 0) { 13047 J2 = (2*I1+J1)/3 ; 13048 J3 = 3*I1-4*J2 ; 13049 S1++; 13050 S2++; 13051 } 13052 } 13053 if ((3*I1+1)%4 == 0) { 13054 I3 = (3*I1+1)/4 ; 13055 J3 = I1-(I2)-(I3) ; 13056 S1++; 13057 J3 = -I1-2*(I2)+2*I3 ; 13058 S2++; 13059 } 13060 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 13061 J3 = -I1-2*(I2)+2*I3 ; 13062 S2++; 13063 } 13064 } 13065 if ((4*N1-5)%12 == 0) { 13066 I2 = (4*N1-5)/12 ; 13067 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) { 13068 J3 = I1-(I2)-(I3) ; 13069 S1++; 13070 } 13071 if (3*I1%4 == 0) { 13072 I3 = 3*I1/4 ; 13073 J1 = -2*I1+3*I3 ; 13074 if ((2*I1+J1)%3 == 0) { 13075 J2 = (2*I1+J1)/3 ; 13076 J3 = 3*I1-4*J2 ; 13077 S1++; 13078 S2++; 13079 } 13080 } 13081 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) { 13082 J3 = -I1-2*(I2)+2*I3 ; 13083 S2++; 13084 } 13085 } 13086 for (I2=ceild(2*N1-1,6);I2<=floord(2*N1+5,6);I2++) { 13087 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 13088 J3 = I1-(I2)-(I3) ; 13089 S1++; 13090 } 13091 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 13092 J3 = -I1-2*(I2)+2*I3 ; 13093 S2++; 13094 } 13095 } 13096 for (I2=ceild(N1+4,3);I2<=N1;I2++) { 13097 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 13098 J3 = I1-(I2)-(I3) ; 13099 S1++; 13100 } 13101 } 13102 } 13103} 13104if (N1 >= 36) { 13105 if ((9*N1-2)%7 == 0) { 13106 I1 = (9*N1-2)/7 ; 13107 for (I2=1;I2<=floord(2*N1-9,14);I2++) { 13108 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 13109 J3 = -I1-2*(I2)+2*I3 ; 13110 S2++; 13111 } 13112 } 13113 if ((N1-1)%7 == 0) { 13114 I2 = (N1-1)/7 ; 13115 for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) { 13116 J3 = -I1-2*(I2)+2*I3 ; 13117 S2++; 13118 } 13119 for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) { 13120 J3 = I1-(I2)-(I3) ; 13121 S1++; 13122 } 13123 } 13124 for (I2=ceild(3*N1+4,21);I2<=floord(9*N1-9,49);I2++) { 13125 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 13126 J3 = -I1-2*(I2)+2*I3 ; 13127 S2++; 13128 } 13129 for (I3=I1-2*I2;I3<=N1;I3++) { 13130 J3 = I1-(I2)-(I3) ; 13131 S1++; 13132 J3 = -I1-2*(I2)+2*I3 ; 13133 S2++; 13134 } 13135 } 13136 if ((9*N1-2)%49 == 0) { 13137 I2 = (9*N1-2)/49 ; 13138 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 13139 J3 = -I1-2*(I2)+2*I3 ; 13140 S2++; 13141 } 13142 if (5*I1%7 == 0) { 13143 I3 = 5*I1/7 ; 13144 J1 = -2*I1+3*I3 ; 13145 if ((2*I1+J1)%3 == 0) { 13146 J2 = (2*I1+J1)/3 ; 13147 J3 = 3*I1-4*J2 ; 13148 S1++; 13149 S2++; 13150 } 13151 } 13152 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) { 13153 J3 = I1-(I2)-(I3) ; 13154 S1++; 13155 J3 = -I1-2*(I2)+2*I3 ; 13156 S2++; 13157 } 13158 } 13159 for (I2=ceild(9*N1+5,49);I2<=floord(9*N1-16,42);I2++) { 13160 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 13161 J3 = -I1-2*(I2)+2*I3 ; 13162 S2++; 13163 } 13164 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 13165 J3 = -I1-2*(I2)+2*I3 ; 13166 S2++; 13167 J3 = I1-(I2)-(I3) ; 13168 S1++; 13169 } 13170 if ((2*I1+I2)%3 == 0) { 13171 I3 = (2*I1+I2)/3 ; 13172 J1 = -2*I1+3*I3 ; 13173 if ((2*I1+J1)%3 == 0) { 13174 J2 = (2*I1+J1)/3 ; 13175 J3 = 3*I1-4*J2 ; 13176 S1++; 13177 S2++; 13178 } 13179 } 13180 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 13181 J3 = I1-(I2)-(I3) ; 13182 S1++; 13183 J3 = -I1-2*(I2)+2*I3 ; 13184 S2++; 13185 } 13186 } 13187 if ((3*N1-3)%14 == 0) { 13188 I2 = (3*N1-3)/14 ; 13189 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 13190 J3 = -I1-2*(I2)+2*I3 ; 13191 S2++; 13192 J3 = I1-(I2)-(I3) ; 13193 S1++; 13194 } 13195 if ((13*I1-1)%18 == 0) { 13196 I3 = (13*I1-1)/18 ; 13197 J1 = -2*I1+3*I3 ; 13198 if ((2*I1+J1)%3 == 0) { 13199 J2 = (2*I1+J1)/3 ; 13200 J3 = 3*I1-4*J2 ; 13201 S1++; 13202 S2++; 13203 } 13204 } 13205 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) { 13206 J3 = I1-(I2)-(I3) ; 13207 S1++; 13208 J3 = -I1-2*(I2)+2*I3 ; 13209 S2++; 13210 } 13211 } 13212 if ((9*N1-2)%42 == 0) { 13213 I2 = (9*N1-2)/42 ; 13214 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) { 13215 J3 = -I1-2*(I2)+2*I3 ; 13216 S2++; 13217 J3 = I1-(I2)-(I3) ; 13218 S1++; 13219 } 13220 if (13*I1%18 == 0) { 13221 I3 = 13*I1/18 ; 13222 J1 = -2*I1+3*I3 ; 13223 if ((2*I1+J1)%3 == 0) { 13224 J2 = (2*I1+J1)/3 ; 13225 J3 = 3*I1-4*J2 ; 13226 S1++; 13227 S2++; 13228 } 13229 } 13230 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) { 13231 J3 = I1-(I2)-(I3) ; 13232 S1++; 13233 J3 = -I1-2*(I2)+2*I3 ; 13234 S2++; 13235 } 13236 } 13237 for (I2=ceild(9*N1+5,42);I2<=floord(2*N1-2,7);I2++) { 13238 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 13239 J3 = I1-(I2)-(I3) ; 13240 S1++; 13241 } 13242 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 13243 J3 = -I1-2*(I2)+2*I3 ; 13244 S2++; 13245 J3 = I1-(I2)-(I3) ; 13246 S1++; 13247 } 13248 if ((2*I1+I2)%3 == 0) { 13249 I3 = (2*I1+I2)/3 ; 13250 J1 = -2*I1+3*I3 ; 13251 if ((2*I1+J1)%3 == 0) { 13252 J2 = (2*I1+J1)/3 ; 13253 J3 = 3*I1-4*J2 ; 13254 S1++; 13255 S2++; 13256 } 13257 } 13258 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 13259 J3 = I1-(I2)-(I3) ; 13260 S1++; 13261 J3 = -I1-2*(I2)+2*I3 ; 13262 S2++; 13263 } 13264 } 13265 for (I2=ceild(2*N1+5,7);I2<=floord(9*N1-16,28);I2++) { 13266 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 13267 J3 = I1-(I2)-(I3) ; 13268 S1++; 13269 } 13270 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 13271 J3 = -I1-2*(I2)+2*I3 ; 13272 S2++; 13273 J3 = I1-(I2)-(I3) ; 13274 S1++; 13275 } 13276 if ((2*I1+I2)%3 == 0) { 13277 I3 = (2*I1+I2)/3 ; 13278 J1 = -2*I1+3*I3 ; 13279 if ((2*I1+J1)%3 == 0) { 13280 J2 = (2*I1+J1)/3 ; 13281 J3 = 3*I1-4*J2 ; 13282 S1++; 13283 S2++; 13284 } 13285 } 13286 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 13287 J3 = I1-(I2)-(I3) ; 13288 S1++; 13289 J3 = -I1-2*(I2)+2*I3 ; 13290 S2++; 13291 } 13292 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 13293 J3 = -I1-2*(I2)+2*I3 ; 13294 S2++; 13295 } 13296 } 13297 if ((9*N1-9)%28 == 0) { 13298 I2 = (9*N1-9)/28 ; 13299 for (I3=2*I2+1;I3<=3*I2;I3++) { 13300 J3 = I1-(I2)-(I3) ; 13301 S1++; 13302 } 13303 if ((9*I1-1)%12 == 0) { 13304 I3 = (9*I1-1)/12 ; 13305 J1 = -2*I1+3*I3 ; 13306 if ((2*I1+J1)%3 == 0) { 13307 J2 = (2*I1+J1)/3 ; 13308 J3 = 3*I1-4*J2 ; 13309 S1++; 13310 S2++; 13311 } 13312 } 13313 if ((3*I1+1)%4 == 0) { 13314 I3 = (3*I1+1)/4 ; 13315 J3 = I1-(I2)-(I3) ; 13316 S1++; 13317 J3 = -I1-2*(I2)+2*I3 ; 13318 S2++; 13319 } 13320 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 13321 J3 = -I1-2*(I2)+2*I3 ; 13322 S2++; 13323 } 13324 } 13325 if ((9*N1-2)%28 == 0) { 13326 I2 = (9*N1-2)/28 ; 13327 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) { 13328 J3 = I1-(I2)-(I3) ; 13329 S1++; 13330 } 13331 if (3*I1%4 == 0) { 13332 I3 = 3*I1/4 ; 13333 J1 = -2*I1+3*I3 ; 13334 if ((2*I1+J1)%3 == 0) { 13335 J2 = (2*I1+J1)/3 ; 13336 J3 = 3*I1-4*J2 ; 13337 S1++; 13338 S2++; 13339 } 13340 } 13341 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) { 13342 J3 = -I1-2*(I2)+2*I3 ; 13343 S2++; 13344 } 13345 } 13346 for (I2=ceild(9*N1+5,28);I2<=floord(5*N1+2,14);I2++) { 13347 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 13348 J3 = I1-(I2)-(I3) ; 13349 S1++; 13350 } 13351 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 13352 J3 = -I1-2*(I2)+2*I3 ; 13353 S2++; 13354 } 13355 } 13356 for (I2=ceild(5*N1+9,14);I2<=N1;I2++) { 13357 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 13358 J3 = I1-(I2)-(I3) ; 13359 S1++; 13360 } 13361 } 13362 } 13363} 13364if (N1 == 29) { 13365 for (I2=1;I2<=3;I2++) { 13366 for (I3=ceild(37+2*I2,2);I3<=min(N1,floord(2*37+3*I2,3));I3++) { 13367 J3 = -(37)-2*(I2)+2*I3 ; 13368 S2++; 13369 } 13370 } 13371 for (I3=ceild(37+2*4,2);I3<=min(37-2*(4)-1,floord(2*37+3*4,3));I3++) { 13372 J3 = -(37)-2*(I2)+2*I3 ; 13373 S2++; 13374 } 13375 for (I3=37-2*(4);I3<=min(N1,37-(4));I3++) { 13376 J3 = 37-(I2)-(I3) ; 13377 S1++; 13378 } 13379 for (I3=ceild(37+2*5,2);I3<=37-2*(5)-1;I3++) { 13380 J3 = -(37)-2*(I2)+2*I3 ; 13381 S2++; 13382 } 13383 for (I3=37-2*(5);I3<=N1;I3++) { 13384 J3 = 37-(I2)-(I3) ; 13385 S1++; 13386 J3 = -(37)-2*(I2)+2*I3 ; 13387 S2++; 13388 } 13389 if (37%7 == 0) { 13390 for (I3=ceild(9*37/7,2);I3<=5*37/7-1;I3++) { 13391 J3 = -(37)-2*(I2)+2*I3 ; 13392 S2++; 13393 } 13394 if (5*37%7 == 0) { 13395 I3 = 5*37/7 ; 13396 J1 = -2*(37)+3*I3 ; 13397 if ((2*37+J1)%3 == 0) { 13398 J2 = (2*37+J1)/3 ; 13399 J3 = 3*37-4*J2 ; 13400 S1++; 13401 S2++; 13402 } 13403 } 13404 for (I3=ceild(15*37/7+1,3);I3<=N1;I3++) { 13405 J3 = 37-(I2)-(I3) ; 13406 S1++; 13407 J3 = -(37)-2*(I2)+2*I3 ; 13408 S2++; 13409 } 13410 } 13411 for (I2=6;I2<=5;I2++) { 13412 for (I3=ceild(37+2*I2,2);I3<=37-2*I2-1;I3++) { 13413 J3 = -(37)-2*(I2)+2*I3 ; 13414 S2++; 13415 } 13416 for (I3=37-2*I2;I3<=floord(2*37+I2-1,3);I3++) { 13417 J3 = -(37)-2*(I2)+2*I3 ; 13418 S2++; 13419 J3 = 37-(I2)-(I3) ; 13420 S1++; 13421 } 13422 if ((2*37+I2)%3 == 0) { 13423 I3 = (2*37+I2)/3 ; 13424 J1 = -2*(37)+3*I3 ; 13425 if ((2*37+J1)%3 == 0) { 13426 J2 = (2*37+J1)/3 ; 13427 J3 = 3*37-4*J2 ; 13428 S1++; 13429 S2++; 13430 } 13431 } 13432 for (I3=ceild(2*37+I2+1,3);I3<=N1;I3++) { 13433 J3 = 37-(I2)-(I3) ; 13434 S1++; 13435 J3 = -(37)-2*(I2)+2*I3 ; 13436 S2++; 13437 } 13438 } 13439 for (I3=4*6+1;I3<=floord(13*6+1,3);I3++) { 13440 J3 = -(37)-2*(I2)+2*I3 ; 13441 S2++; 13442 J3 = 37-(I2)-(I3) ; 13443 S1++; 13444 } 13445 if ((13*37-1)%18 == 0) { 13446 I3 = (13*37-1)/18 ; 13447 J1 = -2*(37)+3*I3 ; 13448 if ((2*37+J1)%3 == 0) { 13449 J2 = (2*37+J1)/3 ; 13450 J3 = 3*37-4*J2 ; 13451 S1++; 13452 S2++; 13453 } 13454 } 13455 for (I3=ceild(13*6+3,3);I3<=N1;I3++) { 13456 J3 = 37-(I2)-(I3) ; 13457 S1++; 13458 J3 = -(37)-2*(I2)+2*I3 ; 13459 S2++; 13460 } 13461 if (37%6 == 0) { 13462 for (I3=4*37/6;I3<=floord(13*37/6-1,3);I3++) { 13463 J3 = -(37)-2*(I2)+2*I3 ; 13464 S2++; 13465 J3 = 37-(I2)-(I3) ; 13466 S1++; 13467 } 13468 if (13*37%18 == 0) { 13469 I3 = 13*37/18 ; 13470 J1 = -2*(37)+3*I3 ; 13471 if ((2*37+J1)%3 == 0) { 13472 J2 = (2*37+J1)/3 ; 13473 J3 = 3*37-4*J2 ; 13474 S1++; 13475 S2++; 13476 } 13477 } 13478 for (I3=ceild(13*37/6+1,3);I3<=min(N1,5*37/6);I3++) { 13479 J3 = 37-(I2)-(I3) ; 13480 S1++; 13481 J3 = -(37)-2*(I2)+2*I3 ; 13482 S2++; 13483 } 13484 } 13485 for (I2=7;I2<=8;I2++) { 13486 for (I3=37-2*I2;I3<=floord(37+2*I2-1,2);I3++) { 13487 J3 = 37-(I2)-(I3) ; 13488 S1++; 13489 } 13490 for (I3=ceild(37+2*I2,2);I3<=floord(2*37+I2-1,3);I3++) { 13491 J3 = -(37)-2*(I2)+2*I3 ; 13492 S2++; 13493 J3 = 37-(I2)-(I3) ; 13494 S1++; 13495 } 13496 if ((2*37+I2)%3 == 0) { 13497 I3 = (2*37+I2)/3 ; 13498 J1 = -2*(37)+3*I3 ; 13499 if ((2*37+J1)%3 == 0) { 13500 J2 = (2*37+J1)/3 ; 13501 J3 = 3*37-4*J2 ; 13502 S1++; 13503 S2++; 13504 } 13505 } 13506 for (I3=ceild(2*37+I2+1,3);I3<=N1;I3++) { 13507 J3 = 37-(I2)-(I3) ; 13508 S1++; 13509 J3 = -(37)-2*(I2)+2*I3 ; 13510 S2++; 13511 } 13512 } 13513 for (I3=2*9+1;I3<=3*9;I3++) { 13514 J3 = 37-(I2)-(I3) ; 13515 S1++; 13516 } 13517 if ((9*37-1)%12 == 0) { 13518 I3 = (9*37-1)/12 ; 13519 J1 = -2*(37)+3*I3 ; 13520 if ((2*37+J1)%3 == 0) { 13521 J2 = (2*37+J1)/3 ; 13522 J3 = 3*37-4*J2 ; 13523 S1++; 13524 S2++; 13525 } 13526 } 13527 if ((3*37+1)%4 == 0) { 13528 I3 = (3*37+1)/4 ; 13529 J3 = 37-(I2)-(I3) ; 13530 S1++; 13531 J3 = -(37)-2*(I2)+2*I3 ; 13532 S2++; 13533 } 13534 for (I3=3*9+2;I3<=min(N1,floord(11*9+2,3));I3++) { 13535 J3 = -(37)-2*(I2)+2*I3 ; 13536 S2++; 13537 } 13538 if (37%4 == 0) { 13539 for (I3=2*37/4;I3<=floord(6*37/4-1,2);I3++) { 13540 J3 = 37-(I2)-(I3) ; 13541 S1++; 13542 } 13543 if (3*37%4 == 0) { 13544 I3 = 3*37/4 ; 13545 J1 = -2*(37)+3*I3 ; 13546 if ((2*37+J1)%3 == 0) { 13547 J2 = (2*37+J1)/3 ; 13548 J3 = 3*37-4*J2 ; 13549 S1++; 13550 S2++; 13551 } 13552 } 13553 for (I3=3*37/4+1;I3<=min(N1,floord(11*37/4,3));I3++) { 13554 J3 = -(37)-2*(I2)+2*I3 ; 13555 S2++; 13556 } 13557 } 13558 for (I3=max(max(1,ceild(37-(10),2)),37-2*(10));I3<=37-(10);I3++) { 13559 J3 = 37-(I2)-(I3) ; 13560 S1++; 13561 } 13562 for (I3=max(37-(10)+1,ceild(37+2*10,2));I3<=min(N1,floord(2*37+3*10,3));I3++) { 13563 J3 = -(37)-2*(I2)+2*I3 ; 13564 S2++; 13565 } 13566 for (I2=11;I2<=29;I2++) { 13567 for (I3=max(max(ceild(37-I2,2),37-2*I2),1);I3<=min(37-I2,N1);I3++) { 13568 J3 = 37-(I2)-(I3) ; 13569 S1++; 13570 } 13571 } 13572} 13573if (N1 == 22) { 13574 for (I2=1;I2<=2;I2++) { 13575 for (I3=ceild(28+2*I2,2);I3<=min(N1,floord(2*28+3*I2,3));I3++) { 13576 J3 = -(28)-2*(I2)+2*I3 ; 13577 S2++; 13578 } 13579 } 13580 for (I3=ceild(28+2*3,2);I3<=min(28-2*(3)-1,floord(2*28+3*3,3));I3++) { 13581 J3 = -(28)-2*(I2)+2*I3 ; 13582 S2++; 13583 } 13584 for (I3=28-2*(3);I3<=min(N1,28-(3));I3++) { 13585 J3 = 28-(I2)-(I3) ; 13586 S1++; 13587 } 13588 for (I2=4;I2<=3;I2++) { 13589 for (I3=ceild(28+2*I2,2);I3<=28-2*I2-1;I3++) { 13590 J3 = -(28)-2*(I2)+2*I3 ; 13591 S2++; 13592 } 13593 for (I3=28-2*I2;I3<=N1;I3++) { 13594 J3 = 28-(I2)-(I3) ; 13595 S1++; 13596 J3 = -(28)-2*(I2)+2*I3 ; 13597 S2++; 13598 } 13599 } 13600 for (I3=ceild(9*4,2);I3<=5*4-1;I3++) { 13601 J3 = -(28)-2*(I2)+2*I3 ; 13602 S2++; 13603 } 13604 if (5*28%7 == 0) { 13605 I3 = 5*28/7 ; 13606 J1 = -2*(28)+3*I3 ; 13607 if ((2*28+J1)%3 == 0) { 13608 J2 = (2*28+J1)/3 ; 13609 J3 = 3*28-4*J2 ; 13610 S1++; 13611 S2++; 13612 } 13613 } 13614 for (I3=ceild(15*4+1,3);I3<=N1;I3++) { 13615 J3 = 28-(I2)-(I3) ; 13616 S1++; 13617 J3 = -(28)-2*(I2)+2*I3 ; 13618 S2++; 13619 } 13620 for (I2=5;I2<=4;I2++) { 13621 for (I3=ceild(28+2*I2,2);I3<=28-2*I2-1;I3++) { 13622 J3 = -(28)-2*(I2)+2*I3 ; 13623 S2++; 13624 } 13625 for (I3=28-2*I2;I3<=floord(2*28+I2-1,3);I3++) { 13626 J3 = -(28)-2*(I2)+2*I3 ; 13627 S2++; 13628 J3 = 28-(I2)-(I3) ; 13629 S1++; 13630 } 13631 if ((2*28+I2)%3 == 0) { 13632 I3 = (2*28+I2)/3 ; 13633 J1 = -2*(28)+3*I3 ; 13634 if ((2*28+J1)%3 == 0) { 13635 J2 = (2*28+J1)/3 ; 13636 J3 = 3*28-4*J2 ; 13637 S1++; 13638 S2++; 13639 } 13640 } 13641 for (I3=ceild(2*28+I2+1,3);I3<=N1;I3++) { 13642 J3 = 28-(I2)-(I3) ; 13643 S1++; 13644 J3 = -(28)-2*(I2)+2*I3 ; 13645 S2++; 13646 } 13647 } 13648 if (9%2 == 0) { 13649 for (I3=4*9/2+1;I3<=floord(13*9/2+1,3);I3++) { 13650 J3 = -(28)-2*(I2)+2*I3 ; 13651 S2++; 13652 J3 = 28-(I2)-(I3) ; 13653 S1++; 13654 } 13655 if ((13*28-1)%18 == 0) { 13656 I3 = (13*28-1)/18 ; 13657 J1 = -2*(28)+3*I3 ; 13658 if ((2*28+J1)%3 == 0) { 13659 J2 = (2*28+J1)/3 ; 13660 J3 = 3*28-4*J2 ; 13661 S1++; 13662 S2++; 13663 } 13664 } 13665 for (I3=ceild(13*9/2+3,3);I3<=N1;I3++) { 13666 J3 = 28-(I2)-(I3) ; 13667 S1++; 13668 J3 = -(28)-2*(I2)+2*I3 ; 13669 S2++; 13670 } 13671 } 13672 if (14%3 == 0) { 13673 for (I3=4*14/3;I3<=floord(13*14/3-1,3);I3++) { 13674 J3 = -(28)-2*(I2)+2*I3 ; 13675 S2++; 13676 J3 = 28-(I2)-(I3) ; 13677 S1++; 13678 } 13679 if (13*28%18 == 0) { 13680 I3 = 13*28/18 ; 13681 J1 = -2*(28)+3*I3 ; 13682 if ((2*28+J1)%3 == 0) { 13683 J2 = (2*28+J1)/3 ; 13684 J3 = 3*28-4*J2 ; 13685 S1++; 13686 S2++; 13687 } 13688 } 13689 for (I3=ceild(13*14/3+1,3);I3<=min(N1,5*14/3);I3++) { 13690 J3 = 28-(I2)-(I3) ; 13691 S1++; 13692 J3 = -(28)-2*(I2)+2*I3 ; 13693 S2++; 13694 } 13695 } 13696 for (I2=5;I2<=6;I2++) { 13697 for (I3=28-2*I2;I3<=floord(28+2*I2-1,2);I3++) { 13698 J3 = 28-(I2)-(I3) ; 13699 S1++; 13700 } 13701 for (I3=ceild(28+2*I2,2);I3<=floord(2*28+I2-1,3);I3++) { 13702 J3 = -(28)-2*(I2)+2*I3 ; 13703 S2++; 13704 J3 = 28-(I2)-(I3) ; 13705 S1++; 13706 } 13707 if ((2*28+I2)%3 == 0) { 13708 I3 = (2*28+I2)/3 ; 13709 J1 = -2*(28)+3*I3 ; 13710 if ((2*28+J1)%3 == 0) { 13711 J2 = (2*28+J1)/3 ; 13712 J3 = 3*28-4*J2 ; 13713 S1++; 13714 S2++; 13715 } 13716 } 13717 for (I3=ceild(2*28+I2+1,3);I3<=N1;I3++) { 13718 J3 = 28-(I2)-(I3) ; 13719 S1++; 13720 J3 = -(28)-2*(I2)+2*I3 ; 13721 S2++; 13722 } 13723 } 13724 for (I3=2*7;I3<=floord(6*7-1,2);I3++) { 13725 J3 = 28-(I2)-(I3) ; 13726 S1++; 13727 } 13728 if (3*28%4 == 0) { 13729 I3 = 3*28/4 ; 13730 J1 = -2*(28)+3*I3 ; 13731 if ((2*28+J1)%3 == 0) { 13732 J2 = (2*28+J1)/3 ; 13733 J3 = 3*28-4*J2 ; 13734 S1++; 13735 S2++; 13736 } 13737 } 13738 for (I3=3*7+1;I3<=min(N1,floord(11*7,3));I3++) { 13739 J3 = -(28)-2*(I2)+2*I3 ; 13740 S2++; 13741 } 13742 for (I3=max(max(1,ceild(28-(8),2)),28-2*(8));I3<=28-(8);I3++) { 13743 J3 = 28-(I2)-(I3) ; 13744 S1++; 13745 } 13746 for (I3=max(28-(8)+1,ceild(28+2*8,2));I3<=min(N1,floord(2*28+3*8,3));I3++) { 13747 J3 = -(28)-2*(I2)+2*I3 ; 13748 S2++; 13749 } 13750 for (I2=9;I2<=22;I2++) { 13751 for (I3=max(max(ceild(28-I2,2),28-2*I2),1);I3<=min(28-I2,N1);I3++) { 13752 J3 = 28-(I2)-(I3) ; 13753 S1++; 13754 } 13755 } 13756} 13757for (I1=ceild(9*N1-1,7);I1<=floord(4*N1-6,3);I1++) { 13758 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 13759 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 13760 J3 = -I1-2*(I2)+2*I3 ; 13761 S2++; 13762 } 13763 } 13764 for (I2=max(ceild(I1-N1,2),ceild(-2*I1+3*N1,3));I2<=floord(I1-1,7);I2++) { 13765 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 13766 J3 = -I1-2*(I2)+2*I3 ; 13767 S2++; 13768 } 13769 for (I3=I1-2*I2;I3<=N1;I3++) { 13770 J3 = I1-(I2)-(I3) ; 13771 S1++; 13772 J3 = -I1-2*(I2)+2*I3 ; 13773 S2++; 13774 } 13775 } 13776 if (I1%7 == 0) { 13777 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 13778 J3 = -I1-2*(I2)+2*I3 ; 13779 S2++; 13780 } 13781 if (5*I1%7 == 0) { 13782 I3 = 5*I1/7 ; 13783 J1 = -2*I1+3*I3 ; 13784 if ((2*I1+J1)%3 == 0) { 13785 J2 = (2*I1+J1)/3 ; 13786 J3 = 3*I1-4*J2 ; 13787 S1++; 13788 S2++; 13789 } 13790 } 13791 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) { 13792 J3 = I1-(I2)-(I3) ; 13793 S1++; 13794 J3 = -I1-2*(I2)+2*I3 ; 13795 S2++; 13796 } 13797 } 13798 for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) { 13799 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 13800 J3 = -I1-2*(I2)+2*I3 ; 13801 S2++; 13802 } 13803 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 13804 J3 = -I1-2*(I2)+2*I3 ; 13805 S2++; 13806 J3 = I1-(I2)-(I3) ; 13807 S1++; 13808 } 13809 if ((2*I1+I2)%3 == 0) { 13810 I3 = (2*I1+I2)/3 ; 13811 J1 = -2*I1+3*I3 ; 13812 if ((2*I1+J1)%3 == 0) { 13813 J2 = (2*I1+J1)/3 ; 13814 J3 = 3*I1-4*J2 ; 13815 S1++; 13816 S2++; 13817 } 13818 } 13819 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 13820 J3 = I1-(I2)-(I3) ; 13821 S1++; 13822 J3 = -I1-2*(I2)+2*I3 ; 13823 S2++; 13824 } 13825 } 13826 if ((I1-1)%6 == 0) { 13827 I2 = (I1-1)/6 ; 13828 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 13829 J3 = -I1-2*(I2)+2*I3 ; 13830 S2++; 13831 J3 = I1-(I2)-(I3) ; 13832 S1++; 13833 } 13834 if ((13*I1-1)%18 == 0) { 13835 I3 = (13*I1-1)/18 ; 13836 J1 = -2*I1+3*I3 ; 13837 if ((2*I1+J1)%3 == 0) { 13838 J2 = (2*I1+J1)/3 ; 13839 J3 = 3*I1-4*J2 ; 13840 S1++; 13841 S2++; 13842 } 13843 } 13844 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) { 13845 J3 = I1-(I2)-(I3) ; 13846 S1++; 13847 J3 = -I1-2*(I2)+2*I3 ; 13848 S2++; 13849 } 13850 } 13851 if (I1%6 == 0) { 13852 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 13853 J3 = -I1-2*(I2)+2*I3 ; 13854 S2++; 13855 J3 = I1-(I2)-(I3) ; 13856 S1++; 13857 } 13858 if (13*I1%18 == 0) { 13859 I3 = 13*I1/18 ; 13860 J1 = -2*I1+3*I3 ; 13861 if ((2*I1+J1)%3 == 0) { 13862 J2 = (2*I1+J1)/3 ; 13863 J3 = 3*I1-4*J2 ; 13864 S1++; 13865 S2++; 13866 } 13867 } 13868 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 13869 J3 = I1-(I2)-(I3) ; 13870 S1++; 13871 J3 = -I1-2*(I2)+2*I3 ; 13872 S2++; 13873 } 13874 } 13875 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) { 13876 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 13877 J3 = I1-(I2)-(I3) ; 13878 S1++; 13879 } 13880 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 13881 J3 = -I1-2*(I2)+2*I3 ; 13882 S2++; 13883 J3 = I1-(I2)-(I3) ; 13884 S1++; 13885 } 13886 if ((2*I1+I2)%3 == 0) { 13887 I3 = (2*I1+I2)/3 ; 13888 J1 = -2*I1+3*I3 ; 13889 if ((2*I1+J1)%3 == 0) { 13890 J2 = (2*I1+J1)/3 ; 13891 J3 = 3*I1-4*J2 ; 13892 S1++; 13893 S2++; 13894 } 13895 } 13896 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 13897 J3 = I1-(I2)-(I3) ; 13898 S1++; 13899 J3 = -I1-2*(I2)+2*I3 ; 13900 S2++; 13901 } 13902 } 13903 for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) { 13904 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 13905 J3 = I1-(I2)-(I3) ; 13906 S1++; 13907 } 13908 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 13909 J3 = -I1-2*(I2)+2*I3 ; 13910 S2++; 13911 J3 = I1-(I2)-(I3) ; 13912 S1++; 13913 } 13914 if ((2*I1+I2)%3 == 0) { 13915 I3 = (2*I1+I2)/3 ; 13916 J1 = -2*I1+3*I3 ; 13917 if ((2*I1+J1)%3 == 0) { 13918 J2 = (2*I1+J1)/3 ; 13919 J3 = 3*I1-4*J2 ; 13920 S1++; 13921 S2++; 13922 } 13923 } 13924 for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) { 13925 J3 = I1-(I2)-(I3) ; 13926 S1++; 13927 J3 = -I1-2*(I2)+2*I3 ; 13928 S2++; 13929 } 13930 for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 13931 J3 = -I1-2*(I2)+2*I3 ; 13932 S2++; 13933 } 13934 } 13935 if ((I1-1)%4 == 0) { 13936 I2 = (I1-1)/4 ; 13937 for (I3=2*I2+1;I3<=3*I2;I3++) { 13938 J3 = I1-(I2)-(I3) ; 13939 S1++; 13940 } 13941 if ((9*I1-1)%12 == 0) { 13942 I3 = (9*I1-1)/12 ; 13943 J1 = -2*I1+3*I3 ; 13944 if ((2*I1+J1)%3 == 0) { 13945 J2 = (2*I1+J1)/3 ; 13946 J3 = 3*I1-4*J2 ; 13947 S1++; 13948 S2++; 13949 } 13950 } 13951 if ((3*I1+1)%4 == 0) { 13952 I3 = (3*I1+1)/4 ; 13953 J3 = I1-(I2)-(I3) ; 13954 S1++; 13955 J3 = -I1-2*(I2)+2*I3 ; 13956 S2++; 13957 } 13958 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 13959 J3 = -I1-2*(I2)+2*I3 ; 13960 S2++; 13961 } 13962 } 13963 if (I1%4 == 0) { 13964 for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) { 13965 J3 = I1-(I2)-(I3) ; 13966 S1++; 13967 } 13968 if (3*I1%4 == 0) { 13969 I3 = 3*I1/4 ; 13970 J1 = -2*I1+3*I3 ; 13971 if ((2*I1+J1)%3 == 0) { 13972 J2 = (2*I1+J1)/3 ; 13973 J3 = 3*I1-4*J2 ; 13974 S1++; 13975 S2++; 13976 } 13977 } 13978 for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) { 13979 J3 = -I1-2*(I2)+2*I3 ; 13980 S2++; 13981 } 13982 } 13983 for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) { 13984 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 13985 J3 = I1-(I2)-(I3) ; 13986 S1++; 13987 } 13988 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 13989 J3 = -I1-2*(I2)+2*I3 ; 13990 S2++; 13991 } 13992 } 13993 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 13994 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 13995 J3 = I1-(I2)-(I3) ; 13996 S1++; 13997 } 13998 } 13999} 14000if (N1 >= 32) { 14001 if ((4*N1-5)%3 == 0) { 14002 I1 = (4*N1-5)/3 ; 14003 for (I2=1;I2<=floord(N1-8,6);I2++) { 14004 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 14005 J3 = -I1-2*(I2)+2*I3 ; 14006 S2++; 14007 } 14008 } 14009 for (I2=max(ceild(N1-5,6),ceild(N1+10,9));I2<=floord(4*N1-8,21);I2++) { 14010 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 14011 J3 = -I1-2*(I2)+2*I3 ; 14012 S2++; 14013 } 14014 for (I3=I1-2*I2;I3<=N1;I3++) { 14015 J3 = I1-(I2)-(I3) ; 14016 S1++; 14017 J3 = -I1-2*(I2)+2*I3 ; 14018 S2++; 14019 } 14020 } 14021 if ((4*N1-5)%21 == 0) { 14022 I2 = (4*N1-5)/21 ; 14023 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 14024 J3 = -I1-2*(I2)+2*I3 ; 14025 S2++; 14026 } 14027 if (5*I1%7 == 0) { 14028 I3 = 5*I1/7 ; 14029 J1 = -2*I1+3*I3 ; 14030 if ((2*I1+J1)%3 == 0) { 14031 J2 = (2*I1+J1)/3 ; 14032 J3 = 3*I1-4*J2 ; 14033 S1++; 14034 S2++; 14035 } 14036 } 14037 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) { 14038 J3 = I1-(I2)-(I3) ; 14039 S1++; 14040 J3 = -I1-2*(I2)+2*I3 ; 14041 S2++; 14042 } 14043 } 14044 for (I2=ceild(4*N1-2,21);I2<=floord(4*N1-11,18);I2++) { 14045 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 14046 J3 = -I1-2*(I2)+2*I3 ; 14047 S2++; 14048 } 14049 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 14050 J3 = -I1-2*(I2)+2*I3 ; 14051 S2++; 14052 J3 = I1-(I2)-(I3) ; 14053 S1++; 14054 } 14055 if ((2*I1+I2)%3 == 0) { 14056 I3 = (2*I1+I2)/3 ; 14057 J1 = -2*I1+3*I3 ; 14058 if ((2*I1+J1)%3 == 0) { 14059 J2 = (2*I1+J1)/3 ; 14060 J3 = 3*I1-4*J2 ; 14061 S1++; 14062 S2++; 14063 } 14064 } 14065 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 14066 J3 = I1-(I2)-(I3) ; 14067 S1++; 14068 J3 = -I1-2*(I2)+2*I3 ; 14069 S2++; 14070 } 14071 } 14072 if ((2*N1-4)%9 == 0) { 14073 I2 = (2*N1-4)/9 ; 14074 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 14075 J3 = -I1-2*(I2)+2*I3 ; 14076 S2++; 14077 J3 = I1-(I2)-(I3) ; 14078 S1++; 14079 } 14080 if ((13*I1-1)%18 == 0) { 14081 I3 = (13*I1-1)/18 ; 14082 J1 = -2*I1+3*I3 ; 14083 if ((2*I1+J1)%3 == 0) { 14084 J2 = (2*I1+J1)/3 ; 14085 J3 = 3*I1-4*J2 ; 14086 S1++; 14087 S2++; 14088 } 14089 } 14090 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) { 14091 J3 = I1-(I2)-(I3) ; 14092 S1++; 14093 J3 = -I1-2*(I2)+2*I3 ; 14094 S2++; 14095 } 14096 } 14097 if ((4*N1-5)%18 == 0) { 14098 I2 = (4*N1-5)/18 ; 14099 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) { 14100 J3 = -I1-2*(I2)+2*I3 ; 14101 S2++; 14102 J3 = I1-(I2)-(I3) ; 14103 S1++; 14104 } 14105 if (13*I1%18 == 0) { 14106 I3 = 13*I1/18 ; 14107 J1 = -2*I1+3*I3 ; 14108 if ((2*I1+J1)%3 == 0) { 14109 J2 = (2*I1+J1)/3 ; 14110 J3 = 3*I1-4*J2 ; 14111 S1++; 14112 S2++; 14113 } 14114 } 14115 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) { 14116 J3 = I1-(I2)-(I3) ; 14117 S1++; 14118 J3 = -I1-2*(I2)+2*I3 ; 14119 S2++; 14120 } 14121 } 14122 for (I2=ceild(2*N1-1,9);I2<=floord(N1-5,3);I2++) { 14123 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 14124 J3 = I1-(I2)-(I3) ; 14125 S1++; 14126 } 14127 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 14128 J3 = -I1-2*(I2)+2*I3 ; 14129 S2++; 14130 J3 = I1-(I2)-(I3) ; 14131 S1++; 14132 } 14133 if ((2*I1+I2)%3 == 0) { 14134 I3 = (2*I1+I2)/3 ; 14135 J1 = -2*I1+3*I3 ; 14136 if ((2*I1+J1)%3 == 0) { 14137 J2 = (2*I1+J1)/3 ; 14138 J3 = 3*I1-4*J2 ; 14139 S1++; 14140 S2++; 14141 } 14142 } 14143 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 14144 J3 = I1-(I2)-(I3) ; 14145 S1++; 14146 J3 = -I1-2*(I2)+2*I3 ; 14147 S2++; 14148 } 14149 } 14150 if ((N1-2)%3 == 0) { 14151 I2 = (N1-2)/3 ; 14152 for (I3=2*I2+1;I3<=3*I2;I3++) { 14153 J3 = I1-(I2)-(I3) ; 14154 S1++; 14155 } 14156 if ((9*I1-1)%12 == 0) { 14157 I3 = (9*I1-1)/12 ; 14158 J1 = -2*I1+3*I3 ; 14159 if ((2*I1+J1)%3 == 0) { 14160 J2 = (2*I1+J1)/3 ; 14161 J3 = 3*I1-4*J2 ; 14162 S1++; 14163 S2++; 14164 } 14165 } 14166 if ((3*I1+1)%4 == 0) { 14167 I3 = (3*I1+1)/4 ; 14168 J3 = I1-(I2)-(I3) ; 14169 S1++; 14170 J3 = -I1-2*(I2)+2*I3 ; 14171 S2++; 14172 } 14173 for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) { 14174 J3 = -I1-2*(I2)+2*I3 ; 14175 S2++; 14176 } 14177 } 14178 if ((4*N1-5)%12 == 0) { 14179 I2 = (4*N1-5)/12 ; 14180 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) { 14181 J3 = I1-(I2)-(I3) ; 14182 S1++; 14183 } 14184 if (3*I1%4 == 0) { 14185 I3 = 3*I1/4 ; 14186 J1 = -2*I1+3*I3 ; 14187 if ((2*I1+J1)%3 == 0) { 14188 J2 = (2*I1+J1)/3 ; 14189 J3 = 3*I1-4*J2 ; 14190 S1++; 14191 S2++; 14192 } 14193 } 14194 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) { 14195 J3 = -I1-2*(I2)+2*I3 ; 14196 S2++; 14197 } 14198 } 14199 for (I2=ceild(2*N1-1,6);I2<=floord(2*N1+5,6);I2++) { 14200 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 14201 J3 = I1-(I2)-(I3) ; 14202 S1++; 14203 } 14204 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 14205 J3 = -I1-2*(I2)+2*I3 ; 14206 S2++; 14207 } 14208 } 14209 for (I2=ceild(N1+4,3);I2<=N1;I2++) { 14210 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 14211 J3 = I1-(I2)-(I3) ; 14212 S1++; 14213 } 14214 } 14215 } 14216} 14217if (N1 >= 25) { 14218 if ((4*N1-4)%3 == 0) { 14219 I1 = (4*N1-4)/3 ; 14220 for (I2=1;I2<=floord(N1-7,6);I2++) { 14221 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 14222 J3 = -I1-2*(I2)+2*I3 ; 14223 S2++; 14224 } 14225 } 14226 for (I2=max(ceild(N1-4,6),ceild(N1+8,9));I2<=floord(4*N1-7,21);I2++) { 14227 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 14228 J3 = -I1-2*(I2)+2*I3 ; 14229 S2++; 14230 } 14231 for (I3=I1-2*I2;I3<=N1;I3++) { 14232 J3 = I1-(I2)-(I3) ; 14233 S1++; 14234 J3 = -I1-2*(I2)+2*I3 ; 14235 S2++; 14236 } 14237 } 14238 if ((4*N1-4)%21 == 0) { 14239 I2 = (4*N1-4)/21 ; 14240 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 14241 J3 = -I1-2*(I2)+2*I3 ; 14242 S2++; 14243 } 14244 if (5*I1%7 == 0) { 14245 I3 = 5*I1/7 ; 14246 J1 = -2*I1+3*I3 ; 14247 if ((2*I1+J1)%3 == 0) { 14248 J2 = (2*I1+J1)/3 ; 14249 J3 = 3*I1-4*J2 ; 14250 S1++; 14251 S2++; 14252 } 14253 } 14254 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) { 14255 J3 = I1-(I2)-(I3) ; 14256 S1++; 14257 J3 = -I1-2*(I2)+2*I3 ; 14258 S2++; 14259 } 14260 } 14261 for (I2=ceild(4*N1-1,21);I2<=floord(2*N1-5,9);I2++) { 14262 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 14263 J3 = -I1-2*(I2)+2*I3 ; 14264 S2++; 14265 } 14266 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 14267 J3 = -I1-2*(I2)+2*I3 ; 14268 S2++; 14269 J3 = I1-(I2)-(I3) ; 14270 S1++; 14271 } 14272 if ((2*I1+I2)%3 == 0) { 14273 I3 = (2*I1+I2)/3 ; 14274 J1 = -2*I1+3*I3 ; 14275 if ((2*I1+J1)%3 == 0) { 14276 J2 = (2*I1+J1)/3 ; 14277 J3 = 3*I1-4*J2 ; 14278 S1++; 14279 S2++; 14280 } 14281 } 14282 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 14283 J3 = I1-(I2)-(I3) ; 14284 S1++; 14285 J3 = -I1-2*(I2)+2*I3 ; 14286 S2++; 14287 } 14288 } 14289 if ((4*N1-7)%18 == 0) { 14290 I2 = (4*N1-7)/18 ; 14291 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 14292 J3 = -I1-2*(I2)+2*I3 ; 14293 S2++; 14294 J3 = I1-(I2)-(I3) ; 14295 S1++; 14296 } 14297 if ((13*I1-1)%18 == 0) { 14298 I3 = (13*I1-1)/18 ; 14299 J1 = -2*I1+3*I3 ; 14300 if ((2*I1+J1)%3 == 0) { 14301 J2 = (2*I1+J1)/3 ; 14302 J3 = 3*I1-4*J2 ; 14303 S1++; 14304 S2++; 14305 } 14306 } 14307 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) { 14308 J3 = I1-(I2)-(I3) ; 14309 S1++; 14310 J3 = -I1-2*(I2)+2*I3 ; 14311 S2++; 14312 } 14313 } 14314 if ((2*N1-2)%9 == 0) { 14315 I2 = (2*N1-2)/9 ; 14316 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) { 14317 J3 = -I1-2*(I2)+2*I3 ; 14318 S2++; 14319 J3 = I1-(I2)-(I3) ; 14320 S1++; 14321 } 14322 if (13*I1%18 == 0) { 14323 I3 = 13*I1/18 ; 14324 J1 = -2*I1+3*I3 ; 14325 if ((2*I1+J1)%3 == 0) { 14326 J2 = (2*I1+J1)/3 ; 14327 J3 = 3*I1-4*J2 ; 14328 S1++; 14329 S2++; 14330 } 14331 } 14332 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) { 14333 J3 = I1-(I2)-(I3) ; 14334 S1++; 14335 J3 = -I1-2*(I2)+2*I3 ; 14336 S2++; 14337 } 14338 } 14339 for (I2=ceild(4*N1-1,18);I2<=floord(N1-4,3);I2++) { 14340 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 14341 J3 = I1-(I2)-(I3) ; 14342 S1++; 14343 } 14344 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 14345 J3 = -I1-2*(I2)+2*I3 ; 14346 S2++; 14347 J3 = I1-(I2)-(I3) ; 14348 S1++; 14349 } 14350 if ((2*I1+I2)%3 == 0) { 14351 I3 = (2*I1+I2)/3 ; 14352 J1 = -2*I1+3*I3 ; 14353 if ((2*I1+J1)%3 == 0) { 14354 J2 = (2*I1+J1)/3 ; 14355 J3 = 3*I1-4*J2 ; 14356 S1++; 14357 S2++; 14358 } 14359 } 14360 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 14361 J3 = I1-(I2)-(I3) ; 14362 S1++; 14363 J3 = -I1-2*(I2)+2*I3 ; 14364 S2++; 14365 } 14366 } 14367 if ((N1-1)%3 == 0) { 14368 I2 = (N1-1)/3 ; 14369 for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) { 14370 J3 = I1-(I2)-(I3) ; 14371 S1++; 14372 } 14373 if (3*I1%4 == 0) { 14374 I3 = 3*I1/4 ; 14375 J1 = -2*I1+3*I3 ; 14376 if ((2*I1+J1)%3 == 0) { 14377 J2 = (2*I1+J1)/3 ; 14378 J3 = 3*I1-4*J2 ; 14379 S1++; 14380 S2++; 14381 } 14382 } 14383 for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) { 14384 J3 = -I1-2*(I2)+2*I3 ; 14385 S2++; 14386 } 14387 } 14388 for (I2=ceild(4*N1-1,12);I2<=floord(N1+2,3);I2++) { 14389 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 14390 J3 = I1-(I2)-(I3) ; 14391 S1++; 14392 } 14393 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 14394 J3 = -I1-2*(I2)+2*I3 ; 14395 S2++; 14396 } 14397 } 14398 for (I2=ceild(2*N1+7,6);I2<=N1;I2++) { 14399 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 14400 J3 = I1-(I2)-(I3) ; 14401 S1++; 14402 } 14403 } 14404 } 14405} 14406for (I1=max(max(20,ceild(9*N1-1,7)),ceild(4*N1-3,3));I1<=floord(4*N1-2,3);I1++) { 14407 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 14408 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 14409 J3 = -I1-2*(I2)+2*I3 ; 14410 S2++; 14411 } 14412 } 14413 for (I2=max(ceild(I1-N1,2),ceild(-2*I1+3*N1,3));I2<=floord(I1-1,7);I2++) { 14414 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 14415 J3 = -I1-2*(I2)+2*I3 ; 14416 S2++; 14417 } 14418 for (I3=I1-2*I2;I3<=N1;I3++) { 14419 J3 = I1-(I2)-(I3) ; 14420 S1++; 14421 J3 = -I1-2*(I2)+2*I3 ; 14422 S2++; 14423 } 14424 } 14425 if (I1%7 == 0) { 14426 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 14427 J3 = -I1-2*(I2)+2*I3 ; 14428 S2++; 14429 } 14430 if (5*I1%7 == 0) { 14431 I3 = 5*I1/7 ; 14432 J1 = -2*I1+3*I3 ; 14433 if ((2*I1+J1)%3 == 0) { 14434 J2 = (2*I1+J1)/3 ; 14435 J3 = 3*I1-4*J2 ; 14436 S1++; 14437 S2++; 14438 } 14439 } 14440 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) { 14441 J3 = I1-(I2)-(I3) ; 14442 S1++; 14443 J3 = -I1-2*(I2)+2*I3 ; 14444 S2++; 14445 } 14446 } 14447 for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) { 14448 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 14449 J3 = -I1-2*(I2)+2*I3 ; 14450 S2++; 14451 } 14452 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 14453 J3 = -I1-2*(I2)+2*I3 ; 14454 S2++; 14455 J3 = I1-(I2)-(I3) ; 14456 S1++; 14457 } 14458 if ((2*I1+I2)%3 == 0) { 14459 I3 = (2*I1+I2)/3 ; 14460 J1 = -2*I1+3*I3 ; 14461 if ((2*I1+J1)%3 == 0) { 14462 J2 = (2*I1+J1)/3 ; 14463 J3 = 3*I1-4*J2 ; 14464 S1++; 14465 S2++; 14466 } 14467 } 14468 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 14469 J3 = I1-(I2)-(I3) ; 14470 S1++; 14471 J3 = -I1-2*(I2)+2*I3 ; 14472 S2++; 14473 } 14474 } 14475 if ((I1-1)%6 == 0) { 14476 I2 = (I1-1)/6 ; 14477 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 14478 J3 = -I1-2*(I2)+2*I3 ; 14479 S2++; 14480 J3 = I1-(I2)-(I3) ; 14481 S1++; 14482 } 14483 if ((13*I1-1)%18 == 0) { 14484 I3 = (13*I1-1)/18 ; 14485 J1 = -2*I1+3*I3 ; 14486 if ((2*I1+J1)%3 == 0) { 14487 J2 = (2*I1+J1)/3 ; 14488 J3 = 3*I1-4*J2 ; 14489 S1++; 14490 S2++; 14491 } 14492 } 14493 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) { 14494 J3 = I1-(I2)-(I3) ; 14495 S1++; 14496 J3 = -I1-2*(I2)+2*I3 ; 14497 S2++; 14498 } 14499 } 14500 if (I1%6 == 0) { 14501 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 14502 J3 = -I1-2*(I2)+2*I3 ; 14503 S2++; 14504 J3 = I1-(I2)-(I3) ; 14505 S1++; 14506 } 14507 if (13*I1%18 == 0) { 14508 I3 = 13*I1/18 ; 14509 J1 = -2*I1+3*I3 ; 14510 if ((2*I1+J1)%3 == 0) { 14511 J2 = (2*I1+J1)/3 ; 14512 J3 = 3*I1-4*J2 ; 14513 S1++; 14514 S2++; 14515 } 14516 } 14517 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 14518 J3 = I1-(I2)-(I3) ; 14519 S1++; 14520 J3 = -I1-2*(I2)+2*I3 ; 14521 S2++; 14522 } 14523 } 14524 for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) { 14525 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 14526 J3 = I1-(I2)-(I3) ; 14527 S1++; 14528 } 14529 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 14530 J3 = -I1-2*(I2)+2*I3 ; 14531 S2++; 14532 J3 = I1-(I2)-(I3) ; 14533 S1++; 14534 } 14535 if ((2*I1+I2)%3 == 0) { 14536 I3 = (2*I1+I2)/3 ; 14537 J1 = -2*I1+3*I3 ; 14538 if ((2*I1+J1)%3 == 0) { 14539 J2 = (2*I1+J1)/3 ; 14540 J3 = 3*I1-4*J2 ; 14541 S1++; 14542 S2++; 14543 } 14544 } 14545 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 14546 J3 = I1-(I2)-(I3) ; 14547 S1++; 14548 J3 = -I1-2*(I2)+2*I3 ; 14549 S2++; 14550 } 14551 } 14552 for (I2=I1-N1+1;I2<=floord(-I1+2*N1,2);I2++) { 14553 for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) { 14554 J3 = I1-(I2)-(I3) ; 14555 S1++; 14556 } 14557 for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 14558 J3 = -I1-2*(I2)+2*I3 ; 14559 S2++; 14560 } 14561 } 14562 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 14563 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 14564 J3 = I1-(I2)-(I3) ; 14565 S1++; 14566 } 14567 } 14568} 14569if (N1 >= 16) { 14570 if ((4*N1-1)%3 == 0) { 14571 I1 = (4*N1-1)/3 ; 14572 for (I2=1;I2<=floord(N1-4,6);I2++) { 14573 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 14574 J3 = -I1-2*(I2)+2*I3 ; 14575 S2++; 14576 } 14577 } 14578 for (I2=ceild(N1-1,6);I2<=floord(4*N1-4,21);I2++) { 14579 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 14580 J3 = -I1-2*(I2)+2*I3 ; 14581 S2++; 14582 } 14583 for (I3=I1-2*I2;I3<=N1;I3++) { 14584 J3 = I1-(I2)-(I3) ; 14585 S1++; 14586 J3 = -I1-2*(I2)+2*I3 ; 14587 S2++; 14588 } 14589 } 14590 if ((4*N1-1)%21 == 0) { 14591 I2 = (4*N1-1)/21 ; 14592 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 14593 J3 = -I1-2*(I2)+2*I3 ; 14594 S2++; 14595 } 14596 if (5*I1%7 == 0) { 14597 I3 = 5*I1/7 ; 14598 J1 = -2*I1+3*I3 ; 14599 if ((2*I1+J1)%3 == 0) { 14600 J2 = (2*I1+J1)/3 ; 14601 J3 = 3*I1-4*J2 ; 14602 S1++; 14603 S2++; 14604 } 14605 } 14606 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) { 14607 J3 = I1-(I2)-(I3) ; 14608 S1++; 14609 J3 = -I1-2*(I2)+2*I3 ; 14610 S2++; 14611 } 14612 } 14613 for (I2=ceild(4*N1+2,21);I2<=floord(4*N1-7,18);I2++) { 14614 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 14615 J3 = -I1-2*(I2)+2*I3 ; 14616 S2++; 14617 } 14618 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 14619 J3 = -I1-2*(I2)+2*I3 ; 14620 S2++; 14621 J3 = I1-(I2)-(I3) ; 14622 S1++; 14623 } 14624 if ((2*I1+I2)%3 == 0) { 14625 I3 = (2*I1+I2)/3 ; 14626 J1 = -2*I1+3*I3 ; 14627 if ((2*I1+J1)%3 == 0) { 14628 J2 = (2*I1+J1)/3 ; 14629 J3 = 3*I1-4*J2 ; 14630 S1++; 14631 S2++; 14632 } 14633 } 14634 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 14635 J3 = I1-(I2)-(I3) ; 14636 S1++; 14637 J3 = -I1-2*(I2)+2*I3 ; 14638 S2++; 14639 } 14640 } 14641 if ((2*N1-2)%9 == 0) { 14642 I2 = (2*N1-2)/9 ; 14643 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 14644 J3 = -I1-2*(I2)+2*I3 ; 14645 S2++; 14646 J3 = I1-(I2)-(I3) ; 14647 S1++; 14648 } 14649 if ((13*I1-1)%18 == 0) { 14650 I3 = (13*I1-1)/18 ; 14651 J1 = -2*I1+3*I3 ; 14652 if ((2*I1+J1)%3 == 0) { 14653 J2 = (2*I1+J1)/3 ; 14654 J3 = 3*I1-4*J2 ; 14655 S1++; 14656 S2++; 14657 } 14658 } 14659 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) { 14660 J3 = I1-(I2)-(I3) ; 14661 S1++; 14662 J3 = -I1-2*(I2)+2*I3 ; 14663 S2++; 14664 } 14665 } 14666 if ((4*N1-1)%18 == 0) { 14667 I2 = (4*N1-1)/18 ; 14668 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) { 14669 J3 = -I1-2*(I2)+2*I3 ; 14670 S2++; 14671 J3 = I1-(I2)-(I3) ; 14672 S1++; 14673 } 14674 if (13*I1%18 == 0) { 14675 I3 = 13*I1/18 ; 14676 J1 = -2*I1+3*I3 ; 14677 if ((2*I1+J1)%3 == 0) { 14678 J2 = (2*I1+J1)/3 ; 14679 J3 = 3*I1-4*J2 ; 14680 S1++; 14681 S2++; 14682 } 14683 } 14684 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) { 14685 J3 = I1-(I2)-(I3) ; 14686 S1++; 14687 J3 = -I1-2*(I2)+2*I3 ; 14688 S2++; 14689 } 14690 } 14691 for (I2=ceild(2*N1+1,9);I2<=floord(4*N1-7,12);I2++) { 14692 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 14693 J3 = I1-(I2)-(I3) ; 14694 S1++; 14695 } 14696 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 14697 J3 = -I1-2*(I2)+2*I3 ; 14698 S2++; 14699 J3 = I1-(I2)-(I3) ; 14700 S1++; 14701 } 14702 if ((2*I1+I2)%3 == 0) { 14703 I3 = (2*I1+I2)/3 ; 14704 J1 = -2*I1+3*I3 ; 14705 if ((2*I1+J1)%3 == 0) { 14706 J2 = (2*I1+J1)/3 ; 14707 J3 = 3*I1-4*J2 ; 14708 S1++; 14709 S2++; 14710 } 14711 } 14712 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 14713 J3 = I1-(I2)-(I3) ; 14714 S1++; 14715 J3 = -I1-2*(I2)+2*I3 ; 14716 S2++; 14717 } 14718 } 14719 if ((N1-1)%3 == 0) { 14720 I2 = (N1-1)/3 ; 14721 for (I3=ceild(2*N1+1,3);I3<=N1-1;I3++) { 14722 J3 = I1-(I2)-(I3) ; 14723 S1++; 14724 } 14725 if (-1%3 == 0) { 14726 I3 = (3*N1-1)/3 ; 14727 J1 = -2*I1+3*I3 ; 14728 if ((2*I1+J1)%3 == 0) { 14729 J2 = (2*I1+J1)/3 ; 14730 J3 = 3*I1-4*J2 ; 14731 S1++; 14732 S2++; 14733 } 14734 } 14735 J3 = I1-(I2)-(I3) ; 14736 S1++; 14737 J3 = -I1-2*(I2)+2*I3 ; 14738 S2++; 14739 } 14740 for (I2=ceild(N1+2,3);I2<=N1;I2++) { 14741 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 14742 J3 = I1-(I2)-(I3) ; 14743 S1++; 14744 } 14745 } 14746 } 14747} 14748if (N1 >= 15) { 14749 if (4*N1%3 == 0) { 14750 I1 = 4*N1/3 ; 14751 for (I2=1;I2<=floord(N1-3,6);I2++) { 14752 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 14753 J3 = -I1-2*(I2)+2*I3 ; 14754 S2++; 14755 } 14756 } 14757 for (I2=ceild(N1,6);I2<=floord(4*N1-3,21);I2++) { 14758 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 14759 J3 = -I1-2*(I2)+2*I3 ; 14760 S2++; 14761 } 14762 for (I3=I1-2*I2;I3<=N1;I3++) { 14763 J3 = I1-(I2)-(I3) ; 14764 S1++; 14765 J3 = -I1-2*(I2)+2*I3 ; 14766 S2++; 14767 } 14768 } 14769 if (4*N1%21 == 0) { 14770 I2 = 4*N1/21 ; 14771 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 14772 J3 = -I1-2*(I2)+2*I3 ; 14773 S2++; 14774 } 14775 if (5*I1%7 == 0) { 14776 I3 = 5*I1/7 ; 14777 J1 = -2*I1+3*I3 ; 14778 if ((2*I1+J1)%3 == 0) { 14779 J2 = (2*I1+J1)/3 ; 14780 J3 = 3*I1-4*J2 ; 14781 S1++; 14782 S2++; 14783 } 14784 } 14785 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) { 14786 J3 = I1-(I2)-(I3) ; 14787 S1++; 14788 J3 = -I1-2*(I2)+2*I3 ; 14789 S2++; 14790 } 14791 } 14792 for (I2=ceild(4*N1+3,21);I2<=floord(2*N1-3,9);I2++) { 14793 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 14794 J3 = -I1-2*(I2)+2*I3 ; 14795 S2++; 14796 } 14797 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 14798 J3 = -I1-2*(I2)+2*I3 ; 14799 S2++; 14800 J3 = I1-(I2)-(I3) ; 14801 S1++; 14802 } 14803 if ((2*I1+I2)%3 == 0) { 14804 I3 = (2*I1+I2)/3 ; 14805 J1 = -2*I1+3*I3 ; 14806 if ((2*I1+J1)%3 == 0) { 14807 J2 = (2*I1+J1)/3 ; 14808 J3 = 3*I1-4*J2 ; 14809 S1++; 14810 S2++; 14811 } 14812 } 14813 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 14814 J3 = I1-(I2)-(I3) ; 14815 S1++; 14816 J3 = -I1-2*(I2)+2*I3 ; 14817 S2++; 14818 } 14819 } 14820 if ((4*N1-3)%18 == 0) { 14821 I2 = (4*N1-3)/18 ; 14822 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 14823 J3 = -I1-2*(I2)+2*I3 ; 14824 S2++; 14825 J3 = I1-(I2)-(I3) ; 14826 S1++; 14827 } 14828 if ((13*I1-1)%18 == 0) { 14829 I3 = (13*I1-1)/18 ; 14830 J1 = -2*I1+3*I3 ; 14831 if ((2*I1+J1)%3 == 0) { 14832 J2 = (2*I1+J1)/3 ; 14833 J3 = 3*I1-4*J2 ; 14834 S1++; 14835 S2++; 14836 } 14837 } 14838 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) { 14839 J3 = I1-(I2)-(I3) ; 14840 S1++; 14841 J3 = -I1-2*(I2)+2*I3 ; 14842 S2++; 14843 } 14844 } 14845 if (2*N1%9 == 0) { 14846 I2 = 2*N1/9 ; 14847 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) { 14848 J3 = -I1-2*(I2)+2*I3 ; 14849 S2++; 14850 J3 = I1-(I2)-(I3) ; 14851 S1++; 14852 } 14853 if (13*I1%18 == 0) { 14854 I3 = 13*I1/18 ; 14855 J1 = -2*I1+3*I3 ; 14856 if ((2*I1+J1)%3 == 0) { 14857 J2 = (2*I1+J1)/3 ; 14858 J3 = 3*I1-4*J2 ; 14859 S1++; 14860 S2++; 14861 } 14862 } 14863 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) { 14864 J3 = I1-(I2)-(I3) ; 14865 S1++; 14866 J3 = -I1-2*(I2)+2*I3 ; 14867 S2++; 14868 } 14869 } 14870 for (I2=ceild(4*N1+3,18);I2<=floord(N1-3,3);I2++) { 14871 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 14872 J3 = I1-(I2)-(I3) ; 14873 S1++; 14874 } 14875 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 14876 J3 = -I1-2*(I2)+2*I3 ; 14877 S2++; 14878 J3 = I1-(I2)-(I3) ; 14879 S1++; 14880 } 14881 if ((2*I1+I2)%3 == 0) { 14882 I3 = (2*I1+I2)/3 ; 14883 J1 = -2*I1+3*I3 ; 14884 if ((2*I1+J1)%3 == 0) { 14885 J2 = (2*I1+J1)/3 ; 14886 J3 = 3*I1-4*J2 ; 14887 S1++; 14888 S2++; 14889 } 14890 } 14891 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 14892 J3 = I1-(I2)-(I3) ; 14893 S1++; 14894 J3 = -I1-2*(I2)+2*I3 ; 14895 S2++; 14896 } 14897 } 14898 if (N1%3 == 0) { 14899 for (I3=ceild(2*N1,3);I3<=floord(2*N1-1,2);I3++) { 14900 J3 = I1-(I2)-(I3) ; 14901 S1++; 14902 } 14903 J1 = -2*I1+3*N1 ; 14904 if ((2*I1+J1)%3 == 0) { 14905 J2 = (2*I1+J1)/3 ; 14906 J3 = 3*I1-4*J2 ; 14907 S1++; 14908 S2++; 14909 } 14910 } 14911 for (I2=ceild(2*N1+3,6);I2<=N1;I2++) { 14912 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 14913 J3 = I1-(I2)-(I3) ; 14914 S1++; 14915 } 14916 } 14917 } 14918} 14919if (N1 >= 17) { 14920 if ((4*N1+1)%3 == 0) { 14921 I1 = (4*N1+1)/3 ; 14922 for (I2=1;I2<=floord(N1-2,6);I2++) { 14923 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 14924 J3 = -I1-2*(I2)+2*I3 ; 14925 S2++; 14926 } 14927 } 14928 for (I2=ceild(N1+1,6);I2<=floord(4*N1-2,21);I2++) { 14929 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 14930 J3 = -I1-2*(I2)+2*I3 ; 14931 S2++; 14932 } 14933 for (I3=I1-2*I2;I3<=N1;I3++) { 14934 J3 = I1-(I2)-(I3) ; 14935 S1++; 14936 J3 = -I1-2*(I2)+2*I3 ; 14937 S2++; 14938 } 14939 } 14940 if ((4*N1+1)%21 == 0) { 14941 I2 = (4*N1+1)/21 ; 14942 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 14943 J3 = -I1-2*(I2)+2*I3 ; 14944 S2++; 14945 } 14946 if (5*I1%7 == 0) { 14947 I3 = 5*I1/7 ; 14948 J1 = -2*I1+3*I3 ; 14949 if ((2*I1+J1)%3 == 0) { 14950 J2 = (2*I1+J1)/3 ; 14951 J3 = 3*I1-4*J2 ; 14952 S1++; 14953 S2++; 14954 } 14955 } 14956 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) { 14957 J3 = I1-(I2)-(I3) ; 14958 S1++; 14959 J3 = -I1-2*(I2)+2*I3 ; 14960 S2++; 14961 } 14962 } 14963 for (I2=ceild(4*N1+4,21);I2<=floord(4*N1-5,18);I2++) { 14964 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 14965 J3 = -I1-2*(I2)+2*I3 ; 14966 S2++; 14967 } 14968 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 14969 J3 = -I1-2*(I2)+2*I3 ; 14970 S2++; 14971 J3 = I1-(I2)-(I3) ; 14972 S1++; 14973 } 14974 if ((2*I1+I2)%3 == 0) { 14975 I3 = (2*I1+I2)/3 ; 14976 J1 = -2*I1+3*I3 ; 14977 if ((2*I1+J1)%3 == 0) { 14978 J2 = (2*I1+J1)/3 ; 14979 J3 = 3*I1-4*J2 ; 14980 S1++; 14981 S2++; 14982 } 14983 } 14984 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 14985 J3 = I1-(I2)-(I3) ; 14986 S1++; 14987 J3 = -I1-2*(I2)+2*I3 ; 14988 S2++; 14989 } 14990 } 14991 if ((2*N1-1)%9 == 0) { 14992 I2 = (2*N1-1)/9 ; 14993 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 14994 J3 = -I1-2*(I2)+2*I3 ; 14995 S2++; 14996 J3 = I1-(I2)-(I3) ; 14997 S1++; 14998 } 14999 if ((13*I1-1)%18 == 0) { 15000 I3 = (13*I1-1)/18 ; 15001 J1 = -2*I1+3*I3 ; 15002 if ((2*I1+J1)%3 == 0) { 15003 J2 = (2*I1+J1)/3 ; 15004 J3 = 3*I1-4*J2 ; 15005 S1++; 15006 S2++; 15007 } 15008 } 15009 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) { 15010 J3 = I1-(I2)-(I3) ; 15011 S1++; 15012 J3 = -I1-2*(I2)+2*I3 ; 15013 S2++; 15014 } 15015 } 15016 if ((4*N1+1)%18 == 0) { 15017 I2 = (4*N1+1)/18 ; 15018 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) { 15019 J3 = -I1-2*(I2)+2*I3 ; 15020 S2++; 15021 J3 = I1-(I2)-(I3) ; 15022 S1++; 15023 } 15024 if (13*I1%18 == 0) { 15025 I3 = 13*I1/18 ; 15026 J1 = -2*I1+3*I3 ; 15027 if ((2*I1+J1)%3 == 0) { 15028 J2 = (2*I1+J1)/3 ; 15029 J3 = 3*I1-4*J2 ; 15030 S1++; 15031 S2++; 15032 } 15033 } 15034 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) { 15035 J3 = I1-(I2)-(I3) ; 15036 S1++; 15037 J3 = -I1-2*(I2)+2*I3 ; 15038 S2++; 15039 } 15040 } 15041 for (I2=ceild(2*N1+2,9);I2<=floord(N1-5,3);I2++) { 15042 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 15043 J3 = I1-(I2)-(I3) ; 15044 S1++; 15045 } 15046 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 15047 J3 = -I1-2*(I2)+2*I3 ; 15048 S2++; 15049 J3 = I1-(I2)-(I3) ; 15050 S1++; 15051 } 15052 if ((2*I1+I2)%3 == 0) { 15053 I3 = (2*I1+I2)/3 ; 15054 J1 = -2*I1+3*I3 ; 15055 if ((2*I1+J1)%3 == 0) { 15056 J2 = (2*I1+J1)/3 ; 15057 J3 = 3*I1-4*J2 ; 15058 S1++; 15059 S2++; 15060 } 15061 } 15062 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 15063 J3 = I1-(I2)-(I3) ; 15064 S1++; 15065 J3 = -I1-2*(I2)+2*I3 ; 15066 S2++; 15067 } 15068 } 15069 if ((N1-2)%3 == 0) { 15070 I2 = (N1-2)/3 ; 15071 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) { 15072 J3 = I1-(I2)-(I3) ; 15073 S1++; 15074 } 15075 for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) { 15076 J3 = -I1-2*(I2)+2*I3 ; 15077 S2++; 15078 J3 = I1-(I2)-(I3) ; 15079 S1++; 15080 } 15081 J1 = -2*I1+3*N1 ; 15082 if ((2*I1+J1)%3 == 0) { 15083 J2 = (2*I1+J1)/3 ; 15084 J3 = 3*I1-4*J2 ; 15085 S1++; 15086 S2++; 15087 } 15088 } 15089 for (I2=ceild(N1+1,3);I2<=N1;I2++) { 15090 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 15091 J3 = I1-(I2)-(I3) ; 15092 S1++; 15093 } 15094 } 15095 } 15096} 15097for (I1=ceild(4*N1+2,3);I1<=floord(18*N1-7,13);I1++) { 15098 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 15099 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 15100 J3 = -I1-2*(I2)+2*I3 ; 15101 S2++; 15102 } 15103 } 15104 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,7);I2++) { 15105 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 15106 J3 = -I1-2*(I2)+2*I3 ; 15107 S2++; 15108 } 15109 for (I3=I1-2*I2;I3<=N1;I3++) { 15110 J3 = I1-(I2)-(I3) ; 15111 S1++; 15112 J3 = -I1-2*(I2)+2*I3 ; 15113 S2++; 15114 } 15115 } 15116 if (I1%7 == 0) { 15117 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 15118 J3 = -I1-2*(I2)+2*I3 ; 15119 S2++; 15120 } 15121 if (5*I1%7 == 0) { 15122 I3 = 5*I1/7 ; 15123 J1 = -2*I1+3*I3 ; 15124 if ((2*I1+J1)%3 == 0) { 15125 J2 = (2*I1+J1)/3 ; 15126 J3 = 3*I1-4*J2 ; 15127 S1++; 15128 S2++; 15129 } 15130 } 15131 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) { 15132 J3 = I1-(I2)-(I3) ; 15133 S1++; 15134 J3 = -I1-2*(I2)+2*I3 ; 15135 S2++; 15136 } 15137 } 15138 for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) { 15139 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 15140 J3 = -I1-2*(I2)+2*I3 ; 15141 S2++; 15142 } 15143 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 15144 J3 = -I1-2*(I2)+2*I3 ; 15145 S2++; 15146 J3 = I1-(I2)-(I3) ; 15147 S1++; 15148 } 15149 if ((2*I1+I2)%3 == 0) { 15150 I3 = (2*I1+I2)/3 ; 15151 J1 = -2*I1+3*I3 ; 15152 if ((2*I1+J1)%3 == 0) { 15153 J2 = (2*I1+J1)/3 ; 15154 J3 = 3*I1-4*J2 ; 15155 S1++; 15156 S2++; 15157 } 15158 } 15159 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 15160 J3 = I1-(I2)-(I3) ; 15161 S1++; 15162 J3 = -I1-2*(I2)+2*I3 ; 15163 S2++; 15164 } 15165 } 15166 if ((I1-1)%6 == 0) { 15167 I2 = (I1-1)/6 ; 15168 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 15169 J3 = -I1-2*(I2)+2*I3 ; 15170 S2++; 15171 J3 = I1-(I2)-(I3) ; 15172 S1++; 15173 } 15174 if ((13*I1-1)%18 == 0) { 15175 I3 = (13*I1-1)/18 ; 15176 J1 = -2*I1+3*I3 ; 15177 if ((2*I1+J1)%3 == 0) { 15178 J2 = (2*I1+J1)/3 ; 15179 J3 = 3*I1-4*J2 ; 15180 S1++; 15181 S2++; 15182 } 15183 } 15184 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) { 15185 J3 = I1-(I2)-(I3) ; 15186 S1++; 15187 J3 = -I1-2*(I2)+2*I3 ; 15188 S2++; 15189 } 15190 } 15191 if (I1%6 == 0) { 15192 for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) { 15193 J3 = -I1-2*(I2)+2*I3 ; 15194 S2++; 15195 J3 = I1-(I2)-(I3) ; 15196 S1++; 15197 } 15198 if (13*I1%18 == 0) { 15199 I3 = 13*I1/18 ; 15200 J1 = -2*I1+3*I3 ; 15201 if ((2*I1+J1)%3 == 0) { 15202 J2 = (2*I1+J1)/3 ; 15203 J3 = 3*I1-4*J2 ; 15204 S1++; 15205 S2++; 15206 } 15207 } 15208 for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) { 15209 J3 = I1-(I2)-(I3) ; 15210 S1++; 15211 J3 = -I1-2*(I2)+2*I3 ; 15212 S2++; 15213 } 15214 } 15215 for (I2=ceild(I1+1,6);I2<=-2*I1+3*N1-1;I2++) { 15216 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 15217 J3 = I1-(I2)-(I3) ; 15218 S1++; 15219 } 15220 for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) { 15221 J3 = -I1-2*(I2)+2*I3 ; 15222 S2++; 15223 J3 = I1-(I2)-(I3) ; 15224 S1++; 15225 } 15226 if ((2*I1+I2)%3 == 0) { 15227 I3 = (2*I1+I2)/3 ; 15228 J1 = -2*I1+3*I3 ; 15229 if ((2*I1+J1)%3 == 0) { 15230 J2 = (2*I1+J1)/3 ; 15231 J3 = 3*I1-4*J2 ; 15232 S1++; 15233 S2++; 15234 } 15235 } 15236 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 15237 J3 = I1-(I2)-(I3) ; 15238 S1++; 15239 J3 = -I1-2*(I2)+2*I3 ; 15240 S2++; 15241 } 15242 } 15243 I2 = -2*I1+3*N1 ; 15244 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) { 15245 J3 = I1-(I2)-(I3) ; 15246 S1++; 15247 } 15248 for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) { 15249 J3 = -I1-2*(I2)+2*I3 ; 15250 S2++; 15251 J3 = I1-(I2)-(I3) ; 15252 S1++; 15253 } 15254 J1 = -2*I1+3*N1 ; 15255 if ((2*I1+J1)%3 == 0) { 15256 J2 = (2*I1+J1)/3 ; 15257 J3 = 3*I1-4*J2 ; 15258 S1++; 15259 S2++; 15260 } 15261 for (I2=-2*I1+3*N1+1;I2<=floord(-I1+2*N1,2);I2++) { 15262 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 15263 J3 = I1-(I2)-(I3) ; 15264 S1++; 15265 } 15266 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 15267 J3 = -I1-2*(I2)+2*I3 ; 15268 S2++; 15269 J3 = I1-(I2)-(I3) ; 15270 S1++; 15271 } 15272 } 15273 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 15274 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 15275 J3 = I1-(I2)-(I3) ; 15276 S1++; 15277 } 15278 } 15279} 15280if (N1 >= 22) { 15281 if ((18*N1-6)%13 == 0) { 15282 I1 = (18*N1-6)/13 ; 15283 for (I2=1;I2<=floord(5*N1-19,26);I2++) { 15284 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 15285 J3 = -I1-2*(I2)+2*I3 ; 15286 S2++; 15287 } 15288 } 15289 for (I2=ceild(5*N1-6,26);I2<=floord(18*N1-19,91);I2++) { 15290 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 15291 J3 = -I1-2*(I2)+2*I3 ; 15292 S2++; 15293 } 15294 for (I3=I1-2*I2;I3<=N1;I3++) { 15295 J3 = I1-(I2)-(I3) ; 15296 S1++; 15297 J3 = -I1-2*(I2)+2*I3 ; 15298 S2++; 15299 } 15300 } 15301 if ((18*N1-6)%91 == 0) { 15302 I2 = (18*N1-6)/91 ; 15303 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 15304 J3 = -I1-2*(I2)+2*I3 ; 15305 S2++; 15306 } 15307 if (5*I1%7 == 0) { 15308 I3 = 5*I1/7 ; 15309 J1 = -2*I1+3*I3 ; 15310 if ((2*I1+J1)%3 == 0) { 15311 J2 = (2*I1+J1)/3 ; 15312 J3 = 3*I1-4*J2 ; 15313 S1++; 15314 S2++; 15315 } 15316 } 15317 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) { 15318 J3 = I1-(I2)-(I3) ; 15319 S1++; 15320 J3 = -I1-2*(I2)+2*I3 ; 15321 S2++; 15322 } 15323 } 15324 for (I2=ceild(18*N1+7,91);I2<=floord(9*N1-16,39);I2++) { 15325 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 15326 J3 = -I1-2*(I2)+2*I3 ; 15327 S2++; 15328 } 15329 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 15330 J3 = -I1-2*(I2)+2*I3 ; 15331 S2++; 15332 J3 = I1-(I2)-(I3) ; 15333 S1++; 15334 } 15335 if ((2*I1+I2)%3 == 0) { 15336 I3 = (2*I1+I2)/3 ; 15337 J1 = -2*I1+3*I3 ; 15338 if ((2*I1+J1)%3 == 0) { 15339 J2 = (2*I1+J1)/3 ; 15340 J3 = 3*I1-4*J2 ; 15341 S1++; 15342 S2++; 15343 } 15344 } 15345 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 15346 J3 = I1-(I2)-(I3) ; 15347 S1++; 15348 J3 = -I1-2*(I2)+2*I3 ; 15349 S2++; 15350 } 15351 } 15352 if ((18*N1-19)%78 == 0) { 15353 I2 = (18*N1-19)/78 ; 15354 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 15355 J3 = -I1-2*(I2)+2*I3 ; 15356 S2++; 15357 J3 = I1-(I2)-(I3) ; 15358 S1++; 15359 } 15360 if ((13*I1-1)%18 == 0) { 15361 I3 = (13*I1-1)/18 ; 15362 J1 = -2*I1+3*I3 ; 15363 if ((2*I1+J1)%3 == 0) { 15364 J2 = (2*I1+J1)/3 ; 15365 J3 = 3*I1-4*J2 ; 15366 S1++; 15367 S2++; 15368 } 15369 } 15370 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) { 15371 J3 = I1-(I2)-(I3) ; 15372 S1++; 15373 J3 = -I1-2*(I2)+2*I3 ; 15374 S2++; 15375 } 15376 } 15377 if ((3*N1-1)%13 == 0) { 15378 I2 = (3*N1-1)/13 ; 15379 for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) { 15380 J3 = -I1-2*(I2)+2*I3 ; 15381 S2++; 15382 J3 = I1-(I2)-(I3) ; 15383 S1++; 15384 } 15385 if (13*I1%18 == 0) { 15386 I3 = 13*I1/18 ; 15387 J1 = -2*I1+3*I3 ; 15388 if ((2*I1+J1)%3 == 0) { 15389 J2 = (2*I1+J1)/3 ; 15390 J3 = 3*I1-4*J2 ; 15391 S1++; 15392 S2++; 15393 } 15394 } 15395 for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) { 15396 J3 = I1-(I2)-(I3) ; 15397 S1++; 15398 J3 = -I1-2*(I2)+2*I3 ; 15399 S2++; 15400 } 15401 } 15402 if ((3*N1+12)%13 == 0) { 15403 I2 = (3*N1+12)/13 ; 15404 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) { 15405 J3 = I1-(I2)-(I3) ; 15406 S1++; 15407 } 15408 for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) { 15409 J3 = -I1-2*(I2)+2*I3 ; 15410 S2++; 15411 J3 = I1-(I2)-(I3) ; 15412 S1++; 15413 } 15414 J1 = -2*I1+3*N1 ; 15415 if ((2*I1+J1)%3 == 0) { 15416 J2 = (2*I1+J1)/3 ; 15417 J3 = 3*I1-4*J2 ; 15418 S1++; 15419 S2++; 15420 } 15421 } 15422 for (I2=ceild(3*N1+25,13);I2<=floord(4*N1+3,13);I2++) { 15423 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 15424 J3 = I1-(I2)-(I3) ; 15425 S1++; 15426 } 15427 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 15428 J3 = -I1-2*(I2)+2*I3 ; 15429 S2++; 15430 J3 = I1-(I2)-(I3) ; 15431 S1++; 15432 } 15433 } 15434 for (I2=ceild(8*N1+19,26);I2<=N1;I2++) { 15435 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 15436 J3 = I1-(I2)-(I3) ; 15437 S1++; 15438 } 15439 } 15440 } 15441} 15442if (N1 >= 21) { 15443 if ((18*N1-5)%13 == 0) { 15444 I1 = (18*N1-5)/13 ; 15445 for (I2=1;I2<=floord(5*N1-18,26);I2++) { 15446 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 15447 J3 = -I1-2*(I2)+2*I3 ; 15448 S2++; 15449 } 15450 } 15451 for (I2=ceild(5*N1-5,26);I2<=floord(18*N1-18,91);I2++) { 15452 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 15453 J3 = -I1-2*(I2)+2*I3 ; 15454 S2++; 15455 } 15456 for (I3=I1-2*I2;I3<=N1;I3++) { 15457 J3 = I1-(I2)-(I3) ; 15458 S1++; 15459 J3 = -I1-2*(I2)+2*I3 ; 15460 S2++; 15461 } 15462 } 15463 if ((18*N1-5)%91 == 0) { 15464 I2 = (18*N1-5)/91 ; 15465 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 15466 J3 = -I1-2*(I2)+2*I3 ; 15467 S2++; 15468 } 15469 if (5*I1%7 == 0) { 15470 I3 = 5*I1/7 ; 15471 J1 = -2*I1+3*I3 ; 15472 if ((2*I1+J1)%3 == 0) { 15473 J2 = (2*I1+J1)/3 ; 15474 J3 = 3*I1-4*J2 ; 15475 S1++; 15476 S2++; 15477 } 15478 } 15479 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) { 15480 J3 = I1-(I2)-(I3) ; 15481 S1++; 15482 J3 = -I1-2*(I2)+2*I3 ; 15483 S2++; 15484 } 15485 } 15486 for (I2=ceild(18*N1+8,91);I2<=floord(18*N1-31,78);I2++) { 15487 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 15488 J3 = -I1-2*(I2)+2*I3 ; 15489 S2++; 15490 } 15491 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 15492 J3 = -I1-2*(I2)+2*I3 ; 15493 S2++; 15494 J3 = I1-(I2)-(I3) ; 15495 S1++; 15496 } 15497 if ((2*I1+I2)%3 == 0) { 15498 I3 = (2*I1+I2)/3 ; 15499 J1 = -2*I1+3*I3 ; 15500 if ((2*I1+J1)%3 == 0) { 15501 J2 = (2*I1+J1)/3 ; 15502 J3 = 3*I1-4*J2 ; 15503 S1++; 15504 S2++; 15505 } 15506 } 15507 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 15508 J3 = I1-(I2)-(I3) ; 15509 S1++; 15510 J3 = -I1-2*(I2)+2*I3 ; 15511 S2++; 15512 } 15513 } 15514 if ((3*N1-3)%13 == 0) { 15515 I2 = (3*N1-3)/13 ; 15516 for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) { 15517 J3 = -I1-2*(I2)+2*I3 ; 15518 S2++; 15519 J3 = I1-(I2)-(I3) ; 15520 S1++; 15521 } 15522 if ((13*I1-1)%18 == 0) { 15523 I3 = (13*I1-1)/18 ; 15524 J1 = -2*I1+3*I3 ; 15525 if ((2*I1+J1)%3 == 0) { 15526 J2 = (2*I1+J1)/3 ; 15527 J3 = 3*I1-4*J2 ; 15528 S1++; 15529 S2++; 15530 } 15531 } 15532 for (I3=ceild(13*I2+3,3);I3<=N1;I3++) { 15533 J3 = I1-(I2)-(I3) ; 15534 S1++; 15535 J3 = -I1-2*(I2)+2*I3 ; 15536 S2++; 15537 } 15538 } 15539 if ((3*N1+10)%13 == 0) { 15540 I2 = (3*N1+10)/13 ; 15541 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) { 15542 J3 = I1-(I2)-(I3) ; 15543 S1++; 15544 } 15545 for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) { 15546 J3 = -I1-2*(I2)+2*I3 ; 15547 S2++; 15548 J3 = I1-(I2)-(I3) ; 15549 S1++; 15550 } 15551 J1 = -2*I1+3*N1 ; 15552 if ((2*I1+J1)%3 == 0) { 15553 J2 = (2*I1+J1)/3 ; 15554 J3 = 3*I1-4*J2 ; 15555 S1++; 15556 S2++; 15557 } 15558 } 15559 for (I2=ceild(3*N1+23,13);I2<=floord(8*N1+5,26);I2++) { 15560 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 15561 J3 = I1-(I2)-(I3) ; 15562 S1++; 15563 } 15564 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 15565 J3 = -I1-2*(I2)+2*I3 ; 15566 S2++; 15567 J3 = I1-(I2)-(I3) ; 15568 S1++; 15569 } 15570 } 15571 for (I2=ceild(4*N1+9,13);I2<=N1;I2++) { 15572 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 15573 J3 = I1-(I2)-(I3) ; 15574 S1++; 15575 } 15576 } 15577 } 15578} 15579for (I1=max(ceild(18*N1-4,13),ceild(4*N1+2,3));I1<=min(floord(21*N1-8,15),floord(18*N1-1,13));I1++) { 15580 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 15581 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 15582 J3 = -I1-2*(I2)+2*I3 ; 15583 S2++; 15584 } 15585 } 15586 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,7);I2++) { 15587 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 15588 J3 = -I1-2*(I2)+2*I3 ; 15589 S2++; 15590 } 15591 for (I3=I1-2*I2;I3<=N1;I3++) { 15592 J3 = I1-(I2)-(I3) ; 15593 S1++; 15594 J3 = -I1-2*(I2)+2*I3 ; 15595 S2++; 15596 } 15597 } 15598 if (I1%7 == 0) { 15599 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 15600 J3 = -I1-2*(I2)+2*I3 ; 15601 S2++; 15602 } 15603 if (5*I1%7 == 0) { 15604 I3 = 5*I1/7 ; 15605 J1 = -2*I1+3*I3 ; 15606 if ((2*I1+J1)%3 == 0) { 15607 J2 = (2*I1+J1)/3 ; 15608 J3 = 3*I1-4*J2 ; 15609 S1++; 15610 S2++; 15611 } 15612 } 15613 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) { 15614 J3 = I1-(I2)-(I3) ; 15615 S1++; 15616 J3 = -I1-2*(I2)+2*I3 ; 15617 S2++; 15618 } 15619 } 15620 for (I2=ceild(I1+1,7);I2<=-2*I1+3*N1-1;I2++) { 15621 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 15622 J3 = -I1-2*(I2)+2*I3 ; 15623 S2++; 15624 } 15625 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 15626 J3 = -I1-2*(I2)+2*I3 ; 15627 S2++; 15628 J3 = I1-(I2)-(I3) ; 15629 S1++; 15630 } 15631 if ((2*I1+I2)%3 == 0) { 15632 I3 = (2*I1+I2)/3 ; 15633 J1 = -2*I1+3*I3 ; 15634 if ((2*I1+J1)%3 == 0) { 15635 J2 = (2*I1+J1)/3 ; 15636 J3 = 3*I1-4*J2 ; 15637 S1++; 15638 S2++; 15639 } 15640 } 15641 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 15642 J3 = I1-(I2)-(I3) ; 15643 S1++; 15644 J3 = -I1-2*(I2)+2*I3 ; 15645 S2++; 15646 } 15647 } 15648 I2 = -2*I1+3*N1 ; 15649 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) { 15650 J3 = I1-(I2)-(I3) ; 15651 S1++; 15652 } 15653 for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) { 15654 J3 = -I1-2*(I2)+2*I3 ; 15655 S2++; 15656 J3 = I1-(I2)-(I3) ; 15657 S1++; 15658 } 15659 J1 = -2*I1+3*N1 ; 15660 if ((2*I1+J1)%3 == 0) { 15661 J2 = (2*I1+J1)/3 ; 15662 J3 = 3*I1-4*J2 ; 15663 S1++; 15664 S2++; 15665 } 15666 for (I2=-2*I1+3*N1+1;I2<=floord(-I1+2*N1,2);I2++) { 15667 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 15668 J3 = I1-(I2)-(I3) ; 15669 S1++; 15670 } 15671 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 15672 J3 = -I1-2*(I2)+2*I3 ; 15673 S2++; 15674 J3 = I1-(I2)-(I3) ; 15675 S1++; 15676 } 15677 } 15678 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 15679 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 15680 J3 = I1-(I2)-(I3) ; 15681 S1++; 15682 } 15683 } 15684} 15685for (I1=ceild(18*N1,13);I1<=min(floord(21*N1-8,15),floord(18*N1+1,13));I1++) { 15686 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 15687 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 15688 J3 = -I1-2*(I2)+2*I3 ; 15689 S2++; 15690 } 15691 } 15692 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,7);I2++) { 15693 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 15694 J3 = -I1-2*(I2)+2*I3 ; 15695 S2++; 15696 } 15697 for (I3=I1-2*I2;I3<=N1;I3++) { 15698 J3 = I1-(I2)-(I3) ; 15699 S1++; 15700 J3 = -I1-2*(I2)+2*I3 ; 15701 S2++; 15702 } 15703 } 15704 if (I1%7 == 0) { 15705 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 15706 J3 = -I1-2*(I2)+2*I3 ; 15707 S2++; 15708 } 15709 if (5*I1%7 == 0) { 15710 I3 = 5*I1/7 ; 15711 J1 = -2*I1+3*I3 ; 15712 if ((2*I1+J1)%3 == 0) { 15713 J2 = (2*I1+J1)/3 ; 15714 J3 = 3*I1-4*J2 ; 15715 S1++; 15716 S2++; 15717 } 15718 } 15719 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) { 15720 J3 = I1-(I2)-(I3) ; 15721 S1++; 15722 J3 = -I1-2*(I2)+2*I3 ; 15723 S2++; 15724 } 15725 } 15726 for (I2=ceild(I1+1,7);I2<=-2*I1+3*N1-1;I2++) { 15727 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 15728 J3 = -I1-2*(I2)+2*I3 ; 15729 S2++; 15730 } 15731 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 15732 J3 = -I1-2*(I2)+2*I3 ; 15733 S2++; 15734 J3 = I1-(I2)-(I3) ; 15735 S1++; 15736 } 15737 if ((2*I1+I2)%3 == 0) { 15738 I3 = (2*I1+I2)/3 ; 15739 J1 = -2*I1+3*I3 ; 15740 if ((2*I1+J1)%3 == 0) { 15741 J2 = (2*I1+J1)/3 ; 15742 J3 = 3*I1-4*J2 ; 15743 S1++; 15744 S2++; 15745 } 15746 } 15747 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 15748 J3 = I1-(I2)-(I3) ; 15749 S1++; 15750 J3 = -I1-2*(I2)+2*I3 ; 15751 S2++; 15752 } 15753 } 15754 I2 = -2*I1+3*N1 ; 15755 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) { 15756 J3 = -I1-2*(I2)+2*I3 ; 15757 S2++; 15758 J3 = I1-(I2)-(I3) ; 15759 S1++; 15760 } 15761 J1 = -2*I1+3*N1 ; 15762 if ((2*I1+J1)%3 == 0) { 15763 J2 = (2*I1+J1)/3 ; 15764 J3 = 3*I1-4*J2 ; 15765 S1++; 15766 S2++; 15767 } 15768 for (I2=-2*I1+3*N1+1;I2<=floord(-I1+2*N1,2);I2++) { 15769 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 15770 J3 = I1-(I2)-(I3) ; 15771 S1++; 15772 } 15773 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 15774 J3 = -I1-2*(I2)+2*I3 ; 15775 S2++; 15776 J3 = I1-(I2)-(I3) ; 15777 S1++; 15778 } 15779 } 15780 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 15781 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 15782 J3 = I1-(I2)-(I3) ; 15783 S1++; 15784 } 15785 } 15786} 15787if ((N1 >= 17) && (N1 <= 25)) { 15788 if ((21*N1-7)%15 == 0) { 15789 I1 = (21*N1-7)/15 ; 15790 for (I2=1;I2<=floord(3*N1-11,15);I2++) { 15791 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 15792 J3 = -I1-2*(I2)+2*I3 ; 15793 S2++; 15794 } 15795 } 15796 for (I2=ceild(6*N1-7,30);I2<=floord(21*N1-22,105);I2++) { 15797 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 15798 J3 = -I1-2*(I2)+2*I3 ; 15799 S2++; 15800 } 15801 for (I3=I1-2*I2;I3<=N1;I3++) { 15802 J3 = I1-(I2)-(I3) ; 15803 S1++; 15804 J3 = -I1-2*(I2)+2*I3 ; 15805 S2++; 15806 } 15807 } 15808 if ((3*N1-1)%15 == 0) { 15809 I2 = (3*N1-1)/15 ; 15810 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 15811 J3 = -I1-2*(I2)+2*I3 ; 15812 S2++; 15813 } 15814 if (5*I1%7 == 0) { 15815 I3 = 5*I1/7 ; 15816 J1 = -2*I1+3*I3 ; 15817 if ((2*I1+J1)%3 == 0) { 15818 J2 = (2*I1+J1)/3 ; 15819 J3 = 3*I1-4*J2 ; 15820 S1++; 15821 S2++; 15822 } 15823 } 15824 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) { 15825 J3 = I1-(I2)-(I3) ; 15826 S1++; 15827 J3 = -I1-2*(I2)+2*I3 ; 15828 S2++; 15829 } 15830 } 15831 if ((3*N1+14)%15 == 0) { 15832 I2 = (3*N1+14)/15 ; 15833 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) { 15834 J3 = I1-(I2)-(I3) ; 15835 S1++; 15836 } 15837 for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) { 15838 J3 = -I1-2*(I2)+2*I3 ; 15839 S2++; 15840 J3 = I1-(I2)-(I3) ; 15841 S1++; 15842 } 15843 J1 = -2*I1+3*N1 ; 15844 if ((2*I1+J1)%3 == 0) { 15845 J2 = (2*I1+J1)/3 ; 15846 J3 = 3*I1-4*J2 ; 15847 S1++; 15848 S2++; 15849 } 15850 } 15851 for (I2=ceild(3*N1+29,15);I2<=floord(9*N1+7,30);I2++) { 15852 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 15853 J3 = I1-(I2)-(I3) ; 15854 S1++; 15855 } 15856 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 15857 J3 = -I1-2*(I2)+2*I3 ; 15858 S2++; 15859 J3 = I1-(I2)-(I3) ; 15860 S1++; 15861 } 15862 } 15863 for (I2=ceild(9*N1+22,30);I2<=N1;I2++) { 15864 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 15865 J3 = I1-(I2)-(I3) ; 15866 S1++; 15867 } 15868 } 15869 } 15870} 15871for (I1=ceild(18*N1+2,13);I1<=min(floord(21*N1-8,15),floord(18*N1+5,13));I1++) { 15872 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 15873 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 15874 J3 = -I1-2*(I2)+2*I3 ; 15875 S2++; 15876 } 15877 } 15878 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,7);I2++) { 15879 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 15880 J3 = -I1-2*(I2)+2*I3 ; 15881 S2++; 15882 } 15883 for (I3=I1-2*I2;I3<=N1;I3++) { 15884 J3 = I1-(I2)-(I3) ; 15885 S1++; 15886 J3 = -I1-2*(I2)+2*I3 ; 15887 S2++; 15888 } 15889 } 15890 if (I1%7 == 0) { 15891 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 15892 J3 = -I1-2*(I2)+2*I3 ; 15893 S2++; 15894 } 15895 if (5*I1%7 == 0) { 15896 I3 = 5*I1/7 ; 15897 J1 = -2*I1+3*I3 ; 15898 if ((2*I1+J1)%3 == 0) { 15899 J2 = (2*I1+J1)/3 ; 15900 J3 = 3*I1-4*J2 ; 15901 S1++; 15902 S2++; 15903 } 15904 } 15905 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) { 15906 J3 = I1-(I2)-(I3) ; 15907 S1++; 15908 J3 = -I1-2*(I2)+2*I3 ; 15909 S2++; 15910 } 15911 } 15912 for (I2=ceild(I1+1,7);I2<=-2*I1+3*N1-1;I2++) { 15913 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 15914 J3 = -I1-2*(I2)+2*I3 ; 15915 S2++; 15916 } 15917 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 15918 J3 = -I1-2*(I2)+2*I3 ; 15919 S2++; 15920 J3 = I1-(I2)-(I3) ; 15921 S1++; 15922 } 15923 if ((2*I1+I2)%3 == 0) { 15924 I3 = (2*I1+I2)/3 ; 15925 J1 = -2*I1+3*I3 ; 15926 if ((2*I1+J1)%3 == 0) { 15927 J2 = (2*I1+J1)/3 ; 15928 J3 = 3*I1-4*J2 ; 15929 S1++; 15930 S2++; 15931 } 15932 } 15933 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 15934 J3 = I1-(I2)-(I3) ; 15935 S1++; 15936 J3 = -I1-2*(I2)+2*I3 ; 15937 S2++; 15938 } 15939 } 15940 I2 = -2*I1+3*N1 ; 15941 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) { 15942 J3 = -I1-2*(I2)+2*I3 ; 15943 S2++; 15944 } 15945 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) { 15946 J3 = -I1-2*(I2)+2*I3 ; 15947 S2++; 15948 J3 = I1-(I2)-(I3) ; 15949 S1++; 15950 } 15951 J1 = -2*I1+3*N1 ; 15952 if ((2*I1+J1)%3 == 0) { 15953 J2 = (2*I1+J1)/3 ; 15954 J3 = 3*I1-4*J2 ; 15955 S1++; 15956 S2++; 15957 } 15958 for (I2=-2*I1+3*N1+1;I2<=floord(-I1+2*N1,2);I2++) { 15959 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 15960 J3 = I1-(I2)-(I3) ; 15961 S1++; 15962 } 15963 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 15964 J3 = -I1-2*(I2)+2*I3 ; 15965 S2++; 15966 J3 = I1-(I2)-(I3) ; 15967 S1++; 15968 } 15969 } 15970 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 15971 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 15972 J3 = I1-(I2)-(I3) ; 15973 S1++; 15974 } 15975 } 15976} 15977if ((N1 <= 35) && (N1 >= 31)) { 15978 if ((21*N1-7)%15 == 0) { 15979 I1 = (21*N1-7)/15 ; 15980 for (I2=1;I2<=floord(3*N1-11,15);I2++) { 15981 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 15982 J3 = -I1-2*(I2)+2*I3 ; 15983 S2++; 15984 } 15985 } 15986 for (I2=ceild(6*N1-7,30);I2<=floord(21*N1-22,105);I2++) { 15987 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 15988 J3 = -I1-2*(I2)+2*I3 ; 15989 S2++; 15990 } 15991 for (I3=I1-2*I2;I3<=N1;I3++) { 15992 J3 = I1-(I2)-(I3) ; 15993 S1++; 15994 J3 = -I1-2*(I2)+2*I3 ; 15995 S2++; 15996 } 15997 } 15998 if ((3*N1-1)%15 == 0) { 15999 I2 = (3*N1-1)/15 ; 16000 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 16001 J3 = -I1-2*(I2)+2*I3 ; 16002 S2++; 16003 } 16004 if (5*I1%7 == 0) { 16005 I3 = 5*I1/7 ; 16006 J1 = -2*I1+3*I3 ; 16007 if ((2*I1+J1)%3 == 0) { 16008 J2 = (2*I1+J1)/3 ; 16009 J3 = 3*I1-4*J2 ; 16010 S1++; 16011 S2++; 16012 } 16013 } 16014 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) { 16015 J3 = I1-(I2)-(I3) ; 16016 S1++; 16017 J3 = -I1-2*(I2)+2*I3 ; 16018 S2++; 16019 } 16020 } 16021 if ((3*N1+14)%15 == 0) { 16022 I2 = (3*N1+14)/15 ; 16023 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) { 16024 J3 = -I1-2*(I2)+2*I3 ; 16025 S2++; 16026 J3 = I1-(I2)-(I3) ; 16027 S1++; 16028 } 16029 J1 = -2*I1+3*N1 ; 16030 if ((2*I1+J1)%3 == 0) { 16031 J2 = (2*I1+J1)/3 ; 16032 J3 = 3*I1-4*J2 ; 16033 S1++; 16034 S2++; 16035 } 16036 } 16037 for (I2=ceild(3*N1+29,15);I2<=floord(9*N1+7,30);I2++) { 16038 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 16039 J3 = I1-(I2)-(I3) ; 16040 S1++; 16041 } 16042 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 16043 J3 = -I1-2*(I2)+2*I3 ; 16044 S2++; 16045 J3 = I1-(I2)-(I3) ; 16046 S1++; 16047 } 16048 } 16049 for (I2=ceild(9*N1+22,30);I2<=N1;I2++) { 16050 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 16051 J3 = I1-(I2)-(I3) ; 16052 S1++; 16053 } 16054 } 16055 } 16056} 16057if ((N1 >= 16) && (N1 <= 21)) { 16058 if ((7*N1-2)%5 == 0) { 16059 I1 = (7*N1-2)/5 ; 16060 for (I2=1;I2<=floord(2*N1-7,10);I2++) { 16061 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 16062 J3 = -I1-2*(I2)+2*I3 ; 16063 S2++; 16064 } 16065 } 16066 if ((N1-1)%5 == 0) { 16067 I2 = (N1-1)/5 ; 16068 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 16069 J3 = -I1-2*(I2)+2*I3 ; 16070 S2++; 16071 } 16072 for (I3=I1-2*I2;I3<=N1;I3++) { 16073 J3 = I1-(I2)-(I3) ; 16074 S1++; 16075 J3 = -I1-2*(I2)+2*I3 ; 16076 S2++; 16077 } 16078 } 16079 if ((N1+4)%5 == 0) { 16080 I2 = (N1+4)/5 ; 16081 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) { 16082 J3 = I1-(I2)-(I3) ; 16083 S1++; 16084 } 16085 for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) { 16086 J3 = -I1-2*(I2)+2*I3 ; 16087 S2++; 16088 J3 = I1-(I2)-(I3) ; 16089 S1++; 16090 } 16091 J1 = -2*I1+3*N1 ; 16092 if ((2*I1+J1)%3 == 0) { 16093 J2 = (2*I1+J1)/3 ; 16094 J3 = 3*I1-4*J2 ; 16095 S1++; 16096 S2++; 16097 } 16098 } 16099 for (I2=ceild(N1+9,5);I2<=floord(3*N1+2,10);I2++) { 16100 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 16101 J3 = I1-(I2)-(I3) ; 16102 S1++; 16103 } 16104 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 16105 J3 = -I1-2*(I2)+2*I3 ; 16106 S2++; 16107 J3 = I1-(I2)-(I3) ; 16108 S1++; 16109 } 16110 } 16111 for (I2=ceild(3*N1+7,10);I2<=N1;I2++) { 16112 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 16113 J3 = I1-(I2)-(I3) ; 16114 S1++; 16115 } 16116 } 16117 } 16118} 16119for (I1=ceild(18*N1+6,13);I1<=min(floord(21*N1-8,15),floord(18*N1+7,13));I1++) { 16120 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 16121 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 16122 J3 = -I1-2*(I2)+2*I3 ; 16123 S2++; 16124 } 16125 } 16126 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,7);I2++) { 16127 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 16128 J3 = -I1-2*(I2)+2*I3 ; 16129 S2++; 16130 } 16131 for (I3=I1-2*I2;I3<=N1;I3++) { 16132 J3 = I1-(I2)-(I3) ; 16133 S1++; 16134 J3 = -I1-2*(I2)+2*I3 ; 16135 S2++; 16136 } 16137 } 16138 if (I1%7 == 0) { 16139 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 16140 J3 = -I1-2*(I2)+2*I3 ; 16141 S2++; 16142 } 16143 if (5*I1%7 == 0) { 16144 I3 = 5*I1/7 ; 16145 J1 = -2*I1+3*I3 ; 16146 if ((2*I1+J1)%3 == 0) { 16147 J2 = (2*I1+J1)/3 ; 16148 J3 = 3*I1-4*J2 ; 16149 S1++; 16150 S2++; 16151 } 16152 } 16153 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) { 16154 J3 = I1-(I2)-(I3) ; 16155 S1++; 16156 J3 = -I1-2*(I2)+2*I3 ; 16157 S2++; 16158 } 16159 } 16160 for (I2=ceild(I1+1,7);I2<=-2*I1+3*N1-1;I2++) { 16161 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 16162 J3 = -I1-2*(I2)+2*I3 ; 16163 S2++; 16164 } 16165 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 16166 J3 = -I1-2*(I2)+2*I3 ; 16167 S2++; 16168 J3 = I1-(I2)-(I3) ; 16169 S1++; 16170 } 16171 if ((2*I1+I2)%3 == 0) { 16172 I3 = (2*I1+I2)/3 ; 16173 J1 = -2*I1+3*I3 ; 16174 if ((2*I1+J1)%3 == 0) { 16175 J2 = (2*I1+J1)/3 ; 16176 J3 = 3*I1-4*J2 ; 16177 S1++; 16178 S2++; 16179 } 16180 } 16181 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 16182 J3 = I1-(I2)-(I3) ; 16183 S1++; 16184 J3 = -I1-2*(I2)+2*I3 ; 16185 S2++; 16186 } 16187 } 16188 I2 = -2*I1+3*N1 ; 16189 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) { 16190 J3 = -I1-2*(I2)+2*I3 ; 16191 S2++; 16192 } 16193 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) { 16194 J3 = -I1-2*(I2)+2*I3 ; 16195 S2++; 16196 J3 = I1-(I2)-(I3) ; 16197 S1++; 16198 } 16199 J1 = -2*I1+3*N1 ; 16200 if ((2*I1+J1)%3 == 0) { 16201 J2 = (2*I1+J1)/3 ; 16202 J3 = 3*I1-4*J2 ; 16203 S1++; 16204 S2++; 16205 } 16206 for (I2=-2*I1+3*N1+1;I2<=floord(I1,6);I2++) { 16207 for (I3=I1-2*I2;I3<=N1;I3++) { 16208 J3 = -I1-2*(I2)+2*I3 ; 16209 S2++; 16210 J3 = I1-(I2)-(I3) ; 16211 S1++; 16212 } 16213 } 16214 for (I2=ceild(I1+1,6);I2<=floord(-I1+2*N1,2);I2++) { 16215 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 16216 J3 = I1-(I2)-(I3) ; 16217 S1++; 16218 } 16219 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 16220 J3 = -I1-2*(I2)+2*I3 ; 16221 S2++; 16222 J3 = I1-(I2)-(I3) ; 16223 S1++; 16224 } 16225 } 16226 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 16227 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 16228 J3 = I1-(I2)-(I3) ; 16229 S1++; 16230 } 16231 } 16232} 16233if ((N1 <= 55) && (N1 >= 41)) { 16234 if ((21*N1-7)%15 == 0) { 16235 I1 = (21*N1-7)/15 ; 16236 for (I2=1;I2<=floord(3*N1-11,15);I2++) { 16237 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 16238 J3 = -I1-2*(I2)+2*I3 ; 16239 S2++; 16240 } 16241 } 16242 for (I2=ceild(6*N1-7,30);I2<=floord(21*N1-22,105);I2++) { 16243 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 16244 J3 = -I1-2*(I2)+2*I3 ; 16245 S2++; 16246 } 16247 for (I3=I1-2*I2;I3<=N1;I3++) { 16248 J3 = I1-(I2)-(I3) ; 16249 S1++; 16250 J3 = -I1-2*(I2)+2*I3 ; 16251 S2++; 16252 } 16253 } 16254 if ((3*N1-1)%15 == 0) { 16255 I2 = (3*N1-1)/15 ; 16256 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 16257 J3 = -I1-2*(I2)+2*I3 ; 16258 S2++; 16259 } 16260 if (5*I1%7 == 0) { 16261 I3 = 5*I1/7 ; 16262 J1 = -2*I1+3*I3 ; 16263 if ((2*I1+J1)%3 == 0) { 16264 J2 = (2*I1+J1)/3 ; 16265 J3 = 3*I1-4*J2 ; 16266 S1++; 16267 S2++; 16268 } 16269 } 16270 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) { 16271 J3 = I1-(I2)-(I3) ; 16272 S1++; 16273 J3 = -I1-2*(I2)+2*I3 ; 16274 S2++; 16275 } 16276 } 16277 if ((3*N1+14)%15 == 0) { 16278 I2 = (3*N1+14)/15 ; 16279 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) { 16280 J3 = -I1-2*(I2)+2*I3 ; 16281 S2++; 16282 } 16283 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) { 16284 J3 = -I1-2*(I2)+2*I3 ; 16285 S2++; 16286 J3 = I1-(I2)-(I3) ; 16287 S1++; 16288 } 16289 J1 = -2*I1+3*N1 ; 16290 if ((2*I1+J1)%3 == 0) { 16291 J2 = (2*I1+J1)/3 ; 16292 J3 = 3*I1-4*J2 ; 16293 S1++; 16294 S2++; 16295 } 16296 } 16297 for (I2=ceild(3*N1+29,15);I2<=floord(9*N1+7,30);I2++) { 16298 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 16299 J3 = I1-(I2)-(I3) ; 16300 S1++; 16301 } 16302 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 16303 J3 = -I1-2*(I2)+2*I3 ; 16304 S2++; 16305 J3 = I1-(I2)-(I3) ; 16306 S1++; 16307 } 16308 } 16309 for (I2=ceild(9*N1+22,30);I2<=N1;I2++) { 16310 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 16311 J3 = I1-(I2)-(I3) ; 16312 S1++; 16313 } 16314 } 16315 } 16316} 16317if ((N1 <= 31) && (N1 >= 26)) { 16318 if ((7*N1-2)%5 == 0) { 16319 I1 = (7*N1-2)/5 ; 16320 for (I2=1;I2<=floord(2*N1-7,10);I2++) { 16321 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 16322 J3 = -I1-2*(I2)+2*I3 ; 16323 S2++; 16324 } 16325 } 16326 if ((N1-1)%5 == 0) { 16327 I2 = (N1-1)/5 ; 16328 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 16329 J3 = -I1-2*(I2)+2*I3 ; 16330 S2++; 16331 } 16332 for (I3=I1-2*I2;I3<=N1;I3++) { 16333 J3 = I1-(I2)-(I3) ; 16334 S1++; 16335 J3 = -I1-2*(I2)+2*I3 ; 16336 S2++; 16337 } 16338 } 16339 if ((N1+4)%5 == 0) { 16340 I2 = (N1+4)/5 ; 16341 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) { 16342 J3 = -I1-2*(I2)+2*I3 ; 16343 S2++; 16344 J3 = I1-(I2)-(I3) ; 16345 S1++; 16346 } 16347 J1 = -2*I1+3*N1 ; 16348 if ((2*I1+J1)%3 == 0) { 16349 J2 = (2*I1+J1)/3 ; 16350 J3 = 3*I1-4*J2 ; 16351 S1++; 16352 S2++; 16353 } 16354 } 16355 for (I2=ceild(N1+9,5);I2<=floord(3*N1+2,10);I2++) { 16356 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 16357 J3 = I1-(I2)-(I3) ; 16358 S1++; 16359 } 16360 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 16361 J3 = -I1-2*(I2)+2*I3 ; 16362 S2++; 16363 J3 = I1-(I2)-(I3) ; 16364 S1++; 16365 } 16366 } 16367 for (I2=ceild(3*N1+7,10);I2<=N1;I2++) { 16368 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 16369 J3 = I1-(I2)-(I3) ; 16370 S1++; 16371 } 16372 } 16373 } 16374} 16375if ((N1 <= 18) && (N1 >= 13)) { 16376 if ((7*N1-1)%5 == 0) { 16377 I1 = (7*N1-1)/5 ; 16378 for (I2=1;I2<=floord(N1-3,5);I2++) { 16379 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 16380 J3 = -I1-2*(I2)+2*I3 ; 16381 S2++; 16382 } 16383 } 16384 if ((N1+2)%5 == 0) { 16385 I2 = (N1+2)/5 ; 16386 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) { 16387 J3 = -I1-2*(I2)+2*I3 ; 16388 S2++; 16389 J3 = I1-(I2)-(I3) ; 16390 S1++; 16391 } 16392 J1 = -2*I1+3*N1 ; 16393 if ((2*I1+J1)%3 == 0) { 16394 J2 = (2*I1+J1)/3 ; 16395 J3 = 3*I1-4*J2 ; 16396 S1++; 16397 S2++; 16398 } 16399 } 16400 for (I2=ceild(N1+7,5);I2<=floord(3*N1+1,10);I2++) { 16401 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 16402 J3 = I1-(I2)-(I3) ; 16403 S1++; 16404 } 16405 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 16406 J3 = -I1-2*(I2)+2*I3 ; 16407 S2++; 16408 J3 = I1-(I2)-(I3) ; 16409 S1++; 16410 } 16411 } 16412 for (I2=ceild(3*N1+6,10);I2<=N1;I2++) { 16413 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 16414 J3 = I1-(I2)-(I3) ; 16415 S1++; 16416 } 16417 } 16418 } 16419} 16420for (I1=ceild(18*N1+8,13);I1<=floord(21*N1-8,15);I1++) { 16421 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 16422 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 16423 J3 = -I1-2*(I2)+2*I3 ; 16424 S2++; 16425 } 16426 } 16427 for (I2=ceild(I1-N1,2);I2<=floord(I1-1,7);I2++) { 16428 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 16429 J3 = -I1-2*(I2)+2*I3 ; 16430 S2++; 16431 } 16432 for (I3=I1-2*I2;I3<=N1;I3++) { 16433 J3 = I1-(I2)-(I3) ; 16434 S1++; 16435 J3 = -I1-2*(I2)+2*I3 ; 16436 S2++; 16437 } 16438 } 16439 if (I1%7 == 0) { 16440 for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) { 16441 J3 = -I1-2*(I2)+2*I3 ; 16442 S2++; 16443 } 16444 if (5*I1%7 == 0) { 16445 I3 = 5*I1/7 ; 16446 J1 = -2*I1+3*I3 ; 16447 if ((2*I1+J1)%3 == 0) { 16448 J2 = (2*I1+J1)/3 ; 16449 J3 = 3*I1-4*J2 ; 16450 S1++; 16451 S2++; 16452 } 16453 } 16454 for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) { 16455 J3 = I1-(I2)-(I3) ; 16456 S1++; 16457 J3 = -I1-2*(I2)+2*I3 ; 16458 S2++; 16459 } 16460 } 16461 for (I2=ceild(I1+1,7);I2<=-2*I1+3*N1-1;I2++) { 16462 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 16463 J3 = -I1-2*(I2)+2*I3 ; 16464 S2++; 16465 } 16466 for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) { 16467 J3 = -I1-2*(I2)+2*I3 ; 16468 S2++; 16469 J3 = I1-(I2)-(I3) ; 16470 S1++; 16471 } 16472 if ((2*I1+I2)%3 == 0) { 16473 I3 = (2*I1+I2)/3 ; 16474 J1 = -2*I1+3*I3 ; 16475 if ((2*I1+J1)%3 == 0) { 16476 J2 = (2*I1+J1)/3 ; 16477 J3 = 3*I1-4*J2 ; 16478 S1++; 16479 S2++; 16480 } 16481 } 16482 for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) { 16483 J3 = I1-(I2)-(I3) ; 16484 S1++; 16485 J3 = -I1-2*(I2)+2*I3 ; 16486 S2++; 16487 } 16488 } 16489 I2 = -2*I1+3*N1 ; 16490 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) { 16491 J3 = -I1-2*(I2)+2*I3 ; 16492 S2++; 16493 } 16494 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) { 16495 J3 = -I1-2*(I2)+2*I3 ; 16496 S2++; 16497 J3 = I1-(I2)-(I3) ; 16498 S1++; 16499 } 16500 J1 = -2*I1+3*N1 ; 16501 if ((2*I1+J1)%3 == 0) { 16502 J2 = (2*I1+J1)/3 ; 16503 J3 = 3*I1-4*J2 ; 16504 S1++; 16505 S2++; 16506 } 16507 for (I2=-2*I1+3*N1+1;I2<=floord(I1-2,6);I2++) { 16508 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 16509 J3 = -I1-2*(I2)+2*I3 ; 16510 S2++; 16511 } 16512 for (I3=I1-2*I2;I3<=N1;I3++) { 16513 J3 = -I1-2*(I2)+2*I3 ; 16514 S2++; 16515 J3 = I1-(I2)-(I3) ; 16516 S1++; 16517 } 16518 } 16519 for (I2=ceild(I1-1,6);I2<=floord(I1,6);I2++) { 16520 for (I3=I1-2*I2;I3<=N1;I3++) { 16521 J3 = -I1-2*(I2)+2*I3 ; 16522 S2++; 16523 J3 = I1-(I2)-(I3) ; 16524 S1++; 16525 } 16526 } 16527 for (I2=ceild(I1+1,6);I2<=floord(-I1+2*N1,2);I2++) { 16528 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 16529 J3 = I1-(I2)-(I3) ; 16530 S1++; 16531 } 16532 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 16533 J3 = -I1-2*(I2)+2*I3 ; 16534 S2++; 16535 J3 = I1-(I2)-(I3) ; 16536 S1++; 16537 } 16538 } 16539 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 16540 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 16541 J3 = I1-(I2)-(I3) ; 16542 S1++; 16543 } 16544 } 16545} 16546if ((N1 >= 61) && (N1 <= 65)) { 16547 if ((21*N1-7)%15 == 0) { 16548 I1 = (21*N1-7)/15 ; 16549 for (I2=1;I2<=floord(3*N1-11,15);I2++) { 16550 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 16551 J3 = -I1-2*(I2)+2*I3 ; 16552 S2++; 16553 } 16554 } 16555 for (I2=ceild(6*N1-7,30);I2<=floord(21*N1-22,105);I2++) { 16556 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 16557 J3 = -I1-2*(I2)+2*I3 ; 16558 S2++; 16559 } 16560 for (I3=I1-2*I2;I3<=N1;I3++) { 16561 J3 = I1-(I2)-(I3) ; 16562 S1++; 16563 J3 = -I1-2*(I2)+2*I3 ; 16564 S2++; 16565 } 16566 } 16567 if ((3*N1-1)%15 == 0) { 16568 I2 = (3*N1-1)/15 ; 16569 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 16570 J3 = -I1-2*(I2)+2*I3 ; 16571 S2++; 16572 } 16573 if (5*I1%7 == 0) { 16574 I3 = 5*I1/7 ; 16575 J1 = -2*I1+3*I3 ; 16576 if ((2*I1+J1)%3 == 0) { 16577 J2 = (2*I1+J1)/3 ; 16578 J3 = 3*I1-4*J2 ; 16579 S1++; 16580 S2++; 16581 } 16582 } 16583 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) { 16584 J3 = I1-(I2)-(I3) ; 16585 S1++; 16586 J3 = -I1-2*(I2)+2*I3 ; 16587 S2++; 16588 } 16589 } 16590 if ((3*N1+14)%15 == 0) { 16591 I2 = (3*N1+14)/15 ; 16592 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) { 16593 J3 = -I1-2*(I2)+2*I3 ; 16594 S2++; 16595 } 16596 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) { 16597 J3 = -I1-2*(I2)+2*I3 ; 16598 S2++; 16599 J3 = I1-(I2)-(I3) ; 16600 S1++; 16601 } 16602 J1 = -2*I1+3*N1 ; 16603 if ((2*I1+J1)%3 == 0) { 16604 J2 = (2*I1+J1)/3 ; 16605 J3 = 3*I1-4*J2 ; 16606 S1++; 16607 S2++; 16608 } 16609 } 16610 for (I2=ceild(3*N1+29,15);I2<=floord(21*N1-7,90);I2++) { 16611 for (I3=I1-2*I2;I3<=N1;I3++) { 16612 J3 = -I1-2*(I2)+2*I3 ; 16613 S2++; 16614 J3 = I1-(I2)-(I3) ; 16615 S1++; 16616 } 16617 } 16618 for (I2=ceild(21*N1+8,90);I2<=floord(9*N1+7,30);I2++) { 16619 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 16620 J3 = I1-(I2)-(I3) ; 16621 S1++; 16622 } 16623 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 16624 J3 = -I1-2*(I2)+2*I3 ; 16625 S2++; 16626 J3 = I1-(I2)-(I3) ; 16627 S1++; 16628 } 16629 } 16630 for (I2=ceild(9*N1+22,30);I2<=N1;I2++) { 16631 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 16632 J3 = I1-(I2)-(I3) ; 16633 S1++; 16634 } 16635 } 16636 } 16637} 16638if ((N1 <= 51) && (N1 >= 36)) { 16639 if ((7*N1-2)%5 == 0) { 16640 I1 = (7*N1-2)/5 ; 16641 for (I2=1;I2<=floord(2*N1-7,10);I2++) { 16642 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 16643 J3 = -I1-2*(I2)+2*I3 ; 16644 S2++; 16645 } 16646 } 16647 if ((N1-1)%5 == 0) { 16648 I2 = (N1-1)/5 ; 16649 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 16650 J3 = -I1-2*(I2)+2*I3 ; 16651 S2++; 16652 } 16653 for (I3=I1-2*I2;I3<=N1;I3++) { 16654 J3 = I1-(I2)-(I3) ; 16655 S1++; 16656 J3 = -I1-2*(I2)+2*I3 ; 16657 S2++; 16658 } 16659 } 16660 if ((N1+4)%5 == 0) { 16661 I2 = (N1+4)/5 ; 16662 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) { 16663 J3 = -I1-2*(I2)+2*I3 ; 16664 S2++; 16665 } 16666 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) { 16667 J3 = -I1-2*(I2)+2*I3 ; 16668 S2++; 16669 J3 = I1-(I2)-(I3) ; 16670 S1++; 16671 } 16672 J1 = -2*I1+3*N1 ; 16673 if ((2*I1+J1)%3 == 0) { 16674 J2 = (2*I1+J1)/3 ; 16675 J3 = 3*I1-4*J2 ; 16676 S1++; 16677 S2++; 16678 } 16679 } 16680 for (I2=ceild(N1+9,5);I2<=floord(3*N1+2,10);I2++) { 16681 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 16682 J3 = I1-(I2)-(I3) ; 16683 S1++; 16684 } 16685 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 16686 J3 = -I1-2*(I2)+2*I3 ; 16687 S2++; 16688 J3 = I1-(I2)-(I3) ; 16689 S1++; 16690 } 16691 } 16692 for (I2=ceild(3*N1+7,10);I2<=N1;I2++) { 16693 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 16694 J3 = I1-(I2)-(I3) ; 16695 S1++; 16696 } 16697 } 16698 } 16699} 16700if (N1 >= 71) { 16701 if ((21*N1-7)%15 == 0) { 16702 I1 = (21*N1-7)/15 ; 16703 for (I2=1;I2<=floord(3*N1-11,15);I2++) { 16704 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 16705 J3 = -I1-2*(I2)+2*I3 ; 16706 S2++; 16707 } 16708 } 16709 for (I2=ceild(6*N1-7,30);I2<=floord(21*N1-22,105);I2++) { 16710 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 16711 J3 = -I1-2*(I2)+2*I3 ; 16712 S2++; 16713 } 16714 for (I3=I1-2*I2;I3<=N1;I3++) { 16715 J3 = I1-(I2)-(I3) ; 16716 S1++; 16717 J3 = -I1-2*(I2)+2*I3 ; 16718 S2++; 16719 } 16720 } 16721 if ((3*N1-1)%15 == 0) { 16722 I2 = (3*N1-1)/15 ; 16723 for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) { 16724 J3 = -I1-2*(I2)+2*I3 ; 16725 S2++; 16726 } 16727 if (5*I1%7 == 0) { 16728 I3 = 5*I1/7 ; 16729 J1 = -2*I1+3*I3 ; 16730 if ((2*I1+J1)%3 == 0) { 16731 J2 = (2*I1+J1)/3 ; 16732 J3 = 3*I1-4*J2 ; 16733 S1++; 16734 S2++; 16735 } 16736 } 16737 for (I3=ceild(15*I2+1,3);I3<=N1;I3++) { 16738 J3 = I1-(I2)-(I3) ; 16739 S1++; 16740 J3 = -I1-2*(I2)+2*I3 ; 16741 S2++; 16742 } 16743 } 16744 if ((3*N1+14)%15 == 0) { 16745 I2 = (3*N1+14)/15 ; 16746 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) { 16747 J3 = -I1-2*(I2)+2*I3 ; 16748 S2++; 16749 } 16750 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) { 16751 J3 = -I1-2*(I2)+2*I3 ; 16752 S2++; 16753 J3 = I1-(I2)-(I3) ; 16754 S1++; 16755 } 16756 J1 = -2*I1+3*N1 ; 16757 if ((2*I1+J1)%3 == 0) { 16758 J2 = (2*I1+J1)/3 ; 16759 J3 = 3*I1-4*J2 ; 16760 S1++; 16761 S2++; 16762 } 16763 } 16764 for (I2=ceild(3*N1+29,15);I2<=floord(21*N1-37,90);I2++) { 16765 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 16766 J3 = -I1-2*(I2)+2*I3 ; 16767 S2++; 16768 } 16769 for (I3=I1-2*I2;I3<=N1;I3++) { 16770 J3 = -I1-2*(I2)+2*I3 ; 16771 S2++; 16772 J3 = I1-(I2)-(I3) ; 16773 S1++; 16774 } 16775 } 16776 for (I2=ceild(21*N1-22,90);I2<=floord(21*N1-7,90);I2++) { 16777 for (I3=I1-2*I2;I3<=N1;I3++) { 16778 J3 = -I1-2*(I2)+2*I3 ; 16779 S2++; 16780 J3 = I1-(I2)-(I3) ; 16781 S1++; 16782 } 16783 } 16784 for (I2=ceild(21*N1+8,90);I2<=floord(9*N1+7,30);I2++) { 16785 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 16786 J3 = I1-(I2)-(I3) ; 16787 S1++; 16788 } 16789 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 16790 J3 = -I1-2*(I2)+2*I3 ; 16791 S2++; 16792 J3 = I1-(I2)-(I3) ; 16793 S1++; 16794 } 16795 } 16796 for (I2=ceild(9*N1+22,30);I2<=N1;I2++) { 16797 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 16798 J3 = I1-(I2)-(I3) ; 16799 S1++; 16800 } 16801 } 16802 } 16803} 16804if ((N1 >= 56) && (N1 <= 61)) { 16805 if ((7*N1-2)%5 == 0) { 16806 I1 = (7*N1-2)/5 ; 16807 for (I2=1;I2<=floord(2*N1-7,10);I2++) { 16808 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 16809 J3 = -I1-2*(I2)+2*I3 ; 16810 S2++; 16811 } 16812 } 16813 if ((N1-1)%5 == 0) { 16814 I2 = (N1-1)/5 ; 16815 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 16816 J3 = -I1-2*(I2)+2*I3 ; 16817 S2++; 16818 } 16819 for (I3=I1-2*I2;I3<=N1;I3++) { 16820 J3 = I1-(I2)-(I3) ; 16821 S1++; 16822 J3 = -I1-2*(I2)+2*I3 ; 16823 S2++; 16824 } 16825 } 16826 if ((N1+4)%5 == 0) { 16827 I2 = (N1+4)/5 ; 16828 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) { 16829 J3 = -I1-2*(I2)+2*I3 ; 16830 S2++; 16831 } 16832 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) { 16833 J3 = -I1-2*(I2)+2*I3 ; 16834 S2++; 16835 J3 = I1-(I2)-(I3) ; 16836 S1++; 16837 } 16838 J1 = -2*I1+3*N1 ; 16839 if ((2*I1+J1)%3 == 0) { 16840 J2 = (2*I1+J1)/3 ; 16841 J3 = 3*I1-4*J2 ; 16842 S1++; 16843 S2++; 16844 } 16845 } 16846 for (I2=ceild(N1+9,5);I2<=floord(7*N1-2,30);I2++) { 16847 for (I3=I1-2*I2;I3<=N1;I3++) { 16848 J3 = -I1-2*(I2)+2*I3 ; 16849 S2++; 16850 J3 = I1-(I2)-(I3) ; 16851 S1++; 16852 } 16853 } 16854 for (I2=ceild(7*N1+3,30);I2<=floord(3*N1+2,10);I2++) { 16855 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 16856 J3 = I1-(I2)-(I3) ; 16857 S1++; 16858 } 16859 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 16860 J3 = -I1-2*(I2)+2*I3 ; 16861 S2++; 16862 J3 = I1-(I2)-(I3) ; 16863 S1++; 16864 } 16865 } 16866 for (I2=ceild(3*N1+7,10);I2<=N1;I2++) { 16867 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 16868 J3 = I1-(I2)-(I3) ; 16869 S1++; 16870 } 16871 } 16872 } 16873} 16874if ((N1 >= 43) && (N1 <= 48)) { 16875 if ((7*N1-1)%5 == 0) { 16876 I1 = (7*N1-1)/5 ; 16877 for (I2=1;I2<=floord(N1-3,5);I2++) { 16878 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 16879 J3 = -I1-2*(I2)+2*I3 ; 16880 S2++; 16881 } 16882 } 16883 if ((N1+2)%5 == 0) { 16884 I2 = (N1+2)/5 ; 16885 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) { 16886 J3 = -I1-2*(I2)+2*I3 ; 16887 S2++; 16888 } 16889 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) { 16890 J3 = -I1-2*(I2)+2*I3 ; 16891 S2++; 16892 J3 = I1-(I2)-(I3) ; 16893 S1++; 16894 } 16895 J1 = -2*I1+3*N1 ; 16896 if ((2*I1+J1)%3 == 0) { 16897 J2 = (2*I1+J1)/3 ; 16898 J3 = 3*I1-4*J2 ; 16899 S1++; 16900 S2++; 16901 } 16902 } 16903 for (I2=ceild(N1+7,5);I2<=floord(7*N1-1,30);I2++) { 16904 for (I3=I1-2*I2;I3<=N1;I3++) { 16905 J3 = -I1-2*(I2)+2*I3 ; 16906 S2++; 16907 J3 = I1-(I2)-(I3) ; 16908 S1++; 16909 } 16910 } 16911 for (I2=ceild(7*N1+4,30);I2<=floord(3*N1+1,10);I2++) { 16912 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 16913 J3 = I1-(I2)-(I3) ; 16914 S1++; 16915 } 16916 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 16917 J3 = -I1-2*(I2)+2*I3 ; 16918 S2++; 16919 J3 = I1-(I2)-(I3) ; 16920 S1++; 16921 } 16922 } 16923 for (I2=ceild(3*N1+6,10);I2<=N1;I2++) { 16924 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 16925 J3 = I1-(I2)-(I3) ; 16926 S1++; 16927 } 16928 } 16929 } 16930} 16931if ((N1 <= 38) && (N1 >= 23)) { 16932 if ((7*N1-1)%5 == 0) { 16933 I1 = (7*N1-1)/5 ; 16934 for (I2=1;I2<=floord(N1-3,5);I2++) { 16935 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 16936 J3 = -I1-2*(I2)+2*I3 ; 16937 S2++; 16938 } 16939 } 16940 if ((N1+2)%5 == 0) { 16941 I2 = (N1+2)/5 ; 16942 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) { 16943 J3 = -I1-2*(I2)+2*I3 ; 16944 S2++; 16945 } 16946 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) { 16947 J3 = -I1-2*(I2)+2*I3 ; 16948 S2++; 16949 J3 = I1-(I2)-(I3) ; 16950 S1++; 16951 } 16952 J1 = -2*I1+3*N1 ; 16953 if ((2*I1+J1)%3 == 0) { 16954 J2 = (2*I1+J1)/3 ; 16955 J3 = 3*I1-4*J2 ; 16956 S1++; 16957 S2++; 16958 } 16959 } 16960 for (I2=ceild(N1+7,5);I2<=floord(3*N1+1,10);I2++) { 16961 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 16962 J3 = I1-(I2)-(I3) ; 16963 S1++; 16964 } 16965 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 16966 J3 = -I1-2*(I2)+2*I3 ; 16967 S2++; 16968 J3 = I1-(I2)-(I3) ; 16969 S1++; 16970 } 16971 } 16972 for (I2=ceild(3*N1+6,10);I2<=N1;I2++) { 16973 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 16974 J3 = I1-(I2)-(I3) ; 16975 S1++; 16976 } 16977 } 16978 } 16979} 16980if ((N1 >= 30) && (N1 <= 35)) { 16981 if (7*N1%5 == 0) { 16982 I1 = 7*N1/5 ; 16983 for (I2=1;I2<=floord(2*N1-5,10);I2++) { 16984 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 16985 J3 = -I1-2*(I2)+2*I3 ; 16986 S2++; 16987 } 16988 } 16989 if (N1%5 == 0) { 16990 for (I3=ceild(9*N1,10);I3<=N1-1;I3++) { 16991 J3 = -I1-2*(I2)+2*I3 ; 16992 S2++; 16993 } 16994 J1 = -2*I1+3*N1 ; 16995 if ((2*I1+J1)%3 == 0) { 16996 J2 = (2*I1+J1)/3 ; 16997 J3 = 3*I1-4*J2 ; 16998 S1++; 16999 S2++; 17000 } 17001 } 17002 for (I2=ceild(N1+5,5);I2<=floord(7*N1,30);I2++) { 17003 for (I3=I1-2*I2;I3<=N1;I3++) { 17004 J3 = -I1-2*(I2)+2*I3 ; 17005 S2++; 17006 J3 = I1-(I2)-(I3) ; 17007 S1++; 17008 } 17009 } 17010 for (I2=ceild(7*N1+5,30);I2<=floord(3*N1,10);I2++) { 17011 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 17012 J3 = I1-(I2)-(I3) ; 17013 S1++; 17014 } 17015 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 17016 J3 = -I1-2*(I2)+2*I3 ; 17017 S2++; 17018 J3 = I1-(I2)-(I3) ; 17019 S1++; 17020 } 17021 } 17022 for (I2=ceild(3*N1+5,10);I2<=N1;I2++) { 17023 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 17024 J3 = I1-(I2)-(I3) ; 17025 S1++; 17026 } 17027 } 17028 } 17029} 17030if ((N1 <= 25) && (N1 >= 10)) { 17031 if (7*N1%5 == 0) { 17032 I1 = 7*N1/5 ; 17033 for (I2=1;I2<=floord(2*N1-5,10);I2++) { 17034 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 17035 J3 = -I1-2*(I2)+2*I3 ; 17036 S2++; 17037 } 17038 } 17039 if (N1%5 == 0) { 17040 for (I3=ceild(9*N1,10);I3<=N1-1;I3++) { 17041 J3 = -I1-2*(I2)+2*I3 ; 17042 S2++; 17043 } 17044 J1 = -2*I1+3*N1 ; 17045 if ((2*I1+J1)%3 == 0) { 17046 J2 = (2*I1+J1)/3 ; 17047 J3 = 3*I1-4*J2 ; 17048 S1++; 17049 S2++; 17050 } 17051 } 17052 for (I2=ceild(N1+5,5);I2<=floord(3*N1,10);I2++) { 17053 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 17054 J3 = I1-(I2)-(I3) ; 17055 S1++; 17056 } 17057 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 17058 J3 = -I1-2*(I2)+2*I3 ; 17059 S2++; 17060 J3 = I1-(I2)-(I3) ; 17061 S1++; 17062 } 17063 } 17064 for (I2=ceild(3*N1+5,10);I2<=N1;I2++) { 17065 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 17066 J3 = I1-(I2)-(I3) ; 17067 S1++; 17068 } 17069 } 17070 } 17071} 17072if (N1 >= 66) { 17073 if ((7*N1-2)%5 == 0) { 17074 I1 = (7*N1-2)/5 ; 17075 for (I2=1;I2<=floord(2*N1-7,10);I2++) { 17076 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 17077 J3 = -I1-2*(I2)+2*I3 ; 17078 S2++; 17079 } 17080 } 17081 if ((N1-1)%5 == 0) { 17082 I2 = (N1-1)/5 ; 17083 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 17084 J3 = -I1-2*(I2)+2*I3 ; 17085 S2++; 17086 } 17087 for (I3=I1-2*I2;I3<=N1;I3++) { 17088 J3 = I1-(I2)-(I3) ; 17089 S1++; 17090 J3 = -I1-2*(I2)+2*I3 ; 17091 S2++; 17092 } 17093 } 17094 if ((N1+4)%5 == 0) { 17095 I2 = (N1+4)/5 ; 17096 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) { 17097 J3 = -I1-2*(I2)+2*I3 ; 17098 S2++; 17099 } 17100 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) { 17101 J3 = -I1-2*(I2)+2*I3 ; 17102 S2++; 17103 J3 = I1-(I2)-(I3) ; 17104 S1++; 17105 } 17106 J1 = -2*I1+3*N1 ; 17107 if ((2*I1+J1)%3 == 0) { 17108 J2 = (2*I1+J1)/3 ; 17109 J3 = 3*I1-4*J2 ; 17110 S1++; 17111 S2++; 17112 } 17113 } 17114 for (I2=ceild(N1+9,5);I2<=floord(7*N1-12,30);I2++) { 17115 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 17116 J3 = -I1-2*(I2)+2*I3 ; 17117 S2++; 17118 } 17119 for (I3=I1-2*I2;I3<=N1;I3++) { 17120 J3 = -I1-2*(I2)+2*I3 ; 17121 S2++; 17122 J3 = I1-(I2)-(I3) ; 17123 S1++; 17124 } 17125 } 17126 for (I2=ceild(7*N1-7,30);I2<=floord(7*N1-2,30);I2++) { 17127 for (I3=I1-2*I2;I3<=N1;I3++) { 17128 J3 = -I1-2*(I2)+2*I3 ; 17129 S2++; 17130 J3 = I1-(I2)-(I3) ; 17131 S1++; 17132 } 17133 } 17134 for (I2=ceild(7*N1+3,30);I2<=floord(3*N1+2,10);I2++) { 17135 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 17136 J3 = I1-(I2)-(I3) ; 17137 S1++; 17138 } 17139 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 17140 J3 = -I1-2*(I2)+2*I3 ; 17141 S2++; 17142 J3 = I1-(I2)-(I3) ; 17143 S1++; 17144 } 17145 } 17146 for (I2=ceild(3*N1+7,10);I2<=N1;I2++) { 17147 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 17148 J3 = I1-(I2)-(I3) ; 17149 S1++; 17150 } 17151 } 17152 } 17153} 17154if (N1 >= 53) { 17155 if ((7*N1-1)%5 == 0) { 17156 I1 = (7*N1-1)/5 ; 17157 for (I2=1;I2<=floord(N1-3,5);I2++) { 17158 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 17159 J3 = -I1-2*(I2)+2*I3 ; 17160 S2++; 17161 } 17162 } 17163 if ((N1+2)%5 == 0) { 17164 I2 = (N1+2)/5 ; 17165 for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) { 17166 J3 = -I1-2*(I2)+2*I3 ; 17167 S2++; 17168 } 17169 for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) { 17170 J3 = -I1-2*(I2)+2*I3 ; 17171 S2++; 17172 J3 = I1-(I2)-(I3) ; 17173 S1++; 17174 } 17175 J1 = -2*I1+3*N1 ; 17176 if ((2*I1+J1)%3 == 0) { 17177 J2 = (2*I1+J1)/3 ; 17178 J3 = 3*I1-4*J2 ; 17179 S1++; 17180 S2++; 17181 } 17182 } 17183 for (I2=ceild(N1+7,5);I2<=floord(7*N1-11,30);I2++) { 17184 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 17185 J3 = -I1-2*(I2)+2*I3 ; 17186 S2++; 17187 } 17188 for (I3=I1-2*I2;I3<=N1;I3++) { 17189 J3 = -I1-2*(I2)+2*I3 ; 17190 S2++; 17191 J3 = I1-(I2)-(I3) ; 17192 S1++; 17193 } 17194 } 17195 for (I2=ceild(7*N1-6,30);I2<=floord(7*N1-1,30);I2++) { 17196 for (I3=I1-2*I2;I3<=N1;I3++) { 17197 J3 = -I1-2*(I2)+2*I3 ; 17198 S2++; 17199 J3 = I1-(I2)-(I3) ; 17200 S1++; 17201 } 17202 } 17203 for (I2=ceild(7*N1+4,30);I2<=floord(3*N1+1,10);I2++) { 17204 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 17205 J3 = I1-(I2)-(I3) ; 17206 S1++; 17207 } 17208 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 17209 J3 = -I1-2*(I2)+2*I3 ; 17210 S2++; 17211 J3 = I1-(I2)-(I3) ; 17212 S1++; 17213 } 17214 } 17215 for (I2=ceild(3*N1+6,10);I2<=N1;I2++) { 17216 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 17217 J3 = I1-(I2)-(I3) ; 17218 S1++; 17219 } 17220 } 17221 } 17222} 17223for (I1=max(ceild(7*N1+1,5),ceild(18*N1+6,13));I1<=min(floord(18*N1+7,13),floord(3*N1-2,2));I1++) { 17224 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 17225 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 17226 J3 = -I1-2*(I2)+2*I3 ; 17227 S2++; 17228 } 17229 } 17230 for (I2=-2*I1+3*N1+1;I2<=floord(I1,6);I2++) { 17231 for (I3=I1-2*I2;I3<=N1;I3++) { 17232 J3 = -I1-2*(I2)+2*I3 ; 17233 S2++; 17234 J3 = I1-(I2)-(I3) ; 17235 S1++; 17236 } 17237 } 17238 for (I2=ceild(I1+1,6);I2<=floord(-I1+2*N1,2);I2++) { 17239 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 17240 J3 = I1-(I2)-(I3) ; 17241 S1++; 17242 } 17243 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 17244 J3 = -I1-2*(I2)+2*I3 ; 17245 S2++; 17246 J3 = I1-(I2)-(I3) ; 17247 S1++; 17248 } 17249 } 17250 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 17251 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 17252 J3 = I1-(I2)-(I3) ; 17253 S1++; 17254 } 17255 } 17256} 17257if (N1 == 12) { 17258 for (I2=1;I2<=2;I2++) { 17259 for (I3=ceild(17+2*I2,2);I3<=min(N1,floord(2*17+3*I2,3));I3++) { 17260 J3 = -(17)-2*(I2)+2*I3 ; 17261 S2++; 17262 } 17263 } 17264 for (I3=17-2*(3);I3<=floord(17+2*3-1,2);I3++) { 17265 J3 = 17-(I2)-(I3) ; 17266 S1++; 17267 } 17268 for (I3=ceild(17+2*3,2);I3<=N1;I3++) { 17269 J3 = -(17)-2*(I2)+2*I3 ; 17270 S2++; 17271 J3 = 17-(I2)-(I3) ; 17272 S1++; 17273 } 17274 for (I2=4;I2<=12;I2++) { 17275 for (I3=max(max(ceild(17-I2,2),17-2*I2),1);I3<=min(17-I2,N1);I3++) { 17276 J3 = 17-(I2)-(I3) ; 17277 S1++; 17278 } 17279 } 17280} 17281if (N1 >= 40) { 17282 if (7*N1%5 == 0) { 17283 I1 = 7*N1/5 ; 17284 for (I2=1;I2<=floord(2*N1-5,10);I2++) { 17285 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 17286 J3 = -I1-2*(I2)+2*I3 ; 17287 S2++; 17288 } 17289 } 17290 if (N1%5 == 0) { 17291 for (I3=ceild(9*N1,10);I3<=N1-1;I3++) { 17292 J3 = -I1-2*(I2)+2*I3 ; 17293 S2++; 17294 } 17295 J1 = -2*I1+3*N1 ; 17296 if ((2*I1+J1)%3 == 0) { 17297 J2 = (2*I1+J1)/3 ; 17298 J3 = 3*I1-4*J2 ; 17299 S1++; 17300 S2++; 17301 } 17302 } 17303 for (I2=ceild(N1+5,5);I2<=floord(7*N1-10,30);I2++) { 17304 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 17305 J3 = -I1-2*(I2)+2*I3 ; 17306 S2++; 17307 } 17308 for (I3=I1-2*I2;I3<=N1;I3++) { 17309 J3 = -I1-2*(I2)+2*I3 ; 17310 S2++; 17311 J3 = I1-(I2)-(I3) ; 17312 S1++; 17313 } 17314 } 17315 for (I2=ceild(7*N1-5,30);I2<=floord(7*N1,30);I2++) { 17316 for (I3=I1-2*I2;I3<=N1;I3++) { 17317 J3 = -I1-2*(I2)+2*I3 ; 17318 S2++; 17319 J3 = I1-(I2)-(I3) ; 17320 S1++; 17321 } 17322 } 17323 for (I2=ceild(7*N1+5,30);I2<=floord(3*N1,10);I2++) { 17324 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 17325 J3 = I1-(I2)-(I3) ; 17326 S1++; 17327 } 17328 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 17329 J3 = -I1-2*(I2)+2*I3 ; 17330 S2++; 17331 J3 = I1-(I2)-(I3) ; 17332 S1++; 17333 } 17334 } 17335 for (I2=ceild(3*N1+5,10);I2<=N1;I2++) { 17336 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 17337 J3 = I1-(I2)-(I3) ; 17338 S1++; 17339 } 17340 } 17341 } 17342} 17343for (I1=max(ceild(7*N1+1,5),ceild(18*N1+8,13));I1<=floord(3*N1-2,2);I1++) { 17344 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 17345 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 17346 J3 = -I1-2*(I2)+2*I3 ; 17347 S2++; 17348 } 17349 } 17350 for (I2=max(ceild(I1-N1,2),-2*I1+3*N1+1);I2<=floord(I1-2,6);I2++) { 17351 for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) { 17352 J3 = -I1-2*(I2)+2*I3 ; 17353 S2++; 17354 } 17355 for (I3=I1-2*I2;I3<=N1;I3++) { 17356 J3 = -I1-2*(I2)+2*I3 ; 17357 S2++; 17358 J3 = I1-(I2)-(I3) ; 17359 S1++; 17360 } 17361 } 17362 for (I2=ceild(I1-1,6);I2<=floord(I1,6);I2++) { 17363 for (I3=I1-2*I2;I3<=N1;I3++) { 17364 J3 = -I1-2*(I2)+2*I3 ; 17365 S2++; 17366 J3 = I1-(I2)-(I3) ; 17367 S1++; 17368 } 17369 } 17370 for (I2=ceild(I1+1,6);I2<=floord(-I1+2*N1,2);I2++) { 17371 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 17372 J3 = I1-(I2)-(I3) ; 17373 S1++; 17374 } 17375 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 17376 J3 = -I1-2*(I2)+2*I3 ; 17377 S2++; 17378 J3 = I1-(I2)-(I3) ; 17379 S1++; 17380 } 17381 } 17382 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 17383 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 17384 J3 = I1-(I2)-(I3) ; 17385 S1++; 17386 } 17387 } 17388} 17389for (I1=max(max(N1+3,ceild(3*N1-1,2)),ceild(18*N1+6,13));I1<=floord(6*N1-1,4);I1++) { 17390 for (I2=1;I2<=floord(I1-N1-1,2);I2++) { 17391 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 17392 J3 = -I1-2*(I2)+2*I3 ; 17393 S2++; 17394 } 17395 } 17396 for (I2=max(ceild(I1-N1,2),-2*I1+3*N1+1);I2<=floord(I1,6);I2++) { 17397 for (I3=I1-2*I2;I3<=N1;I3++) { 17398 J3 = -I1-2*(I2)+2*I3 ; 17399 S2++; 17400 J3 = I1-(I2)-(I3) ; 17401 S1++; 17402 } 17403 } 17404 for (I2=ceild(I1+1,6);I2<=floord(-I1+2*N1,2);I2++) { 17405 for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) { 17406 J3 = I1-(I2)-(I3) ; 17407 S1++; 17408 } 17409 for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) { 17410 J3 = -I1-2*(I2)+2*I3 ; 17411 S2++; 17412 J3 = I1-(I2)-(I3) ; 17413 S1++; 17414 } 17415 } 17416 for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) { 17417 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 17418 J3 = I1-(I2)-(I3) ; 17419 S1++; 17420 } 17421 } 17422} 17423if (N1 >= 6) { 17424 if (3*N1%2 == 0) { 17425 I1 = 3*N1/2 ; 17426 for (I2=1;I2<=floord(N1-2,4);I2++) { 17427 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 17428 J3 = -I1-2*(I2)+2*I3 ; 17429 S2++; 17430 } 17431 } 17432 if (N1%4 == 0) { 17433 for (I3=I1-2*(N1/4);I3<=N1;I3++) { 17434 J3 = -I1-2*(I2)+2*I3 ; 17435 S2++; 17436 J3 = I1-(I2)-(I3) ; 17437 S1++; 17438 } 17439 } 17440 for (I2=ceild(N1+2,4);I2<=N1;I2++) { 17441 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 17442 J3 = I1-(I2)-(I3) ; 17443 S1++; 17444 } 17445 } 17446 } 17447} 17448for (I1=ceild(3*N1+1,2);I1<=2*N1-2;I1++) { 17449 for (I2=1;I2<=floord(-I1+2*N1,2);I2++) { 17450 for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) { 17451 J3 = -I1-2*(I2)+2*I3 ; 17452 S2++; 17453 } 17454 } 17455 for (I2=ceild(I1-N1,2);I2<=N1;I2++) { 17456 for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) { 17457 J3 = I1-(I2)-(I3) ; 17458 S1++; 17459 } 17460 } 17461} 17462for (I1=2*N1-1;I1<=3*N1;I1++) { 17463 for (I2=max(ceild(I1-N1,2),1);I2<=N1;I2++) { 17464 for (I3=max(max(I1-2*I2,ceild(I1-I2,2)),1);I3<=min(N1,I1-I2);I3++) { 17465 J3 = I1-(I2)-(I3) ; 17466 S1++; 17467 } 17468 } 17469} 17470 17471 17472 /* statements print */ 17473 fprintf(stderr, "S1 : %d\n", S1); 17474 fprintf(stderr, "S2 : %d\n", S2); 17475 17476 17477} 17478 17479 17480 17481------=_Part_1422_26966204.1114622640387 17482Content-Type: application/octet-stream; name=LUDom_OSP.type2.c 17483Content-Transfer-Encoding: 7bit 17484Content-Disposition: attachment; filename="LUDom_OSP.type2.c" 17485 17486/* Author : DaeGon Kim 17487 Date : Tue Apr 26 20:28:07 MDT 2005 */ 17488 17489#include <stdio.h> 17490#include <stdlib.h> 17491 17492#define max(x,y) ((x)>(y) ? (x) : (y)) 17493#define min(x,y) ((x)>(y) ? (y) : (x)) 17494#define ceild(x,y) ((x)+1) / (y) 17495#define floord(x,y) (x) / (y) 17496 17497int main(int argc, char **argv) { 17498 17499 /* parameters declaration */ 17500 int N1 = 0; 17501 17502 /* statements declaration */ 17503 int S1 = 0; 17504 int S2 = 0; 17505 17506 /* iterators declaration */ 17507 int I1 = 0; 17508 int J1 = 0; 17509 int I2 = 0; 17510 int J2 = 0; 17511 int I3 = 0; 17512 int J3 = 0; 17513 17514 /* check arguements and get values of parameters */ 17515 if ( argc != 1 + 1) { 17516 printf("The number of arguements for %s is 1\n", argv[0]); 17517 exit(0); 17518 } 17519 17520 N1 = atoi(argv[1]); 17521 17522/* Generated from ./INPUT/CLOOG/LUDom_OSP_cloog by CLooG v0.12.2 64 bits in 0.03s. */ 17523for (I1=0;I1<=3*N1;I1++) { 17524 for (I2=max(max(1,ceild(I1-2*N1+2,2)),I1-2*N1);I2<=N1;I2++) { 17525 for (I3=max(max(I1-2*I2,ceild(I1-I2,2)),1);I3<=min(min(N1,floord(I1+2*I2-1,2)),I1-I2);I3++) { 17526 J3 = I1-(I2)-(I3) ; 17527 S1++; 17528 } 17529 for (I3=ceild(I1+2*I2,2);I3<=min(min(N1,I1-2*I2-1),floord(2*I1+3*I2,3));I3++) { 17530 J3 = -I1-2*(I2)+2*I3 ; 17531 S2++; 17532 } 17533 for (I3=max(I1-2*I2,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+I2-1,3));I3++) { 17534 J3 = -I1-2*(I2)+2*I3 ; 17535 S2++; 17536 J3 = I1-(I2)-(I3) ; 17537 S1++; 17538 } 17539 if ((2*I1+I2)%3 == 0) { 17540 I3 = (2*I1+I2)/3 ; 17541 J1 = -2*I1+3*I3 ; 17542 if ((2*I1+J1)%3 == 0) { 17543 J2 = (2*I1+J1)/3 ; 17544 J3 = 3*I1-4*J2 ; 17545 S1++; 17546 S2++; 17547 } 17548 } 17549 for (I3=max(I1-2*I2,ceild(2*I1+I2+1,3));I3<=min(min(N1,floord(2*I1+3*I2,3)),I1-I2);I3++) { 17550 J3 = I1-(I2)-(I3) ; 17551 S1++; 17552 J3 = -I1-2*(I2)+2*I3 ; 17553 S2++; 17554 } 17555 for (I3=max(ceild(2*I1+3*I2+1,3),I1-2*I2);I3<=min(N1,I1-I2);I3++) { 17556 J3 = I1-(I2)-(I3) ; 17557 S1++; 17558 } 17559 for (I3=max(ceild(I1+2*I2,2),I1-I2+1);I3<=min(floord(2*I1+3*I2,3),N1);I3++) { 17560 J3 = -I1-2*(I2)+2*I3 ; 17561 S2++; 17562 } 17563 } 17564} 17565 17566 17567 /* statements print */ 17568 fprintf(stderr, "S1 : %d\n", S1); 17569 fprintf(stderr, "S2 : %d\n", S2); 17570 17571 17572} 17573 17574 17575 17576------=_Part_1422_26966204.1114622640387-- 17577 17578 17579