-
Notifications
You must be signed in to change notification settings - Fork 3
/
foldl.h
309 lines (293 loc) · 93.9 KB
/
foldl.h
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
// This file is the result of rendering `templates/foldl.h`.
// You should make changes to this code by editing that template; not
// this file.
// Copyright 2014 Malcolm Inglis <http://minglis.id.au>
//
// This file is part of Libpp.
//
// Libpp is free software: you can redistribute it and/or modify it under the
// terms of the GNU Affero General Public License as published by the Free
// Software Foundation, either version 3 of the License, or (at your option)
// any later version.
//
// Libpp is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
// FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
// more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with Libpp. If not, see <https://gnu.org/licenses/>.
#ifndef LIBPP_FOLDL_H
#define LIBPP_FOLDL_H
#include "concat.h" // PP_CONCAT
#include "count.h" // PP_COUNT
// @public
//
// PP_FOLDL( m, acc, a )
// >>> m( acc, a )
// PP_FOLDL( m, acc, a, b )
// >>> m( m( acc, a ), b )
// PP_FOLDL( m, acc, a, b, c )
// >>> m( m( m( acc, a ), b ), c )
//
// The result is undefined for more than 128 arguments.
#define PP_FOLDL( M, ACC, ... ) \
PP_CONCAT( PP_FOLDL_, PP_COUNT( __VA_ARGS__ ) )( M, ACC, __VA_ARGS__ )
// Generated code:
#define PP_FOLDL_1( M, ACC, _1 ) \
M(ACC,_1)
#define PP_FOLDL_2( M, ACC, _1,_2 ) \
M(M(ACC,_1),_2)
#define PP_FOLDL_3( M, ACC, _1,_2,_3 ) \
M(M(M(ACC,_1),_2),_3)
#define PP_FOLDL_4( M, ACC, _1,_2,_3,_4 ) \
M(M(M(M(ACC,_1),_2),_3),_4)
#define PP_FOLDL_5( M, ACC, _1,_2,_3,_4,_5 ) \
M(M(M(M(M(ACC,_1),_2),_3),_4),_5)
#define PP_FOLDL_6( M, ACC, _1,_2,_3,_4,_5,_6 ) \
M(M(M(M(M(M(ACC,_1),_2),_3),_4),_5),_6)
#define PP_FOLDL_7( M, ACC, _1,_2,_3,_4,_5,_6,_7 ) \
M(M(M(M(M(M(M(ACC,_1),_2),_3),_4),_5),_6),_7)
#define PP_FOLDL_8( M, ACC, _1,_2,_3,_4,_5,_6,_7,_8 ) \
M(M(M(M(M(M(M(M(ACC,_1),_2),_3),_4),_5),_6),_7),_8)
#define PP_FOLDL_9( M, ACC, _1,_2,_3,_4,_5,_6,_7,_8,_9 ) \
M(M(M(M(M(M(M(M(M(ACC,_1),_2),_3),_4),_5),_6),_7),_8),_9)
#define PP_FOLDL_10( M, ACC, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10 ) \
M(M(M(M(M(M(M(M(M(M(ACC,_1),_2),_3),_4),_5),_6),_7),_8),_9),_10)
#define PP_FOLDL_11( M, ACC, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11 ) \
M(M(M(M(M(M(M(M(M(M(M(ACC,_1),_2),_3),_4),_5),_6),_7),_8),_9),_10),_11)
#define PP_FOLDL_12( M, ACC, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12 ) \
M(M(M(M(M(M(M(M(M(M(M(M(ACC,_1),_2),_3),_4),_5),_6),_7),_8),_9),_10),_11),_12)
#define PP_FOLDL_13( M, ACC, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_1),_2),_3),_4),_5),_6),_7),_8),_9),_10),_11),_12),_13)
#define PP_FOLDL_14( M, ACC, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_1),_2),_3),_4),_5),_6),_7),_8),_9),_10),_11),_12),_13),_14)
#define PP_FOLDL_15( M, ACC, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_1),_2),_3),_4),_5),_6),_7),_8),_9),_10),_11),_12),_13),_14),_15)
#define PP_FOLDL_16( M, ACC, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_1),_2),_3),_4),_5),_6),_7),_8),_9),_10),_11),_12),_13),_14),_15),_16)
#define PP_FOLDL_17( M, ACC, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_1),_2),_3),_4),_5),_6),_7),_8),_9),_10),_11),_12),_13),_14),_15),_16),_17)
#define PP_FOLDL_18( M, ACC, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_1),_2),_3),_4),_5),_6),_7),_8),_9),_10),_11),_12),_13),_14),_15),_16),_17),_18)
#define PP_FOLDL_19( M, ACC, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_1),_2),_3),_4),_5),_6),_7),_8),_9),_10),_11),_12),_13),_14),_15),_16),_17),_18),_19)
#define PP_FOLDL_20( M, ACC, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_1),_2),_3),_4),_5),_6),_7),_8),_9),_10),_11),_12),_13),_14),_15),_16),_17),_18),_19),_20)
#define PP_FOLDL_21( M, ACC, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_1),_2),_3),_4),_5),_6),_7),_8),_9),_10),_11),_12),_13),_14),_15),_16),_17),_18),_19),_20),_21)
#define PP_FOLDL_22( M, ACC, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_1),_2),_3),_4),_5),_6),_7),_8),_9),_10),_11),_12),_13),_14),_15),_16),_17),_18),_19),_20),_21),_22)
#define PP_FOLDL_23( M, ACC, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_1),_2),_3),_4),_5),_6),_7),_8),_9),_10),_11),_12),_13),_14),_15),_16),_17),_18),_19),_20),_21),_22),_23)
#define PP_FOLDL_24( M, ACC, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_1),_2),_3),_4),_5),_6),_7),_8),_9),_10),_11),_12),_13),_14),_15),_16),_17),_18),_19),_20),_21),_22),_23),_24)
#define PP_FOLDL_25( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_26( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_27( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_28( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_29( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_30( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_31( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_32( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_33( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_34( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_35( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_36( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_37( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_38( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_39( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_40( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_41( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_42( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_43( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_44( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_45( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_46( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_47( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_48( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_49( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_50( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_51( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_52( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_53( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_54( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_55( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_56( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_57( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_58( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_59( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_60( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_61( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_62( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_63( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_64( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_65( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_66( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_67( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_68( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_69( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_70( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_71( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_72( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_73( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_74( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_75( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_76( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_77( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_78( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_79( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_80( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_81( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_82( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_83( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_84( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_85( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_86( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_87( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_88( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_89( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_90( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_91( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_92( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_93( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_94( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_95( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_96( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_97( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_98( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_99( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_100( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_101( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_102( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_103( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_104( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_105( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_106( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_107( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_108( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_109( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_110( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_111( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_112( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_113( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_114( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_115( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_116( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_117( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_118( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_119( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_120( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_121( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_122( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_123( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_124( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_125( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_126( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_127( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#define PP_FOLDL_128( M, ACC, _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 ) \
M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(ACC,_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)
#endif // ifndef LIBPP_FOLDL_H