liuxiaolong
2021-07-20 232227035c8d6a31eaaf193863cbadda949c08fd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
# /* **************************************************************************
#  *                                                                          *
#  *     (C) Copyright Paul Mensonides 2002.
#  *     Distributed under the Boost Software License, Version 1.0. (See
#  *     accompanying file LICENSE_1_0.txt or copy at
#  *     http://www.boost.org/LICENSE_1_0.txt)
#  *                                                                          *
#  ************************************************************************** */
#
# /* Revised by Edward Diener (2020) */
#
# /* See http://www.boost.org for most recent version. */
#
# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_1024_HPP
# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_1024_HPP
#
# define BOOST_PP_NODE_ENTRY_1024(p) BOOST_PP_NODE_512(p)(p)(p)(p)(p)(p)(p)(p)(p)(p)
#
# define BOOST_PP_NODE_512(p) BOOST_PP_IIF(p(512), BOOST_PP_NODE_256, BOOST_PP_NODE_768)
#     define BOOST_PP_NODE_768(p) BOOST_PP_IIF(p(768), BOOST_PP_NODE_640, BOOST_PP_NODE_896)
#         define BOOST_PP_NODE_640(p) BOOST_PP_IIF(p(640), BOOST_PP_NODE_576, BOOST_PP_NODE_704)
#             define BOOST_PP_NODE_576(p) BOOST_PP_IIF(p(576), BOOST_PP_NODE_544, BOOST_PP_NODE_608)
#                 define BOOST_PP_NODE_544(p) BOOST_PP_IIF(p(544), BOOST_PP_NODE_528, BOOST_PP_NODE_560)
#                     define BOOST_PP_NODE_528(p) BOOST_PP_IIF(p(528), BOOST_PP_NODE_520, BOOST_PP_NODE_536)
#                         define BOOST_PP_NODE_520(p) BOOST_PP_IIF(p(520), BOOST_PP_NODE_516, BOOST_PP_NODE_524)
#                             define BOOST_PP_NODE_516(p) BOOST_PP_IIF(p(516), BOOST_PP_NODE_514, BOOST_PP_NODE_518)
#                                 define BOOST_PP_NODE_514(p) BOOST_PP_IIF(p(514), BOOST_PP_NODE_513, BOOST_PP_NODE_515)
#                                     define BOOST_PP_NODE_513(p) BOOST_PP_IIF(p(513), 513, 514)
#                                     define BOOST_PP_NODE_515(p) BOOST_PP_IIF(p(515), 515, 516)
#                                 define BOOST_PP_NODE_518(p) BOOST_PP_IIF(p(518), BOOST_PP_NODE_517, BOOST_PP_NODE_519)
#                                     define BOOST_PP_NODE_517(p) BOOST_PP_IIF(p(517), 517, 518)
#                                     define BOOST_PP_NODE_519(p) BOOST_PP_IIF(p(519), 519, 520)
#                             define BOOST_PP_NODE_524(p) BOOST_PP_IIF(p(524), BOOST_PP_NODE_522, BOOST_PP_NODE_526)
#                                 define BOOST_PP_NODE_522(p) BOOST_PP_IIF(p(522), BOOST_PP_NODE_521, BOOST_PP_NODE_523)
#                                     define BOOST_PP_NODE_521(p) BOOST_PP_IIF(p(521), 521, 522)
#                                     define BOOST_PP_NODE_523(p) BOOST_PP_IIF(p(523), 523, 524)
#                                 define BOOST_PP_NODE_526(p) BOOST_PP_IIF(p(526), BOOST_PP_NODE_525, BOOST_PP_NODE_527)
#                                     define BOOST_PP_NODE_525(p) BOOST_PP_IIF(p(525), 525, 526)
#                                     define BOOST_PP_NODE_527(p) BOOST_PP_IIF(p(527), 527, 528)
#                         define BOOST_PP_NODE_536(p) BOOST_PP_IIF(p(536), BOOST_PP_NODE_532, BOOST_PP_NODE_540)
#                             define BOOST_PP_NODE_532(p) BOOST_PP_IIF(p(532), BOOST_PP_NODE_530, BOOST_PP_NODE_534)
#                                 define BOOST_PP_NODE_530(p) BOOST_PP_IIF(p(530), BOOST_PP_NODE_529, BOOST_PP_NODE_531)
#                                     define BOOST_PP_NODE_529(p) BOOST_PP_IIF(p(529), 529, 530)
#                                     define BOOST_PP_NODE_531(p) BOOST_PP_IIF(p(531), 531, 532)
#                                 define BOOST_PP_NODE_534(p) BOOST_PP_IIF(p(534), BOOST_PP_NODE_533, BOOST_PP_NODE_535)
#                                     define BOOST_PP_NODE_533(p) BOOST_PP_IIF(p(533), 533, 534)
#                                     define BOOST_PP_NODE_535(p) BOOST_PP_IIF(p(535), 535, 536)
#                             define BOOST_PP_NODE_540(p) BOOST_PP_IIF(p(540), BOOST_PP_NODE_538, BOOST_PP_NODE_542)
#                                 define BOOST_PP_NODE_538(p) BOOST_PP_IIF(p(538), BOOST_PP_NODE_537, BOOST_PP_NODE_539)
#                                     define BOOST_PP_NODE_537(p) BOOST_PP_IIF(p(537), 537, 538)
#                                     define BOOST_PP_NODE_539(p) BOOST_PP_IIF(p(539), 539, 540)
#                                 define BOOST_PP_NODE_542(p) BOOST_PP_IIF(p(542), BOOST_PP_NODE_541, BOOST_PP_NODE_543)
#                                     define BOOST_PP_NODE_541(p) BOOST_PP_IIF(p(541), 541, 542)
#                                     define BOOST_PP_NODE_543(p) BOOST_PP_IIF(p(543), 543, 544)
#                     define BOOST_PP_NODE_560(p) BOOST_PP_IIF(p(560), BOOST_PP_NODE_552, BOOST_PP_NODE_568)
#                         define BOOST_PP_NODE_552(p) BOOST_PP_IIF(p(552), BOOST_PP_NODE_548, BOOST_PP_NODE_556)
#                             define BOOST_PP_NODE_548(p) BOOST_PP_IIF(p(548), BOOST_PP_NODE_546, BOOST_PP_NODE_550)
#                                 define BOOST_PP_NODE_546(p) BOOST_PP_IIF(p(546), BOOST_PP_NODE_545, BOOST_PP_NODE_547)
#                                     define BOOST_PP_NODE_545(p) BOOST_PP_IIF(p(545), 545, 546)
#                                     define BOOST_PP_NODE_547(p) BOOST_PP_IIF(p(547), 547, 548)
#                                 define BOOST_PP_NODE_550(p) BOOST_PP_IIF(p(550), BOOST_PP_NODE_549, BOOST_PP_NODE_551)
#                                     define BOOST_PP_NODE_549(p) BOOST_PP_IIF(p(549), 549, 550)
#                                     define BOOST_PP_NODE_551(p) BOOST_PP_IIF(p(551), 551, 552)
#                             define BOOST_PP_NODE_556(p) BOOST_PP_IIF(p(556), BOOST_PP_NODE_554, BOOST_PP_NODE_558)
#                                 define BOOST_PP_NODE_554(p) BOOST_PP_IIF(p(554), BOOST_PP_NODE_553, BOOST_PP_NODE_555)
#                                     define BOOST_PP_NODE_553(p) BOOST_PP_IIF(p(553), 553, 554)
#                                     define BOOST_PP_NODE_555(p) BOOST_PP_IIF(p(555), 555, 556)
#                                 define BOOST_PP_NODE_558(p) BOOST_PP_IIF(p(558), BOOST_PP_NODE_557, BOOST_PP_NODE_559)
#                                     define BOOST_PP_NODE_557(p) BOOST_PP_IIF(p(557), 557, 558)
#                                     define BOOST_PP_NODE_559(p) BOOST_PP_IIF(p(559), 559, 560)
#                         define BOOST_PP_NODE_568(p) BOOST_PP_IIF(p(568), BOOST_PP_NODE_564, BOOST_PP_NODE_572)
#                             define BOOST_PP_NODE_564(p) BOOST_PP_IIF(p(564), BOOST_PP_NODE_562, BOOST_PP_NODE_566)
#                                 define BOOST_PP_NODE_562(p) BOOST_PP_IIF(p(562), BOOST_PP_NODE_561, BOOST_PP_NODE_563)
#                                     define BOOST_PP_NODE_561(p) BOOST_PP_IIF(p(561), 561, 562)
#                                     define BOOST_PP_NODE_563(p) BOOST_PP_IIF(p(563), 563, 564)
#                                 define BOOST_PP_NODE_566(p) BOOST_PP_IIF(p(566), BOOST_PP_NODE_565, BOOST_PP_NODE_567)
#                                     define BOOST_PP_NODE_565(p) BOOST_PP_IIF(p(565), 565, 566)
#                                     define BOOST_PP_NODE_567(p) BOOST_PP_IIF(p(567), 567, 568)
#                             define BOOST_PP_NODE_572(p) BOOST_PP_IIF(p(572), BOOST_PP_NODE_570, BOOST_PP_NODE_574)
#                                 define BOOST_PP_NODE_570(p) BOOST_PP_IIF(p(570), BOOST_PP_NODE_569, BOOST_PP_NODE_571)
#                                     define BOOST_PP_NODE_569(p) BOOST_PP_IIF(p(569), 569, 570)
#                                     define BOOST_PP_NODE_571(p) BOOST_PP_IIF(p(571), 571, 572)
#                                 define BOOST_PP_NODE_574(p) BOOST_PP_IIF(p(574), BOOST_PP_NODE_573, BOOST_PP_NODE_575)
#                                     define BOOST_PP_NODE_573(p) BOOST_PP_IIF(p(573), 573, 574)
#                                     define BOOST_PP_NODE_575(p) BOOST_PP_IIF(p(575), 575, 576)
#                 define BOOST_PP_NODE_608(p) BOOST_PP_IIF(p(608), BOOST_PP_NODE_592, BOOST_PP_NODE_624)
#                     define BOOST_PP_NODE_592(p) BOOST_PP_IIF(p(592), BOOST_PP_NODE_584, BOOST_PP_NODE_600)
#                         define BOOST_PP_NODE_584(p) BOOST_PP_IIF(p(584), BOOST_PP_NODE_580, BOOST_PP_NODE_588)
#                             define BOOST_PP_NODE_580(p) BOOST_PP_IIF(p(580), BOOST_PP_NODE_578, BOOST_PP_NODE_582)
#                                 define BOOST_PP_NODE_578(p) BOOST_PP_IIF(p(578), BOOST_PP_NODE_577, BOOST_PP_NODE_579)
#                                     define BOOST_PP_NODE_577(p) BOOST_PP_IIF(p(577), 577, 578)
#                                     define BOOST_PP_NODE_579(p) BOOST_PP_IIF(p(579), 579, 580)
#                                 define BOOST_PP_NODE_582(p) BOOST_PP_IIF(p(582), BOOST_PP_NODE_581, BOOST_PP_NODE_583)
#                                     define BOOST_PP_NODE_581(p) BOOST_PP_IIF(p(581), 581, 582)
#                                     define BOOST_PP_NODE_583(p) BOOST_PP_IIF(p(583), 583, 584)
#                             define BOOST_PP_NODE_588(p) BOOST_PP_IIF(p(588), BOOST_PP_NODE_586, BOOST_PP_NODE_590)
#                                 define BOOST_PP_NODE_586(p) BOOST_PP_IIF(p(586), BOOST_PP_NODE_585, BOOST_PP_NODE_587)
#                                     define BOOST_PP_NODE_585(p) BOOST_PP_IIF(p(585), 585, 586)
#                                     define BOOST_PP_NODE_587(p) BOOST_PP_IIF(p(587), 587, 588)
#                                 define BOOST_PP_NODE_590(p) BOOST_PP_IIF(p(590), BOOST_PP_NODE_589, BOOST_PP_NODE_591)
#                                     define BOOST_PP_NODE_589(p) BOOST_PP_IIF(p(589), 589, 590)
#                                     define BOOST_PP_NODE_591(p) BOOST_PP_IIF(p(591), 591, 592)
#                         define BOOST_PP_NODE_600(p) BOOST_PP_IIF(p(600), BOOST_PP_NODE_596, BOOST_PP_NODE_604)
#                             define BOOST_PP_NODE_596(p) BOOST_PP_IIF(p(596), BOOST_PP_NODE_594, BOOST_PP_NODE_598)
#                                 define BOOST_PP_NODE_594(p) BOOST_PP_IIF(p(594), BOOST_PP_NODE_593, BOOST_PP_NODE_595)
#                                     define BOOST_PP_NODE_593(p) BOOST_PP_IIF(p(593), 593, 594)
#                                     define BOOST_PP_NODE_595(p) BOOST_PP_IIF(p(595), 595, 596)
#                                 define BOOST_PP_NODE_598(p) BOOST_PP_IIF(p(598), BOOST_PP_NODE_597, BOOST_PP_NODE_599)
#                                     define BOOST_PP_NODE_597(p) BOOST_PP_IIF(p(597), 597, 598)
#                                     define BOOST_PP_NODE_599(p) BOOST_PP_IIF(p(599), 599, 600)
#                             define BOOST_PP_NODE_604(p) BOOST_PP_IIF(p(604), BOOST_PP_NODE_602, BOOST_PP_NODE_606)
#                                 define BOOST_PP_NODE_602(p) BOOST_PP_IIF(p(602), BOOST_PP_NODE_601, BOOST_PP_NODE_603)
#                                     define BOOST_PP_NODE_601(p) BOOST_PP_IIF(p(601), 601, 602)
#                                     define BOOST_PP_NODE_603(p) BOOST_PP_IIF(p(603), 603, 604)
#                                 define BOOST_PP_NODE_606(p) BOOST_PP_IIF(p(606), BOOST_PP_NODE_605, BOOST_PP_NODE_607)
#                                     define BOOST_PP_NODE_605(p) BOOST_PP_IIF(p(605), 605, 606)
#                                     define BOOST_PP_NODE_607(p) BOOST_PP_IIF(p(607), 607, 608)
#                     define BOOST_PP_NODE_624(p) BOOST_PP_IIF(p(624), BOOST_PP_NODE_616, BOOST_PP_NODE_632)
#                         define BOOST_PP_NODE_616(p) BOOST_PP_IIF(p(616), BOOST_PP_NODE_612, BOOST_PP_NODE_620)
#                             define BOOST_PP_NODE_612(p) BOOST_PP_IIF(p(612), BOOST_PP_NODE_610, BOOST_PP_NODE_614)
#                                 define BOOST_PP_NODE_610(p) BOOST_PP_IIF(p(610), BOOST_PP_NODE_609, BOOST_PP_NODE_611)
#                                     define BOOST_PP_NODE_609(p) BOOST_PP_IIF(p(609), 609, 610)
#                                     define BOOST_PP_NODE_611(p) BOOST_PP_IIF(p(611), 611, 612)
#                                 define BOOST_PP_NODE_614(p) BOOST_PP_IIF(p(614), BOOST_PP_NODE_613, BOOST_PP_NODE_615)
#                                     define BOOST_PP_NODE_613(p) BOOST_PP_IIF(p(613), 613, 614)
#                                     define BOOST_PP_NODE_615(p) BOOST_PP_IIF(p(615), 615, 616)
#                             define BOOST_PP_NODE_620(p) BOOST_PP_IIF(p(620), BOOST_PP_NODE_618, BOOST_PP_NODE_622)
#                                 define BOOST_PP_NODE_618(p) BOOST_PP_IIF(p(618), BOOST_PP_NODE_617, BOOST_PP_NODE_619)
#                                     define BOOST_PP_NODE_617(p) BOOST_PP_IIF(p(617), 617, 618)
#                                     define BOOST_PP_NODE_619(p) BOOST_PP_IIF(p(619), 619, 620)
#                                 define BOOST_PP_NODE_622(p) BOOST_PP_IIF(p(622), BOOST_PP_NODE_621, BOOST_PP_NODE_623)
#                                     define BOOST_PP_NODE_621(p) BOOST_PP_IIF(p(621), 621, 622)
#                                     define BOOST_PP_NODE_623(p) BOOST_PP_IIF(p(623), 623, 624)
#                         define BOOST_PP_NODE_632(p) BOOST_PP_IIF(p(632), BOOST_PP_NODE_628, BOOST_PP_NODE_636)
#                             define BOOST_PP_NODE_628(p) BOOST_PP_IIF(p(628), BOOST_PP_NODE_626, BOOST_PP_NODE_630)
#                                 define BOOST_PP_NODE_626(p) BOOST_PP_IIF(p(626), BOOST_PP_NODE_625, BOOST_PP_NODE_627)
#                                     define BOOST_PP_NODE_625(p) BOOST_PP_IIF(p(625), 625, 626)
#                                     define BOOST_PP_NODE_627(p) BOOST_PP_IIF(p(627), 627, 628)
#                                 define BOOST_PP_NODE_630(p) BOOST_PP_IIF(p(630), BOOST_PP_NODE_629, BOOST_PP_NODE_631)
#                                     define BOOST_PP_NODE_629(p) BOOST_PP_IIF(p(629), 629, 630)
#                                     define BOOST_PP_NODE_631(p) BOOST_PP_IIF(p(631), 631, 632)
#                             define BOOST_PP_NODE_636(p) BOOST_PP_IIF(p(636), BOOST_PP_NODE_634, BOOST_PP_NODE_638)
#                                 define BOOST_PP_NODE_634(p) BOOST_PP_IIF(p(634), BOOST_PP_NODE_633, BOOST_PP_NODE_635)
#                                     define BOOST_PP_NODE_633(p) BOOST_PP_IIF(p(633), 633, 634)
#                                     define BOOST_PP_NODE_635(p) BOOST_PP_IIF(p(635), 635, 636)
#                                 define BOOST_PP_NODE_638(p) BOOST_PP_IIF(p(638), BOOST_PP_NODE_637, BOOST_PP_NODE_639)
#                                     define BOOST_PP_NODE_637(p) BOOST_PP_IIF(p(637), 637, 638)
#                                     define BOOST_PP_NODE_639(p) BOOST_PP_IIF(p(639), 639, 640)
#             define BOOST_PP_NODE_704(p) BOOST_PP_IIF(p(704), BOOST_PP_NODE_672, BOOST_PP_NODE_736)
#                 define BOOST_PP_NODE_672(p) BOOST_PP_IIF(p(672), BOOST_PP_NODE_656, BOOST_PP_NODE_688)
#                     define BOOST_PP_NODE_656(p) BOOST_PP_IIF(p(656), BOOST_PP_NODE_648, BOOST_PP_NODE_664)
#                         define BOOST_PP_NODE_648(p) BOOST_PP_IIF(p(648), BOOST_PP_NODE_644, BOOST_PP_NODE_652)
#                             define BOOST_PP_NODE_644(p) BOOST_PP_IIF(p(644), BOOST_PP_NODE_642, BOOST_PP_NODE_646)
#                                 define BOOST_PP_NODE_642(p) BOOST_PP_IIF(p(642), BOOST_PP_NODE_641, BOOST_PP_NODE_643)
#                                     define BOOST_PP_NODE_641(p) BOOST_PP_IIF(p(641), 641, 642)
#                                     define BOOST_PP_NODE_643(p) BOOST_PP_IIF(p(643), 643, 644)
#                                 define BOOST_PP_NODE_646(p) BOOST_PP_IIF(p(646), BOOST_PP_NODE_645, BOOST_PP_NODE_647)
#                                     define BOOST_PP_NODE_645(p) BOOST_PP_IIF(p(645), 645, 646)
#                                     define BOOST_PP_NODE_647(p) BOOST_PP_IIF(p(647), 647, 648)
#                             define BOOST_PP_NODE_652(p) BOOST_PP_IIF(p(652), BOOST_PP_NODE_650, BOOST_PP_NODE_654)
#                                 define BOOST_PP_NODE_650(p) BOOST_PP_IIF(p(650), BOOST_PP_NODE_649, BOOST_PP_NODE_651)
#                                     define BOOST_PP_NODE_649(p) BOOST_PP_IIF(p(649), 649, 650)
#                                     define BOOST_PP_NODE_651(p) BOOST_PP_IIF(p(651), 651, 652)
#                                 define BOOST_PP_NODE_654(p) BOOST_PP_IIF(p(654), BOOST_PP_NODE_653, BOOST_PP_NODE_655)
#                                     define BOOST_PP_NODE_653(p) BOOST_PP_IIF(p(653), 653, 654)
#                                     define BOOST_PP_NODE_655(p) BOOST_PP_IIF(p(655), 655, 656)
#                         define BOOST_PP_NODE_664(p) BOOST_PP_IIF(p(664), BOOST_PP_NODE_660, BOOST_PP_NODE_668)
#                             define BOOST_PP_NODE_660(p) BOOST_PP_IIF(p(660), BOOST_PP_NODE_658, BOOST_PP_NODE_662)
#                                 define BOOST_PP_NODE_658(p) BOOST_PP_IIF(p(658), BOOST_PP_NODE_657, BOOST_PP_NODE_659)
#                                     define BOOST_PP_NODE_657(p) BOOST_PP_IIF(p(657), 657, 658)
#                                     define BOOST_PP_NODE_659(p) BOOST_PP_IIF(p(659), 659, 660)
#                                 define BOOST_PP_NODE_662(p) BOOST_PP_IIF(p(662), BOOST_PP_NODE_661, BOOST_PP_NODE_663)
#                                     define BOOST_PP_NODE_661(p) BOOST_PP_IIF(p(661), 661, 662)
#                                     define BOOST_PP_NODE_663(p) BOOST_PP_IIF(p(663), 663, 664)
#                             define BOOST_PP_NODE_668(p) BOOST_PP_IIF(p(668), BOOST_PP_NODE_666, BOOST_PP_NODE_670)
#                                 define BOOST_PP_NODE_666(p) BOOST_PP_IIF(p(666), BOOST_PP_NODE_665, BOOST_PP_NODE_667)
#                                     define BOOST_PP_NODE_665(p) BOOST_PP_IIF(p(665), 665, 666)
#                                     define BOOST_PP_NODE_667(p) BOOST_PP_IIF(p(667), 667, 668)
#                                 define BOOST_PP_NODE_670(p) BOOST_PP_IIF(p(670), BOOST_PP_NODE_669, BOOST_PP_NODE_671)
#                                     define BOOST_PP_NODE_669(p) BOOST_PP_IIF(p(669), 669, 670)
#                                     define BOOST_PP_NODE_671(p) BOOST_PP_IIF(p(671), 671, 672)
#                     define BOOST_PP_NODE_688(p) BOOST_PP_IIF(p(688), BOOST_PP_NODE_680, BOOST_PP_NODE_696)
#                         define BOOST_PP_NODE_680(p) BOOST_PP_IIF(p(680), BOOST_PP_NODE_676, BOOST_PP_NODE_684)
#                             define BOOST_PP_NODE_676(p) BOOST_PP_IIF(p(676), BOOST_PP_NODE_674, BOOST_PP_NODE_678)
#                                 define BOOST_PP_NODE_674(p) BOOST_PP_IIF(p(674), BOOST_PP_NODE_673, BOOST_PP_NODE_675)
#                                     define BOOST_PP_NODE_673(p) BOOST_PP_IIF(p(673), 673, 674)
#                                     define BOOST_PP_NODE_675(p) BOOST_PP_IIF(p(675), 675, 676)
#                                 define BOOST_PP_NODE_678(p) BOOST_PP_IIF(p(678), BOOST_PP_NODE_677, BOOST_PP_NODE_679)
#                                     define BOOST_PP_NODE_677(p) BOOST_PP_IIF(p(677), 677, 678)
#                                     define BOOST_PP_NODE_679(p) BOOST_PP_IIF(p(679), 679, 680)
#                             define BOOST_PP_NODE_684(p) BOOST_PP_IIF(p(684), BOOST_PP_NODE_682, BOOST_PP_NODE_686)
#                                 define BOOST_PP_NODE_682(p) BOOST_PP_IIF(p(682), BOOST_PP_NODE_681, BOOST_PP_NODE_683)
#                                     define BOOST_PP_NODE_681(p) BOOST_PP_IIF(p(681), 681, 682)
#                                     define BOOST_PP_NODE_683(p) BOOST_PP_IIF(p(683), 683, 684)
#                                 define BOOST_PP_NODE_686(p) BOOST_PP_IIF(p(686), BOOST_PP_NODE_685, BOOST_PP_NODE_687)
#                                     define BOOST_PP_NODE_685(p) BOOST_PP_IIF(p(685), 685, 686)
#                                     define BOOST_PP_NODE_687(p) BOOST_PP_IIF(p(687), 687, 688)
#                         define BOOST_PP_NODE_696(p) BOOST_PP_IIF(p(696), BOOST_PP_NODE_692, BOOST_PP_NODE_700)
#                             define BOOST_PP_NODE_692(p) BOOST_PP_IIF(p(692), BOOST_PP_NODE_690, BOOST_PP_NODE_694)
#                                 define BOOST_PP_NODE_690(p) BOOST_PP_IIF(p(690), BOOST_PP_NODE_689, BOOST_PP_NODE_691)
#                                     define BOOST_PP_NODE_689(p) BOOST_PP_IIF(p(689), 689, 690)
#                                     define BOOST_PP_NODE_691(p) BOOST_PP_IIF(p(691), 691, 692)
#                                 define BOOST_PP_NODE_694(p) BOOST_PP_IIF(p(694), BOOST_PP_NODE_693, BOOST_PP_NODE_695)
#                                     define BOOST_PP_NODE_693(p) BOOST_PP_IIF(p(693), 693, 694)
#                                     define BOOST_PP_NODE_695(p) BOOST_PP_IIF(p(695), 695, 696)
#                             define BOOST_PP_NODE_700(p) BOOST_PP_IIF(p(700), BOOST_PP_NODE_698, BOOST_PP_NODE_702)
#                                 define BOOST_PP_NODE_698(p) BOOST_PP_IIF(p(698), BOOST_PP_NODE_697, BOOST_PP_NODE_699)
#                                     define BOOST_PP_NODE_697(p) BOOST_PP_IIF(p(697), 697, 698)
#                                     define BOOST_PP_NODE_699(p) BOOST_PP_IIF(p(699), 699, 700)
#                                 define BOOST_PP_NODE_702(p) BOOST_PP_IIF(p(702), BOOST_PP_NODE_701, BOOST_PP_NODE_703)
#                                     define BOOST_PP_NODE_701(p) BOOST_PP_IIF(p(701), 701, 702)
#                                     define BOOST_PP_NODE_703(p) BOOST_PP_IIF(p(703), 703, 704)
#                 define BOOST_PP_NODE_736(p) BOOST_PP_IIF(p(736), BOOST_PP_NODE_720, BOOST_PP_NODE_752)
#                     define BOOST_PP_NODE_720(p) BOOST_PP_IIF(p(720), BOOST_PP_NODE_712, BOOST_PP_NODE_728)
#                         define BOOST_PP_NODE_712(p) BOOST_PP_IIF(p(712), BOOST_PP_NODE_708, BOOST_PP_NODE_716)
#                             define BOOST_PP_NODE_708(p) BOOST_PP_IIF(p(708), BOOST_PP_NODE_706, BOOST_PP_NODE_710)
#                                 define BOOST_PP_NODE_706(p) BOOST_PP_IIF(p(706), BOOST_PP_NODE_705, BOOST_PP_NODE_707)
#                                     define BOOST_PP_NODE_705(p) BOOST_PP_IIF(p(705), 705, 706)
#                                     define BOOST_PP_NODE_707(p) BOOST_PP_IIF(p(707), 707, 708)
#                                 define BOOST_PP_NODE_710(p) BOOST_PP_IIF(p(710), BOOST_PP_NODE_709, BOOST_PP_NODE_711)
#                                     define BOOST_PP_NODE_709(p) BOOST_PP_IIF(p(709), 709, 710)
#                                     define BOOST_PP_NODE_711(p) BOOST_PP_IIF(p(711), 711, 712)
#                             define BOOST_PP_NODE_716(p) BOOST_PP_IIF(p(716), BOOST_PP_NODE_714, BOOST_PP_NODE_718)
#                                 define BOOST_PP_NODE_714(p) BOOST_PP_IIF(p(714), BOOST_PP_NODE_713, BOOST_PP_NODE_715)
#                                     define BOOST_PP_NODE_713(p) BOOST_PP_IIF(p(713), 713, 714)
#                                     define BOOST_PP_NODE_715(p) BOOST_PP_IIF(p(715), 715, 716)
#                                 define BOOST_PP_NODE_718(p) BOOST_PP_IIF(p(718), BOOST_PP_NODE_717, BOOST_PP_NODE_719)
#                                     define BOOST_PP_NODE_717(p) BOOST_PP_IIF(p(717), 717, 718)
#                                     define BOOST_PP_NODE_719(p) BOOST_PP_IIF(p(719), 719, 720)
#                         define BOOST_PP_NODE_728(p) BOOST_PP_IIF(p(728), BOOST_PP_NODE_724, BOOST_PP_NODE_732)
#                             define BOOST_PP_NODE_724(p) BOOST_PP_IIF(p(724), BOOST_PP_NODE_722, BOOST_PP_NODE_726)
#                                 define BOOST_PP_NODE_722(p) BOOST_PP_IIF(p(722), BOOST_PP_NODE_721, BOOST_PP_NODE_723)
#                                     define BOOST_PP_NODE_721(p) BOOST_PP_IIF(p(721), 721, 722)
#                                     define BOOST_PP_NODE_723(p) BOOST_PP_IIF(p(723), 723, 724)
#                                 define BOOST_PP_NODE_726(p) BOOST_PP_IIF(p(726), BOOST_PP_NODE_725, BOOST_PP_NODE_727)
#                                     define BOOST_PP_NODE_725(p) BOOST_PP_IIF(p(725), 725, 726)
#                                     define BOOST_PP_NODE_727(p) BOOST_PP_IIF(p(727), 727, 728)
#                             define BOOST_PP_NODE_732(p) BOOST_PP_IIF(p(732), BOOST_PP_NODE_730, BOOST_PP_NODE_734)
#                                 define BOOST_PP_NODE_730(p) BOOST_PP_IIF(p(730), BOOST_PP_NODE_729, BOOST_PP_NODE_731)
#                                     define BOOST_PP_NODE_729(p) BOOST_PP_IIF(p(729), 729, 730)
#                                     define BOOST_PP_NODE_731(p) BOOST_PP_IIF(p(731), 731, 732)
#                                 define BOOST_PP_NODE_734(p) BOOST_PP_IIF(p(734), BOOST_PP_NODE_733, BOOST_PP_NODE_735)
#                                     define BOOST_PP_NODE_733(p) BOOST_PP_IIF(p(733), 733, 734)
#                                     define BOOST_PP_NODE_735(p) BOOST_PP_IIF(p(735), 735, 736)
#                     define BOOST_PP_NODE_752(p) BOOST_PP_IIF(p(752), BOOST_PP_NODE_744, BOOST_PP_NODE_760)
#                         define BOOST_PP_NODE_744(p) BOOST_PP_IIF(p(744), BOOST_PP_NODE_740, BOOST_PP_NODE_748)
#                             define BOOST_PP_NODE_740(p) BOOST_PP_IIF(p(740), BOOST_PP_NODE_738, BOOST_PP_NODE_742)
#                                 define BOOST_PP_NODE_738(p) BOOST_PP_IIF(p(738), BOOST_PP_NODE_737, BOOST_PP_NODE_739)
#                                     define BOOST_PP_NODE_737(p) BOOST_PP_IIF(p(737), 737, 738)
#                                     define BOOST_PP_NODE_739(p) BOOST_PP_IIF(p(739), 739, 740)
#                                 define BOOST_PP_NODE_742(p) BOOST_PP_IIF(p(742), BOOST_PP_NODE_741, BOOST_PP_NODE_743)
#                                     define BOOST_PP_NODE_741(p) BOOST_PP_IIF(p(741), 741, 742)
#                                     define BOOST_PP_NODE_743(p) BOOST_PP_IIF(p(743), 743, 744)
#                             define BOOST_PP_NODE_748(p) BOOST_PP_IIF(p(748), BOOST_PP_NODE_746, BOOST_PP_NODE_750)
#                                 define BOOST_PP_NODE_746(p) BOOST_PP_IIF(p(746), BOOST_PP_NODE_745, BOOST_PP_NODE_747)
#                                     define BOOST_PP_NODE_745(p) BOOST_PP_IIF(p(745), 745, 746)
#                                     define BOOST_PP_NODE_747(p) BOOST_PP_IIF(p(747), 747, 748)
#                                 define BOOST_PP_NODE_750(p) BOOST_PP_IIF(p(750), BOOST_PP_NODE_749, BOOST_PP_NODE_751)
#                                     define BOOST_PP_NODE_749(p) BOOST_PP_IIF(p(749), 749, 750)
#                                     define BOOST_PP_NODE_751(p) BOOST_PP_IIF(p(751), 751, 752)
#                         define BOOST_PP_NODE_760(p) BOOST_PP_IIF(p(760), BOOST_PP_NODE_756, BOOST_PP_NODE_764)
#                             define BOOST_PP_NODE_756(p) BOOST_PP_IIF(p(756), BOOST_PP_NODE_754, BOOST_PP_NODE_758)
#                                 define BOOST_PP_NODE_754(p) BOOST_PP_IIF(p(754), BOOST_PP_NODE_753, BOOST_PP_NODE_755)
#                                     define BOOST_PP_NODE_753(p) BOOST_PP_IIF(p(753), 753, 754)
#                                     define BOOST_PP_NODE_755(p) BOOST_PP_IIF(p(755), 755, 756)
#                                 define BOOST_PP_NODE_758(p) BOOST_PP_IIF(p(758), BOOST_PP_NODE_757, BOOST_PP_NODE_759)
#                                     define BOOST_PP_NODE_757(p) BOOST_PP_IIF(p(757), 757, 758)
#                                     define BOOST_PP_NODE_759(p) BOOST_PP_IIF(p(759), 759, 760)
#                             define BOOST_PP_NODE_764(p) BOOST_PP_IIF(p(764), BOOST_PP_NODE_762, BOOST_PP_NODE_766)
#                                 define BOOST_PP_NODE_762(p) BOOST_PP_IIF(p(762), BOOST_PP_NODE_761, BOOST_PP_NODE_763)
#                                     define BOOST_PP_NODE_761(p) BOOST_PP_IIF(p(761), 761, 762)
#                                     define BOOST_PP_NODE_763(p) BOOST_PP_IIF(p(763), 763, 764)
#                                 define BOOST_PP_NODE_766(p) BOOST_PP_IIF(p(766), BOOST_PP_NODE_765, BOOST_PP_NODE_767)
#                                     define BOOST_PP_NODE_765(p) BOOST_PP_IIF(p(765), 765, 766)
#                                     define BOOST_PP_NODE_767(p) BOOST_PP_IIF(p(767), 767, 768)
#         define BOOST_PP_NODE_896(p) BOOST_PP_IIF(p(896), BOOST_PP_NODE_832, BOOST_PP_NODE_960)
#             define BOOST_PP_NODE_832(p) BOOST_PP_IIF(p(832), BOOST_PP_NODE_800, BOOST_PP_NODE_864)
#                 define BOOST_PP_NODE_800(p) BOOST_PP_IIF(p(800), BOOST_PP_NODE_784, BOOST_PP_NODE_816)
#                     define BOOST_PP_NODE_784(p) BOOST_PP_IIF(p(784), BOOST_PP_NODE_776, BOOST_PP_NODE_792)
#                         define BOOST_PP_NODE_776(p) BOOST_PP_IIF(p(776), BOOST_PP_NODE_772, BOOST_PP_NODE_780)
#                             define BOOST_PP_NODE_772(p) BOOST_PP_IIF(p(772), BOOST_PP_NODE_770, BOOST_PP_NODE_774)
#                                 define BOOST_PP_NODE_770(p) BOOST_PP_IIF(p(770), BOOST_PP_NODE_769, BOOST_PP_NODE_771)
#                                     define BOOST_PP_NODE_769(p) BOOST_PP_IIF(p(769), 769, 770)
#                                     define BOOST_PP_NODE_771(p) BOOST_PP_IIF(p(771), 771, 772)
#                                 define BOOST_PP_NODE_774(p) BOOST_PP_IIF(p(774), BOOST_PP_NODE_773, BOOST_PP_NODE_775)
#                                     define BOOST_PP_NODE_773(p) BOOST_PP_IIF(p(773), 773, 774)
#                                     define BOOST_PP_NODE_775(p) BOOST_PP_IIF(p(775), 775, 776)
#                             define BOOST_PP_NODE_780(p) BOOST_PP_IIF(p(780), BOOST_PP_NODE_778, BOOST_PP_NODE_782)
#                                 define BOOST_PP_NODE_778(p) BOOST_PP_IIF(p(778), BOOST_PP_NODE_777, BOOST_PP_NODE_779)
#                                     define BOOST_PP_NODE_777(p) BOOST_PP_IIF(p(777), 777, 778)
#                                     define BOOST_PP_NODE_779(p) BOOST_PP_IIF(p(779), 779, 780)
#                                 define BOOST_PP_NODE_782(p) BOOST_PP_IIF(p(782), BOOST_PP_NODE_781, BOOST_PP_NODE_783)
#                                     define BOOST_PP_NODE_781(p) BOOST_PP_IIF(p(781), 781, 782)
#                                     define BOOST_PP_NODE_783(p) BOOST_PP_IIF(p(783), 783, 784)
#                         define BOOST_PP_NODE_792(p) BOOST_PP_IIF(p(792), BOOST_PP_NODE_788, BOOST_PP_NODE_796)
#                             define BOOST_PP_NODE_788(p) BOOST_PP_IIF(p(788), BOOST_PP_NODE_786, BOOST_PP_NODE_790)
#                                 define BOOST_PP_NODE_786(p) BOOST_PP_IIF(p(786), BOOST_PP_NODE_785, BOOST_PP_NODE_787)
#                                     define BOOST_PP_NODE_785(p) BOOST_PP_IIF(p(785), 785, 786)
#                                     define BOOST_PP_NODE_787(p) BOOST_PP_IIF(p(787), 787, 788)
#                                 define BOOST_PP_NODE_790(p) BOOST_PP_IIF(p(790), BOOST_PP_NODE_789, BOOST_PP_NODE_791)
#                                     define BOOST_PP_NODE_789(p) BOOST_PP_IIF(p(789), 789, 790)
#                                     define BOOST_PP_NODE_791(p) BOOST_PP_IIF(p(791), 791, 792)
#                             define BOOST_PP_NODE_796(p) BOOST_PP_IIF(p(796), BOOST_PP_NODE_794, BOOST_PP_NODE_798)
#                                 define BOOST_PP_NODE_794(p) BOOST_PP_IIF(p(794), BOOST_PP_NODE_793, BOOST_PP_NODE_795)
#                                     define BOOST_PP_NODE_793(p) BOOST_PP_IIF(p(793), 793, 794)
#                                     define BOOST_PP_NODE_795(p) BOOST_PP_IIF(p(795), 795, 796)
#                                 define BOOST_PP_NODE_798(p) BOOST_PP_IIF(p(798), BOOST_PP_NODE_797, BOOST_PP_NODE_799)
#                                     define BOOST_PP_NODE_797(p) BOOST_PP_IIF(p(797), 797, 798)
#                                     define BOOST_PP_NODE_799(p) BOOST_PP_IIF(p(799), 799, 800)
#                     define BOOST_PP_NODE_816(p) BOOST_PP_IIF(p(816), BOOST_PP_NODE_808, BOOST_PP_NODE_824)
#                         define BOOST_PP_NODE_808(p) BOOST_PP_IIF(p(808), BOOST_PP_NODE_804, BOOST_PP_NODE_812)
#                             define BOOST_PP_NODE_804(p) BOOST_PP_IIF(p(804), BOOST_PP_NODE_802, BOOST_PP_NODE_806)
#                                 define BOOST_PP_NODE_802(p) BOOST_PP_IIF(p(802), BOOST_PP_NODE_801, BOOST_PP_NODE_803)
#                                     define BOOST_PP_NODE_801(p) BOOST_PP_IIF(p(801), 801, 802)
#                                     define BOOST_PP_NODE_803(p) BOOST_PP_IIF(p(803), 803, 804)
#                                 define BOOST_PP_NODE_806(p) BOOST_PP_IIF(p(806), BOOST_PP_NODE_805, BOOST_PP_NODE_807)
#                                     define BOOST_PP_NODE_805(p) BOOST_PP_IIF(p(805), 805, 806)
#                                     define BOOST_PP_NODE_807(p) BOOST_PP_IIF(p(807), 807, 808)
#                             define BOOST_PP_NODE_812(p) BOOST_PP_IIF(p(812), BOOST_PP_NODE_810, BOOST_PP_NODE_814)
#                                 define BOOST_PP_NODE_810(p) BOOST_PP_IIF(p(810), BOOST_PP_NODE_809, BOOST_PP_NODE_811)
#                                     define BOOST_PP_NODE_809(p) BOOST_PP_IIF(p(809), 809, 810)
#                                     define BOOST_PP_NODE_811(p) BOOST_PP_IIF(p(811), 811, 812)
#                                 define BOOST_PP_NODE_814(p) BOOST_PP_IIF(p(814), BOOST_PP_NODE_813, BOOST_PP_NODE_815)
#                                     define BOOST_PP_NODE_813(p) BOOST_PP_IIF(p(813), 813, 814)
#                                     define BOOST_PP_NODE_815(p) BOOST_PP_IIF(p(815), 815, 816)
#                         define BOOST_PP_NODE_824(p) BOOST_PP_IIF(p(824), BOOST_PP_NODE_820, BOOST_PP_NODE_828)
#                             define BOOST_PP_NODE_820(p) BOOST_PP_IIF(p(820), BOOST_PP_NODE_818, BOOST_PP_NODE_822)
#                                 define BOOST_PP_NODE_818(p) BOOST_PP_IIF(p(818), BOOST_PP_NODE_817, BOOST_PP_NODE_819)
#                                     define BOOST_PP_NODE_817(p) BOOST_PP_IIF(p(817), 817, 818)
#                                     define BOOST_PP_NODE_819(p) BOOST_PP_IIF(p(819), 819, 820)
#                                 define BOOST_PP_NODE_822(p) BOOST_PP_IIF(p(822), BOOST_PP_NODE_821, BOOST_PP_NODE_823)
#                                     define BOOST_PP_NODE_821(p) BOOST_PP_IIF(p(821), 821, 822)
#                                     define BOOST_PP_NODE_823(p) BOOST_PP_IIF(p(823), 823, 824)
#                             define BOOST_PP_NODE_828(p) BOOST_PP_IIF(p(828), BOOST_PP_NODE_826, BOOST_PP_NODE_830)
#                                 define BOOST_PP_NODE_826(p) BOOST_PP_IIF(p(826), BOOST_PP_NODE_825, BOOST_PP_NODE_827)
#                                     define BOOST_PP_NODE_825(p) BOOST_PP_IIF(p(825), 825, 826)
#                                     define BOOST_PP_NODE_827(p) BOOST_PP_IIF(p(827), 827, 828)
#                                 define BOOST_PP_NODE_830(p) BOOST_PP_IIF(p(830), BOOST_PP_NODE_829, BOOST_PP_NODE_831)
#                                     define BOOST_PP_NODE_829(p) BOOST_PP_IIF(p(829), 829, 830)
#                                     define BOOST_PP_NODE_831(p) BOOST_PP_IIF(p(831), 831, 832)
#                 define BOOST_PP_NODE_864(p) BOOST_PP_IIF(p(864), BOOST_PP_NODE_848, BOOST_PP_NODE_880)
#                     define BOOST_PP_NODE_848(p) BOOST_PP_IIF(p(848), BOOST_PP_NODE_840, BOOST_PP_NODE_856)
#                         define BOOST_PP_NODE_840(p) BOOST_PP_IIF(p(840), BOOST_PP_NODE_836, BOOST_PP_NODE_844)
#                             define BOOST_PP_NODE_836(p) BOOST_PP_IIF(p(836), BOOST_PP_NODE_834, BOOST_PP_NODE_838)
#                                 define BOOST_PP_NODE_834(p) BOOST_PP_IIF(p(834), BOOST_PP_NODE_833, BOOST_PP_NODE_835)
#                                     define BOOST_PP_NODE_833(p) BOOST_PP_IIF(p(833), 833, 834)
#                                     define BOOST_PP_NODE_835(p) BOOST_PP_IIF(p(835), 835, 836)
#                                 define BOOST_PP_NODE_838(p) BOOST_PP_IIF(p(838), BOOST_PP_NODE_837, BOOST_PP_NODE_839)
#                                     define BOOST_PP_NODE_837(p) BOOST_PP_IIF(p(837), 837, 838)
#                                     define BOOST_PP_NODE_839(p) BOOST_PP_IIF(p(839), 839, 840)
#                             define BOOST_PP_NODE_844(p) BOOST_PP_IIF(p(844), BOOST_PP_NODE_842, BOOST_PP_NODE_846)
#                                 define BOOST_PP_NODE_842(p) BOOST_PP_IIF(p(842), BOOST_PP_NODE_841, BOOST_PP_NODE_843)
#                                     define BOOST_PP_NODE_841(p) BOOST_PP_IIF(p(841), 841, 842)
#                                     define BOOST_PP_NODE_843(p) BOOST_PP_IIF(p(843), 843, 844)
#                                 define BOOST_PP_NODE_846(p) BOOST_PP_IIF(p(846), BOOST_PP_NODE_845, BOOST_PP_NODE_847)
#                                     define BOOST_PP_NODE_845(p) BOOST_PP_IIF(p(845), 845, 846)
#                                     define BOOST_PP_NODE_847(p) BOOST_PP_IIF(p(847), 847, 848)
#                         define BOOST_PP_NODE_856(p) BOOST_PP_IIF(p(856), BOOST_PP_NODE_852, BOOST_PP_NODE_860)
#                             define BOOST_PP_NODE_852(p) BOOST_PP_IIF(p(852), BOOST_PP_NODE_850, BOOST_PP_NODE_854)
#                                 define BOOST_PP_NODE_850(p) BOOST_PP_IIF(p(850), BOOST_PP_NODE_849, BOOST_PP_NODE_851)
#                                     define BOOST_PP_NODE_849(p) BOOST_PP_IIF(p(849), 849, 850)
#                                     define BOOST_PP_NODE_851(p) BOOST_PP_IIF(p(851), 851, 852)
#                                 define BOOST_PP_NODE_854(p) BOOST_PP_IIF(p(854), BOOST_PP_NODE_853, BOOST_PP_NODE_855)
#                                     define BOOST_PP_NODE_853(p) BOOST_PP_IIF(p(853), 853, 854)
#                                     define BOOST_PP_NODE_855(p) BOOST_PP_IIF(p(855), 855, 856)
#                             define BOOST_PP_NODE_860(p) BOOST_PP_IIF(p(860), BOOST_PP_NODE_858, BOOST_PP_NODE_862)
#                                 define BOOST_PP_NODE_858(p) BOOST_PP_IIF(p(858), BOOST_PP_NODE_857, BOOST_PP_NODE_859)
#                                     define BOOST_PP_NODE_857(p) BOOST_PP_IIF(p(857), 857, 858)
#                                     define BOOST_PP_NODE_859(p) BOOST_PP_IIF(p(859), 859, 860)
#                                 define BOOST_PP_NODE_862(p) BOOST_PP_IIF(p(862), BOOST_PP_NODE_861, BOOST_PP_NODE_863)
#                                     define BOOST_PP_NODE_861(p) BOOST_PP_IIF(p(861), 861, 862)
#                                     define BOOST_PP_NODE_863(p) BOOST_PP_IIF(p(863), 863, 864)
#                     define BOOST_PP_NODE_880(p) BOOST_PP_IIF(p(880), BOOST_PP_NODE_872, BOOST_PP_NODE_888)
#                         define BOOST_PP_NODE_872(p) BOOST_PP_IIF(p(872), BOOST_PP_NODE_868, BOOST_PP_NODE_876)
#                             define BOOST_PP_NODE_868(p) BOOST_PP_IIF(p(868), BOOST_PP_NODE_866, BOOST_PP_NODE_870)
#                                 define BOOST_PP_NODE_866(p) BOOST_PP_IIF(p(866), BOOST_PP_NODE_865, BOOST_PP_NODE_867)
#                                     define BOOST_PP_NODE_865(p) BOOST_PP_IIF(p(865), 865, 866)
#                                     define BOOST_PP_NODE_867(p) BOOST_PP_IIF(p(867), 867, 868)
#                                 define BOOST_PP_NODE_870(p) BOOST_PP_IIF(p(870), BOOST_PP_NODE_869, BOOST_PP_NODE_871)
#                                     define BOOST_PP_NODE_869(p) BOOST_PP_IIF(p(869), 869, 870)
#                                     define BOOST_PP_NODE_871(p) BOOST_PP_IIF(p(871), 871, 872)
#                             define BOOST_PP_NODE_876(p) BOOST_PP_IIF(p(876), BOOST_PP_NODE_874, BOOST_PP_NODE_878)
#                                 define BOOST_PP_NODE_874(p) BOOST_PP_IIF(p(874), BOOST_PP_NODE_873, BOOST_PP_NODE_875)
#                                     define BOOST_PP_NODE_873(p) BOOST_PP_IIF(p(873), 873, 874)
#                                     define BOOST_PP_NODE_875(p) BOOST_PP_IIF(p(875), 875, 876)
#                                 define BOOST_PP_NODE_878(p) BOOST_PP_IIF(p(878), BOOST_PP_NODE_877, BOOST_PP_NODE_879)
#                                     define BOOST_PP_NODE_877(p) BOOST_PP_IIF(p(877), 877, 878)
#                                     define BOOST_PP_NODE_879(p) BOOST_PP_IIF(p(879), 879, 880)
#                         define BOOST_PP_NODE_888(p) BOOST_PP_IIF(p(888), BOOST_PP_NODE_884, BOOST_PP_NODE_892)
#                             define BOOST_PP_NODE_884(p) BOOST_PP_IIF(p(884), BOOST_PP_NODE_882, BOOST_PP_NODE_886)
#                                 define BOOST_PP_NODE_882(p) BOOST_PP_IIF(p(882), BOOST_PP_NODE_881, BOOST_PP_NODE_883)
#                                     define BOOST_PP_NODE_881(p) BOOST_PP_IIF(p(881), 881, 882)
#                                     define BOOST_PP_NODE_883(p) BOOST_PP_IIF(p(883), 883, 884)
#                                 define BOOST_PP_NODE_886(p) BOOST_PP_IIF(p(886), BOOST_PP_NODE_885, BOOST_PP_NODE_887)
#                                     define BOOST_PP_NODE_885(p) BOOST_PP_IIF(p(885), 885, 886)
#                                     define BOOST_PP_NODE_887(p) BOOST_PP_IIF(p(887), 887, 888)
#                             define BOOST_PP_NODE_892(p) BOOST_PP_IIF(p(892), BOOST_PP_NODE_890, BOOST_PP_NODE_894)
#                                 define BOOST_PP_NODE_890(p) BOOST_PP_IIF(p(890), BOOST_PP_NODE_889, BOOST_PP_NODE_891)
#                                     define BOOST_PP_NODE_889(p) BOOST_PP_IIF(p(889), 889, 890)
#                                     define BOOST_PP_NODE_891(p) BOOST_PP_IIF(p(891), 891, 892)
#                                 define BOOST_PP_NODE_894(p) BOOST_PP_IIF(p(894), BOOST_PP_NODE_893, BOOST_PP_NODE_895)
#                                     define BOOST_PP_NODE_893(p) BOOST_PP_IIF(p(893), 893, 894)
#                                     define BOOST_PP_NODE_895(p) BOOST_PP_IIF(p(895), 895, 896)
#             define BOOST_PP_NODE_960(p) BOOST_PP_IIF(p(960), BOOST_PP_NODE_928, BOOST_PP_NODE_992)
#                 define BOOST_PP_NODE_928(p) BOOST_PP_IIF(p(928), BOOST_PP_NODE_912, BOOST_PP_NODE_944)
#                     define BOOST_PP_NODE_912(p) BOOST_PP_IIF(p(912), BOOST_PP_NODE_904, BOOST_PP_NODE_920)
#                         define BOOST_PP_NODE_904(p) BOOST_PP_IIF(p(904), BOOST_PP_NODE_900, BOOST_PP_NODE_908)
#                             define BOOST_PP_NODE_900(p) BOOST_PP_IIF(p(900), BOOST_PP_NODE_898, BOOST_PP_NODE_902)
#                                 define BOOST_PP_NODE_898(p) BOOST_PP_IIF(p(898), BOOST_PP_NODE_897, BOOST_PP_NODE_899)
#                                     define BOOST_PP_NODE_897(p) BOOST_PP_IIF(p(897), 897, 898)
#                                     define BOOST_PP_NODE_899(p) BOOST_PP_IIF(p(899), 899, 900)
#                                 define BOOST_PP_NODE_902(p) BOOST_PP_IIF(p(902), BOOST_PP_NODE_901, BOOST_PP_NODE_903)
#                                     define BOOST_PP_NODE_901(p) BOOST_PP_IIF(p(901), 901, 902)
#                                     define BOOST_PP_NODE_903(p) BOOST_PP_IIF(p(903), 903, 904)
#                             define BOOST_PP_NODE_908(p) BOOST_PP_IIF(p(908), BOOST_PP_NODE_906, BOOST_PP_NODE_910)
#                                 define BOOST_PP_NODE_906(p) BOOST_PP_IIF(p(906), BOOST_PP_NODE_905, BOOST_PP_NODE_907)
#                                     define BOOST_PP_NODE_905(p) BOOST_PP_IIF(p(905), 905, 906)
#                                     define BOOST_PP_NODE_907(p) BOOST_PP_IIF(p(907), 907, 908)
#                                 define BOOST_PP_NODE_910(p) BOOST_PP_IIF(p(910), BOOST_PP_NODE_909, BOOST_PP_NODE_911)
#                                     define BOOST_PP_NODE_909(p) BOOST_PP_IIF(p(909), 909, 910)
#                                     define BOOST_PP_NODE_911(p) BOOST_PP_IIF(p(911), 911, 912)
#                         define BOOST_PP_NODE_920(p) BOOST_PP_IIF(p(920), BOOST_PP_NODE_916, BOOST_PP_NODE_924)
#                             define BOOST_PP_NODE_916(p) BOOST_PP_IIF(p(916), BOOST_PP_NODE_914, BOOST_PP_NODE_918)
#                                 define BOOST_PP_NODE_914(p) BOOST_PP_IIF(p(914), BOOST_PP_NODE_913, BOOST_PP_NODE_915)
#                                     define BOOST_PP_NODE_913(p) BOOST_PP_IIF(p(913), 913, 914)
#                                     define BOOST_PP_NODE_915(p) BOOST_PP_IIF(p(915), 915, 916)
#                                 define BOOST_PP_NODE_918(p) BOOST_PP_IIF(p(918), BOOST_PP_NODE_917, BOOST_PP_NODE_919)
#                                     define BOOST_PP_NODE_917(p) BOOST_PP_IIF(p(917), 917, 918)
#                                     define BOOST_PP_NODE_919(p) BOOST_PP_IIF(p(919), 919, 920)
#                             define BOOST_PP_NODE_924(p) BOOST_PP_IIF(p(924), BOOST_PP_NODE_922, BOOST_PP_NODE_926)
#                                 define BOOST_PP_NODE_922(p) BOOST_PP_IIF(p(922), BOOST_PP_NODE_921, BOOST_PP_NODE_923)
#                                     define BOOST_PP_NODE_921(p) BOOST_PP_IIF(p(921), 921, 922)
#                                     define BOOST_PP_NODE_923(p) BOOST_PP_IIF(p(923), 923, 924)
#                                 define BOOST_PP_NODE_926(p) BOOST_PP_IIF(p(926), BOOST_PP_NODE_925, BOOST_PP_NODE_927)
#                                     define BOOST_PP_NODE_925(p) BOOST_PP_IIF(p(925), 925, 926)
#                                     define BOOST_PP_NODE_927(p) BOOST_PP_IIF(p(927), 927, 928)
#                     define BOOST_PP_NODE_944(p) BOOST_PP_IIF(p(944), BOOST_PP_NODE_936, BOOST_PP_NODE_952)
#                         define BOOST_PP_NODE_936(p) BOOST_PP_IIF(p(936), BOOST_PP_NODE_932, BOOST_PP_NODE_940)
#                             define BOOST_PP_NODE_932(p) BOOST_PP_IIF(p(932), BOOST_PP_NODE_930, BOOST_PP_NODE_934)
#                                 define BOOST_PP_NODE_930(p) BOOST_PP_IIF(p(930), BOOST_PP_NODE_929, BOOST_PP_NODE_931)
#                                     define BOOST_PP_NODE_929(p) BOOST_PP_IIF(p(929), 929, 930)
#                                     define BOOST_PP_NODE_931(p) BOOST_PP_IIF(p(931), 931, 932)
#                                 define BOOST_PP_NODE_934(p) BOOST_PP_IIF(p(934), BOOST_PP_NODE_933, BOOST_PP_NODE_935)
#                                     define BOOST_PP_NODE_933(p) BOOST_PP_IIF(p(933), 933, 934)
#                                     define BOOST_PP_NODE_935(p) BOOST_PP_IIF(p(935), 935, 936)
#                             define BOOST_PP_NODE_940(p) BOOST_PP_IIF(p(940), BOOST_PP_NODE_938, BOOST_PP_NODE_942)
#                                 define BOOST_PP_NODE_938(p) BOOST_PP_IIF(p(938), BOOST_PP_NODE_937, BOOST_PP_NODE_939)
#                                     define BOOST_PP_NODE_937(p) BOOST_PP_IIF(p(937), 937, 938)
#                                     define BOOST_PP_NODE_939(p) BOOST_PP_IIF(p(939), 939, 940)
#                                 define BOOST_PP_NODE_942(p) BOOST_PP_IIF(p(942), BOOST_PP_NODE_941, BOOST_PP_NODE_943)
#                                     define BOOST_PP_NODE_941(p) BOOST_PP_IIF(p(941), 941, 942)
#                                     define BOOST_PP_NODE_943(p) BOOST_PP_IIF(p(943), 943, 944)
#                         define BOOST_PP_NODE_952(p) BOOST_PP_IIF(p(952), BOOST_PP_NODE_948, BOOST_PP_NODE_956)
#                             define BOOST_PP_NODE_948(p) BOOST_PP_IIF(p(948), BOOST_PP_NODE_946, BOOST_PP_NODE_950)
#                                 define BOOST_PP_NODE_946(p) BOOST_PP_IIF(p(946), BOOST_PP_NODE_945, BOOST_PP_NODE_947)
#                                     define BOOST_PP_NODE_945(p) BOOST_PP_IIF(p(945), 945, 946)
#                                     define BOOST_PP_NODE_947(p) BOOST_PP_IIF(p(947), 947, 948)
#                                 define BOOST_PP_NODE_950(p) BOOST_PP_IIF(p(950), BOOST_PP_NODE_949, BOOST_PP_NODE_951)
#                                     define BOOST_PP_NODE_949(p) BOOST_PP_IIF(p(949), 949, 950)
#                                     define BOOST_PP_NODE_951(p) BOOST_PP_IIF(p(951), 951, 952)
#                             define BOOST_PP_NODE_956(p) BOOST_PP_IIF(p(956), BOOST_PP_NODE_954, BOOST_PP_NODE_958)
#                                 define BOOST_PP_NODE_954(p) BOOST_PP_IIF(p(954), BOOST_PP_NODE_953, BOOST_PP_NODE_955)
#                                     define BOOST_PP_NODE_953(p) BOOST_PP_IIF(p(953), 953, 954)
#                                     define BOOST_PP_NODE_955(p) BOOST_PP_IIF(p(955), 955, 956)
#                                 define BOOST_PP_NODE_958(p) BOOST_PP_IIF(p(958), BOOST_PP_NODE_957, BOOST_PP_NODE_959)
#                                     define BOOST_PP_NODE_957(p) BOOST_PP_IIF(p(957), 957, 958)
#                                     define BOOST_PP_NODE_959(p) BOOST_PP_IIF(p(959), 959, 960)
#                 define BOOST_PP_NODE_992(p) BOOST_PP_IIF(p(992), BOOST_PP_NODE_976, BOOST_PP_NODE_1008)
#                     define BOOST_PP_NODE_976(p) BOOST_PP_IIF(p(976), BOOST_PP_NODE_968, BOOST_PP_NODE_984)
#                         define BOOST_PP_NODE_968(p) BOOST_PP_IIF(p(968), BOOST_PP_NODE_964, BOOST_PP_NODE_972)
#                             define BOOST_PP_NODE_964(p) BOOST_PP_IIF(p(964), BOOST_PP_NODE_962, BOOST_PP_NODE_966)
#                                 define BOOST_PP_NODE_962(p) BOOST_PP_IIF(p(962), BOOST_PP_NODE_961, BOOST_PP_NODE_963)
#                                     define BOOST_PP_NODE_961(p) BOOST_PP_IIF(p(961), 961, 962)
#                                     define BOOST_PP_NODE_963(p) BOOST_PP_IIF(p(963), 963, 964)
#                                 define BOOST_PP_NODE_966(p) BOOST_PP_IIF(p(966), BOOST_PP_NODE_965, BOOST_PP_NODE_967)
#                                     define BOOST_PP_NODE_965(p) BOOST_PP_IIF(p(965), 965, 966)
#                                     define BOOST_PP_NODE_967(p) BOOST_PP_IIF(p(967), 967, 968)
#                             define BOOST_PP_NODE_972(p) BOOST_PP_IIF(p(972), BOOST_PP_NODE_970, BOOST_PP_NODE_974)
#                                 define BOOST_PP_NODE_970(p) BOOST_PP_IIF(p(970), BOOST_PP_NODE_969, BOOST_PP_NODE_971)
#                                     define BOOST_PP_NODE_969(p) BOOST_PP_IIF(p(969), 969, 970)
#                                     define BOOST_PP_NODE_971(p) BOOST_PP_IIF(p(971), 971, 972)
#                                 define BOOST_PP_NODE_974(p) BOOST_PP_IIF(p(974), BOOST_PP_NODE_973, BOOST_PP_NODE_975)
#                                     define BOOST_PP_NODE_973(p) BOOST_PP_IIF(p(973), 973, 974)
#                                     define BOOST_PP_NODE_975(p) BOOST_PP_IIF(p(975), 975, 976)
#                         define BOOST_PP_NODE_984(p) BOOST_PP_IIF(p(984), BOOST_PP_NODE_980, BOOST_PP_NODE_988)
#                             define BOOST_PP_NODE_980(p) BOOST_PP_IIF(p(980), BOOST_PP_NODE_978, BOOST_PP_NODE_982)
#                                 define BOOST_PP_NODE_978(p) BOOST_PP_IIF(p(978), BOOST_PP_NODE_977, BOOST_PP_NODE_979)
#                                     define BOOST_PP_NODE_977(p) BOOST_PP_IIF(p(977), 977, 978)
#                                     define BOOST_PP_NODE_979(p) BOOST_PP_IIF(p(979), 979, 980)
#                                 define BOOST_PP_NODE_982(p) BOOST_PP_IIF(p(982), BOOST_PP_NODE_981, BOOST_PP_NODE_983)
#                                     define BOOST_PP_NODE_981(p) BOOST_PP_IIF(p(981), 981, 982)
#                                     define BOOST_PP_NODE_983(p) BOOST_PP_IIF(p(983), 983, 984)
#                             define BOOST_PP_NODE_988(p) BOOST_PP_IIF(p(988), BOOST_PP_NODE_986, BOOST_PP_NODE_990)
#                                 define BOOST_PP_NODE_986(p) BOOST_PP_IIF(p(986), BOOST_PP_NODE_985, BOOST_PP_NODE_987)
#                                     define BOOST_PP_NODE_985(p) BOOST_PP_IIF(p(985), 985, 986)
#                                     define BOOST_PP_NODE_987(p) BOOST_PP_IIF(p(987), 987, 988)
#                                 define BOOST_PP_NODE_990(p) BOOST_PP_IIF(p(990), BOOST_PP_NODE_989, BOOST_PP_NODE_991)
#                                     define BOOST_PP_NODE_989(p) BOOST_PP_IIF(p(989), 989, 990)
#                                     define BOOST_PP_NODE_991(p) BOOST_PP_IIF(p(991), 991, 992)
#                     define BOOST_PP_NODE_1008(p) BOOST_PP_IIF(p(1008), BOOST_PP_NODE_1000, BOOST_PP_NODE_1016)
#                         define BOOST_PP_NODE_1000(p) BOOST_PP_IIF(p(1000), BOOST_PP_NODE_996, BOOST_PP_NODE_1004)
#                             define BOOST_PP_NODE_996(p) BOOST_PP_IIF(p(996), BOOST_PP_NODE_994, BOOST_PP_NODE_998)
#                                 define BOOST_PP_NODE_994(p) BOOST_PP_IIF(p(994), BOOST_PP_NODE_993, BOOST_PP_NODE_995)
#                                     define BOOST_PP_NODE_993(p) BOOST_PP_IIF(p(993), 993, 994)
#                                     define BOOST_PP_NODE_995(p) BOOST_PP_IIF(p(995), 995, 996)
#                                 define BOOST_PP_NODE_998(p) BOOST_PP_IIF(p(998), BOOST_PP_NODE_997, BOOST_PP_NODE_999)
#                                     define BOOST_PP_NODE_997(p) BOOST_PP_IIF(p(997), 997, 998)
#                                     define BOOST_PP_NODE_999(p) BOOST_PP_IIF(p(999), 999, 1000)
#                             define BOOST_PP_NODE_1004(p) BOOST_PP_IIF(p(1004), BOOST_PP_NODE_1002, BOOST_PP_NODE_1006)
#                                 define BOOST_PP_NODE_1002(p) BOOST_PP_IIF(p(1002), BOOST_PP_NODE_1001, BOOST_PP_NODE_1003)
#                                     define BOOST_PP_NODE_1001(p) BOOST_PP_IIF(p(1001), 1001, 1002)
#                                     define BOOST_PP_NODE_1003(p) BOOST_PP_IIF(p(1003), 1003, 1004)
#                                 define BOOST_PP_NODE_1006(p) BOOST_PP_IIF(p(1006), BOOST_PP_NODE_1005, BOOST_PP_NODE_1007)
#                                     define BOOST_PP_NODE_1005(p) BOOST_PP_IIF(p(1005), 1005, 1006)
#                                     define BOOST_PP_NODE_1007(p) BOOST_PP_IIF(p(1007), 1007, 1008)
#                         define BOOST_PP_NODE_1016(p) BOOST_PP_IIF(p(1016), BOOST_PP_NODE_1012, BOOST_PP_NODE_1020)
#                             define BOOST_PP_NODE_1012(p) BOOST_PP_IIF(p(1012), BOOST_PP_NODE_1010, BOOST_PP_NODE_1014)
#                                 define BOOST_PP_NODE_1010(p) BOOST_PP_IIF(p(1010), BOOST_PP_NODE_1009, BOOST_PP_NODE_1011)
#                                     define BOOST_PP_NODE_1009(p) BOOST_PP_IIF(p(1009), 1009, 1010)
#                                     define BOOST_PP_NODE_1011(p) BOOST_PP_IIF(p(1011), 1011, 1012)
#                                 define BOOST_PP_NODE_1014(p) BOOST_PP_IIF(p(1014), BOOST_PP_NODE_1013, BOOST_PP_NODE_1015)
#                                     define BOOST_PP_NODE_1013(p) BOOST_PP_IIF(p(1013), 1013, 1014)
#                                     define BOOST_PP_NODE_1015(p) BOOST_PP_IIF(p(1015), 1015, 1016)
#                             define BOOST_PP_NODE_1020(p) BOOST_PP_IIF(p(1020), BOOST_PP_NODE_1018, BOOST_PP_NODE_1022)
#                                 define BOOST_PP_NODE_1018(p) BOOST_PP_IIF(p(1018), BOOST_PP_NODE_1017, BOOST_PP_NODE_1019)
#                                     define BOOST_PP_NODE_1017(p) BOOST_PP_IIF(p(1017), 1017, 1018)
#                                     define BOOST_PP_NODE_1019(p) BOOST_PP_IIF(p(1019), 1019, 1020)
#                                 define BOOST_PP_NODE_1022(p) BOOST_PP_IIF(p(1022), BOOST_PP_NODE_1021, BOOST_PP_NODE_1023)
#                                     define BOOST_PP_NODE_1021(p) BOOST_PP_IIF(p(1021), 1021, 1022)
#                                     define BOOST_PP_NODE_1023(p) BOOST_PP_IIF(p(1023), 1023, 1024)
#
# endif