Coverage Report

Created: 2019-02-15 18:59

/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/clang-build/lib/Target/X86/X86GenSubtargetInfo.inc
<
Line
Count
Source (jump to first uncovered line)
1
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2
|*                                                                            *|
3
|* Subtarget Enumeration Source Fragment                                      *|
4
|*                                                                            *|
5
|* Automatically generated file, do not edit!                                 *|
6
|*                                                                            *|
7
\*===----------------------------------------------------------------------===*/
8
9
10
#ifdef GET_SUBTARGETINFO_ENUM
11
#undef GET_SUBTARGETINFO_ENUM
12
13
namespace llvm {
14
namespace X86 {
15
enum {
16
  Feature3DNow = 0,
17
  Feature3DNowA = 1,
18
  Feature64Bit = 2,
19
  FeatureADX = 3,
20
  FeatureAES = 4,
21
  FeatureAVX = 5,
22
  FeatureAVX2 = 6,
23
  FeatureAVX512 = 7,
24
  FeatureBITALG = 8,
25
  FeatureBMI = 9,
26
  FeatureBMI2 = 10,
27
  FeatureBWI = 11,
28
  FeatureCDI = 12,
29
  FeatureCLDEMOTE = 13,
30
  FeatureCLFLUSHOPT = 14,
31
  FeatureCLWB = 15,
32
  FeatureCLZERO = 16,
33
  FeatureCMOV = 17,
34
  FeatureCMPXCHG16B = 18,
35
  FeatureDQI = 19,
36
  FeatureERI = 20,
37
  FeatureERMSB = 21,
38
  FeatureF16C = 22,
39
  FeatureFMA = 23,
40
  FeatureFMA4 = 24,
41
  FeatureFSGSBase = 25,
42
  FeatureFXSR = 26,
43
  FeatureFast11ByteNOP = 27,
44
  FeatureFast15ByteNOP = 28,
45
  FeatureFastBEXTR = 29,
46
  FeatureFastHorizontalOps = 30,
47
  FeatureFastLZCNT = 31,
48
  FeatureFastPartialYMMorZMMWrite = 32,
49
  FeatureFastSHLDRotate = 33,
50
  FeatureFastScalarFSQRT = 34,
51
  FeatureFastVariableShuffle = 35,
52
  FeatureFastVectorFSQRT = 36,
53
  FeatureGFNI = 37,
54
  FeatureHasFastGather = 38,
55
  FeatureIFMA = 39,
56
  FeatureINVPCID = 40,
57
  FeatureLAHFSAHF = 41,
58
  FeatureLEAForSP = 42,
59
  FeatureLEAUsesAG = 43,
60
  FeatureLWP = 44,
61
  FeatureLZCNT = 45,
62
  FeatureLZCNTFalseDeps = 46,
63
  FeatureMMX = 47,
64
  FeatureMOVBE = 48,
65
  FeatureMOVDIR64B = 49,
66
  FeatureMOVDIRI = 50,
67
  FeatureMPX = 51,
68
  FeatureMWAITX = 52,
69
  FeatureMacroFusion = 53,
70
  FeatureMergeToThreeWayBranch = 54,
71
  FeatureNOPL = 55,
72
  FeaturePCLMUL = 56,
73
  FeaturePCONFIG = 57,
74
  FeaturePFI = 58,
75
  FeaturePKU = 59,
76
  FeaturePOPCNT = 60,
77
  FeaturePOPCNTFalseDeps = 61,
78
  FeaturePREFETCHWT1 = 62,
79
  FeaturePRFCHW = 63,
80
  FeaturePTWRITE = 64,
81
  FeaturePadShortFunctions = 65,
82
  FeaturePrefer256Bit = 66,
83
  FeatureRDPID = 67,
84
  FeatureRDRAND = 68,
85
  FeatureRDSEED = 69,
86
  FeatureRTM = 70,
87
  FeatureRetpoline = 71,
88
  FeatureRetpolineExternalThunk = 72,
89
  FeatureRetpolineIndirectBranches = 73,
90
  FeatureRetpolineIndirectCalls = 74,
91
  FeatureSGX = 75,
92
  FeatureSHA = 76,
93
  FeatureSHSTK = 77,
94
  FeatureSSE1 = 78,
95
  FeatureSSE2 = 79,
96
  FeatureSSE3 = 80,
97
  FeatureSSE4A = 81,
98
  FeatureSSE41 = 82,
99
  FeatureSSE42 = 83,
100
  FeatureSSEUnalignedMem = 84,
101
  FeatureSSSE3 = 85,
102
  FeatureSlow3OpsLEA = 86,
103
  FeatureSlowDivide32 = 87,
104
  FeatureSlowDivide64 = 88,
105
  FeatureSlowIncDec = 89,
106
  FeatureSlowLEA = 90,
107
  FeatureSlowPMADDWD = 91,
108
  FeatureSlowPMULLD = 92,
109
  FeatureSlowSHLD = 93,
110
  FeatureSlowTwoMemOps = 94,
111
  FeatureSlowUAMem16 = 95,
112
  FeatureSlowUAMem32 = 96,
113
  FeatureSoftFloat = 97,
114
  FeatureTBM = 98,
115
  FeatureVAES = 99,
116
  FeatureVBMI = 100,
117
  FeatureVBMI2 = 101,
118
  FeatureVLX = 102,
119
  FeatureVNNI = 103,
120
  FeatureVPCLMULQDQ = 104,
121
  FeatureVPOPCNTDQ = 105,
122
  FeatureWAITPKG = 106,
123
  FeatureWBNOINVD = 107,
124
  FeatureX87 = 108,
125
  FeatureXOP = 109,
126
  FeatureXSAVE = 110,
127
  FeatureXSAVEC = 111,
128
  FeatureXSAVEOPT = 112,
129
  FeatureXSAVES = 113,
130
  Mode16Bit = 114,
131
  Mode32Bit = 115,
132
  Mode64Bit = 116,
133
  ProcIntelAtom = 117,
134
  ProcIntelGLM = 118,
135
  ProcIntelGLP = 119,
136
  ProcIntelSLM = 120,
137
  ProcIntelTRM = 121,
138
};
139
} // end namespace X86
140
} // end namespace llvm
141
142
#endif // GET_SUBTARGETINFO_ENUM
143
144
145
#ifdef GET_SUBTARGETINFO_MC_DESC
146
#undef GET_SUBTARGETINFO_MC_DESC
147
148
namespace llvm {
149
// Sorted (by key) array of values for CPU features.
150
extern const llvm::SubtargetFeatureKV X86FeatureKV[] = {
151
  { "16bit-mode", "16-bit mode (i8086)", { X86::Mode16Bit }, { } },
152
  { "32bit-mode", "32-bit mode (80386)", { X86::Mode32Bit }, { } },
153
  { "3dnow", "Enable 3DNow! instructions", { X86::Feature3DNow }, { X86::FeatureMMX } },
154
  { "3dnowa", "Enable 3DNow! Athlon instructions", { X86::Feature3DNowA }, { X86::Feature3DNow } },
155
  { "64bit", "Support 64-bit instructions", { X86::Feature64Bit }, { } },
156
  { "64bit-mode", "64-bit mode (x86_64)", { X86::Mode64Bit }, { } },
157
  { "adx", "Support ADX instructions", { X86::FeatureADX }, { } },
158
  { "aes", "Enable AES instructions", { X86::FeatureAES }, { X86::FeatureSSE2 } },
159
  { "atom", "Intel Atom processors", { X86::ProcIntelAtom }, { } },
160
  { "avx", "Enable AVX instructions", { X86::FeatureAVX }, { X86::FeatureSSE42 } },
161
  { "avx2", "Enable AVX2 instructions", { X86::FeatureAVX2 }, { X86::FeatureAVX } },
162
  { "avx512bitalg", "Enable AVX-512 Bit Algorithms", { X86::FeatureBITALG }, { X86::FeatureBWI } },
163
  { "avx512bw", "Enable AVX-512 Byte and Word Instructions", { X86::FeatureBWI }, { X86::FeatureAVX512 } },
164
  { "avx512cd", "Enable AVX-512 Conflict Detection Instructions", { X86::FeatureCDI }, { X86::FeatureAVX512 } },
165
  { "avx512dq", "Enable AVX-512 Doubleword and Quadword Instructions", { X86::FeatureDQI }, { X86::FeatureAVX512 } },
166
  { "avx512er", "Enable AVX-512 Exponential and Reciprocal Instructions", { X86::FeatureERI }, { X86::FeatureAVX512 } },
167
  { "avx512f", "Enable AVX-512 instructions", { X86::FeatureAVX512 }, { X86::FeatureAVX2, X86::FeatureFMA, X86::FeatureF16C } },
168
  { "avx512ifma", "Enable AVX-512 Integer Fused Multiple-Add", { X86::FeatureIFMA }, { X86::FeatureAVX512 } },
169
  { "avx512pf", "Enable AVX-512 PreFetch Instructions", { X86::FeaturePFI }, { X86::FeatureAVX512 } },
170
  { "avx512vbmi", "Enable AVX-512 Vector Byte Manipulation Instructions", { X86::FeatureVBMI }, { X86::FeatureBWI } },
171
  { "avx512vbmi2", "Enable AVX-512 further Vector Byte Manipulation Instructions", { X86::FeatureVBMI2 }, { X86::FeatureBWI } },
172
  { "avx512vl", "Enable AVX-512 Vector Length eXtensions", { X86::FeatureVLX }, { X86::FeatureAVX512 } },
173
  { "avx512vnni", "Enable AVX-512 Vector Neural Network Instructions", { X86::FeatureVNNI }, { X86::FeatureAVX512 } },
174
  { "avx512vpopcntdq", "Enable AVX-512 Population Count Instructions", { X86::FeatureVPOPCNTDQ }, { X86::FeatureAVX512 } },
175
  { "bmi", "Support BMI instructions", { X86::FeatureBMI }, { } },
176
  { "bmi2", "Support BMI2 instructions", { X86::FeatureBMI2 }, { } },
177
  { "cldemote", "Enable Cache Demote", { X86::FeatureCLDEMOTE }, { } },
178
  { "clflushopt", "Flush A Cache Line Optimized", { X86::FeatureCLFLUSHOPT }, { } },
179
  { "clwb", "Cache Line Write Back", { X86::FeatureCLWB }, { } },
180
  { "clzero", "Enable Cache Line Zero", { X86::FeatureCLZERO }, { } },
181
  { "cmov", "Enable conditional move instructions", { X86::FeatureCMOV }, { } },
182
  { "cx16", "64-bit with cmpxchg16b", { X86::FeatureCMPXCHG16B }, { } },
183
  { "ermsb", "REP MOVS/STOS are fast", { X86::FeatureERMSB }, { } },
184
  { "f16c", "Support 16-bit floating point conversion instructions", { X86::FeatureF16C }, { X86::FeatureAVX } },
185
  { "false-deps-lzcnt-tzcnt", "LZCNT/TZCNT have a false dependency on dest register", { X86::FeatureLZCNTFalseDeps }, { } },
186
  { "false-deps-popcnt", "POPCNT has a false dependency on dest register", { X86::FeaturePOPCNTFalseDeps }, { } },
187
  { "fast-11bytenop", "Target can quickly decode up to 11 byte NOPs", { X86::FeatureFast11ByteNOP }, { } },
188
  { "fast-15bytenop", "Target can quickly decode up to 15 byte NOPs", { X86::FeatureFast15ByteNOP }, { } },
189
  { "fast-bextr", "Indicates that the BEXTR instruction is implemented as a single uop with good throughput.", { X86::FeatureFastBEXTR }, { } },
190
  { "fast-gather", "Indicates if gather is reasonably fast.", { X86::FeatureHasFastGather }, { } },
191
  { "fast-hops", "Prefer horizontal vector math instructions (haddp, phsub, etc.) over normal vector instructions with shuffles", { X86::FeatureFastHorizontalOps }, { X86::FeatureSSE3 } },
192
  { "fast-lzcnt", "LZCNT instructions are as fast as most simple integer ops", { X86::FeatureFastLZCNT }, { } },
193
  { "fast-partial-ymm-or-zmm-write", "Partial writes to YMM/ZMM registers are fast", { X86::FeatureFastPartialYMMorZMMWrite }, { } },
194
  { "fast-scalar-fsqrt", "Scalar SQRT is fast (disable Newton-Raphson)", { X86::FeatureFastScalarFSQRT }, { } },
195
  { "fast-shld-rotate", "SHLD can be used as a faster rotate", { X86::FeatureFastSHLDRotate }, { } },
196
  { "fast-variable-shuffle", "Shuffles with variable masks are fast", { X86::FeatureFastVariableShuffle }, { } },
197
  { "fast-vector-fsqrt", "Vector SQRT is fast (disable Newton-Raphson)", { X86::FeatureFastVectorFSQRT }, { } },
198
  { "fma", "Enable three-operand fused multiple-add", { X86::FeatureFMA }, { X86::FeatureAVX } },
199
  { "fma4", "Enable four-operand fused multiple-add", { X86::FeatureFMA4 }, { X86::FeatureAVX, X86::FeatureSSE4A } },
200
  { "fsgsbase", "Support FS/GS Base instructions", { X86::FeatureFSGSBase }, { } },
201
  { "fxsr", "Support fxsave/fxrestore instructions", { X86::FeatureFXSR }, { } },
202
  { "gfni", "Enable Galois Field Arithmetic Instructions", { X86::FeatureGFNI }, { X86::FeatureSSE2 } },
203
  { "glm", "Intel Goldmont processors", { X86::ProcIntelGLM }, { } },
204
  { "glp", "Intel Goldmont Plus processors", { X86::ProcIntelGLP }, { } },
205
  { "idivl-to-divb", "Use 8-bit divide for positive values less than 256", { X86::FeatureSlowDivide32 }, { } },
206
  { "idivq-to-divl", "Use 32-bit divide for positive values less than 2^32", { X86::FeatureSlowDivide64 }, { } },
207
  { "invpcid", "Invalidate Process-Context Identifier", { X86::FeatureINVPCID }, { } },
208
  { "lea-sp", "Use LEA for adjusting the stack pointer", { X86::FeatureLEAForSP }, { } },
209
  { "lea-uses-ag", "LEA instruction needs inputs at AG stage", { X86::FeatureLEAUsesAG }, { } },
210
  { "lwp", "Enable LWP instructions", { X86::FeatureLWP }, { } },
211
  { "lzcnt", "Support LZCNT instruction", { X86::FeatureLZCNT }, { } },
212
  { "macrofusion", "Various instructions can be fused with conditional branches", { X86::FeatureMacroFusion }, { } },
213
  { "merge-to-threeway-branch", "Merge branches to a three-way conditional branch", { X86::FeatureMergeToThreeWayBranch }, { } },
214
  { "mmx", "Enable MMX instructions", { X86::FeatureMMX }, { } },
215
  { "movbe", "Support MOVBE instruction", { X86::FeatureMOVBE }, { } },
216
  { "movdir64b", "Support movdir64b instruction", { X86::FeatureMOVDIR64B }, { } },
217
  { "movdiri", "Support movdiri instruction", { X86::FeatureMOVDIRI }, { } },
218
  { "mpx", "Support MPX instructions", { X86::FeatureMPX }, { } },
219
  { "mwaitx", "Enable MONITORX/MWAITX timer functionality", { X86::FeatureMWAITX }, { } },
220
  { "nopl", "Enable NOPL instruction", { X86::FeatureNOPL }, { } },
221
  { "pad-short-functions", "Pad short functions", { X86::FeaturePadShortFunctions }, { } },
222
  { "pclmul", "Enable packed carry-less multiplication instructions", { X86::FeaturePCLMUL }, { X86::FeatureSSE2 } },
223
  { "pconfig", "platform configuration instruction", { X86::FeaturePCONFIG }, { } },
224
  { "pku", "Enable protection keys", { X86::FeaturePKU }, { } },
225
  { "popcnt", "Support POPCNT instruction", { X86::FeaturePOPCNT }, { } },
226
  { "prefer-256-bit", "Prefer 256-bit AVX instructions", { X86::FeaturePrefer256Bit }, { } },
227
  { "prefetchwt1", "Prefetch with Intent to Write and T1 Hint", { X86::FeaturePREFETCHWT1 }, { } },
228
  { "prfchw", "Support PRFCHW instructions", { X86::FeaturePRFCHW }, { } },
229
  { "ptwrite", "Support ptwrite instruction", { X86::FeaturePTWRITE }, { } },
230
  { "rdpid", "Support RDPID instructions", { X86::FeatureRDPID }, { } },
231
  { "rdrnd", "Support RDRAND instruction", { X86::FeatureRDRAND }, { } },
232
  { "rdseed", "Support RDSEED instruction", { X86::FeatureRDSEED }, { } },
233
  { "retpoline", "Remove speculation of indirect branches from the generated code, either by avoiding them entirely or lowering them with a speculation blocking construct.", { X86::FeatureRetpoline }, { X86::FeatureRetpolineIndirectCalls, X86::FeatureRetpolineIndirectBranches } },
234
  { "retpoline-external-thunk", "When lowering an indirect call or branch using a `retpoline`, rely on the specified user provided thunk rather than emitting one ourselves. Only has effect when combined with some other retpoline feature.", { X86::FeatureRetpolineExternalThunk }, { X86::FeatureRetpolineIndirectCalls } },
235
  { "retpoline-indirect-branches", "Remove speculation of indirect branches from the generated code.", { X86::FeatureRetpolineIndirectBranches }, { } },
236
  { "retpoline-indirect-calls", "Remove speculation of indirect calls from the generated code.", { X86::FeatureRetpolineIndirectCalls }, { } },
237
  { "rtm", "Support RTM instructions", { X86::FeatureRTM }, { } },
238
  { "sahf", "Support LAHF and SAHF instructions", { X86::FeatureLAHFSAHF }, { } },
239
  { "sgx", "Enable Software Guard Extensions", { X86::FeatureSGX }, { } },
240
  { "sha", "Enable SHA instructions", { X86::FeatureSHA }, { X86::FeatureSSE2 } },
241
  { "shstk", "Support CET Shadow-Stack instructions", { X86::FeatureSHSTK }, { } },
242
  { "slm", "Intel Silvermont processors", { X86::ProcIntelSLM }, { } },
243
  { "slow-3ops-lea", "LEA instruction with 3 ops or certain registers is slow", { X86::FeatureSlow3OpsLEA }, { } },
244
  { "slow-incdec", "INC and DEC instructions are slower than ADD and SUB", { X86::FeatureSlowIncDec }, { } },
245
  { "slow-lea", "LEA instruction with certain arguments is slow", { X86::FeatureSlowLEA }, { } },
246
  { "slow-pmaddwd", "PMADDWD is slower than PMULLD", { X86::FeatureSlowPMADDWD }, { } },
247
  { "slow-pmulld", "PMULLD instruction is slow", { X86::FeatureSlowPMULLD }, { } },
248
  { "slow-shld", "SHLD instruction is slow", { X86::FeatureSlowSHLD }, { } },
249
  { "slow-two-mem-ops", "Two memory operand instructions are slow", { X86::FeatureSlowTwoMemOps }, { } },
250
  { "slow-unaligned-mem-16", "Slow unaligned 16-byte memory access", { X86::FeatureSlowUAMem16 }, { } },
251
  { "slow-unaligned-mem-32", "Slow unaligned 32-byte memory access", { X86::FeatureSlowUAMem32 }, { } },
252
  { "soft-float", "Use software floating point features.", { X86::FeatureSoftFloat }, { } },
253
  { "sse", "Enable SSE instructions", { X86::FeatureSSE1 }, { } },
254
  { "sse-unaligned-mem", "Allow unaligned memory operands with SSE instructions", { X86::FeatureSSEUnalignedMem }, { } },
255
  { "sse2", "Enable SSE2 instructions", { X86::FeatureSSE2 }, { X86::FeatureSSE1 } },
256
  { "sse3", "Enable SSE3 instructions", { X86::FeatureSSE3 }, { X86::FeatureSSE2 } },
257
  { "sse4.1", "Enable SSE 4.1 instructions", { X86::FeatureSSE41 }, { X86::FeatureSSSE3 } },
258
  { "sse4.2", "Enable SSE 4.2 instructions", { X86::FeatureSSE42 }, { X86::FeatureSSE41 } },
259
  { "sse4a", "Support SSE 4a instructions", { X86::FeatureSSE4A }, { X86::FeatureSSE3 } },
260
  { "ssse3", "Enable SSSE3 instructions", { X86::FeatureSSSE3 }, { X86::FeatureSSE3 } },
261
  { "tbm", "Enable TBM instructions", { X86::FeatureTBM }, { } },
262
  { "tremont", "Intel Tremont processors", { X86::ProcIntelTRM }, { } },
263
  { "vaes", "Promote selected AES instructions to AVX512/AVX registers", { X86::FeatureVAES }, { X86::FeatureAVX, X86::FeatureAES } },
264
  { "vpclmulqdq", "Enable vpclmulqdq instructions", { X86::FeatureVPCLMULQDQ }, { X86::FeatureAVX, X86::FeaturePCLMUL } },
265
  { "waitpkg", "Wait and pause enhancements", { X86::FeatureWAITPKG }, { } },
266
  { "wbnoinvd", "Write Back No Invalidate", { X86::FeatureWBNOINVD }, { } },
267
  { "x87", "Enable X87 float instructions", { X86::FeatureX87 }, { } },
268
  { "xop", "Enable XOP instructions", { X86::FeatureXOP }, { X86::FeatureFMA4 } },
269
  { "xsave", "Support xsave instructions", { X86::FeatureXSAVE }, { } },
270
  { "xsavec", "Support xsavec instructions", { X86::FeatureXSAVEC }, { } },
271
  { "xsaveopt", "Support xsaveopt instructions", { X86::FeatureXSAVEOPT }, { } },
272
  { "xsaves", "Support xsaves instructions", { X86::FeatureXSAVES }, { } },
273
};
274
275
// Sorted (by key) array of values for CPU subtype.
276
extern const llvm::SubtargetFeatureKV X86SubTypeKV[] = {
277
  { "amdfam10", "Select the amdfam10 processor", { X86::FeatureX87, X86::FeatureSSE4A, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMPXCHG16B, X86::FeatureLZCNT, X86::FeaturePOPCNT, X86::FeatureSlowSHLD, X86::FeatureLAHFSAHF, X86::FeatureCMOV, X86::Feature64Bit }, { } },
278
  { "athlon", "Select the athlon processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV, X86::Feature3DNowA, X86::FeatureNOPL, X86::FeatureSlowSHLD }, { } },
279
  { "athlon-4", "Select the athlon-4 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV, X86::FeatureSSE1, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureSlowSHLD }, { } },
280
  { "athlon-fx", "Select the athlon-fx processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureSSE2, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureSlowSHLD, X86::FeatureCMOV }, { } },
281
  { "athlon-mp", "Select the athlon-mp processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV, X86::FeatureSSE1, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureSlowSHLD }, { } },
282
  { "athlon-tbird", "Select the athlon-tbird processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV, X86::Feature3DNowA, X86::FeatureNOPL, X86::FeatureSlowSHLD }, { } },
283
  { "athlon-xp", "Select the athlon-xp processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV, X86::FeatureSSE1, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureSlowSHLD }, { } },
284
  { "athlon64", "Select the athlon64 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureSSE2, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureSlowSHLD, X86::FeatureCMOV }, { } },
285
  { "athlon64-sse3", "Select the athlon64-sse3 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureSSE3, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMPXCHG16B, X86::FeatureSlowSHLD, X86::FeatureCMOV, X86::Feature64Bit }, { } },
286
  { "atom", "Select the atom processor", { X86::ProcIntelAtom, X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSSE3, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureMOVBE, X86::FeatureLEAForSP, X86::FeatureSlowDivide32, X86::FeatureSlowDivide64, X86::FeatureSlowTwoMemOps, X86::FeatureLEAUsesAG, X86::FeaturePadShortFunctions, X86::FeatureLAHFSAHF }, { } },
287
  { "barcelona", "Select the barcelona processor", { X86::FeatureX87, X86::FeatureSSE4A, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMPXCHG16B, X86::FeatureLZCNT, X86::FeaturePOPCNT, X86::FeatureSlowSHLD, X86::FeatureLAHFSAHF, X86::FeatureCMOV, X86::Feature64Bit }, { } },
288
  { "bdver1", "Select the bdver1 processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureXOP, X86::FeatureFMA4, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureAES, X86::FeaturePRFCHW, X86::FeaturePCLMUL, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureSSE4A, X86::FeatureLZCNT, X86::FeaturePOPCNT, X86::FeatureXSAVE, X86::FeatureLWP, X86::FeatureSlowSHLD, X86::FeatureLAHFSAHF, X86::FeatureFast11ByteNOP, X86::FeatureMacroFusion }, { } },
289
  { "bdver2", "Select the bdver2 processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureXOP, X86::FeatureFMA4, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureAES, X86::FeaturePRFCHW, X86::FeaturePCLMUL, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureSSE4A, X86::FeatureF16C, X86::FeatureLZCNT, X86::FeaturePOPCNT, X86::FeatureXSAVE, X86::FeatureBMI, X86::FeatureTBM, X86::FeatureLWP, X86::FeatureFMA, X86::FeatureSlowSHLD, X86::FeatureLAHFSAHF, X86::FeatureFast11ByteNOP, X86::FeatureFastBEXTR, X86::FeatureMacroFusion }, { } },
290
  { "bdver3", "Select the bdver3 processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureXOP, X86::FeatureFMA4, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureAES, X86::FeaturePRFCHW, X86::FeaturePCLMUL, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureSSE4A, X86::FeatureF16C, X86::FeatureLZCNT, X86::FeaturePOPCNT, X86::FeatureXSAVE, X86::FeatureBMI, X86::FeatureTBM, X86::FeatureLWP, X86::FeatureFMA, X86::FeatureXSAVEOPT, X86::FeatureSlowSHLD, X86::FeatureFSGSBase, X86::FeatureLAHFSAHF, X86::FeatureFast11ByteNOP, X86::FeatureFastBEXTR, X86::FeatureMacroFusion }, { } },
291
  { "bdver4", "Select the bdver4 processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX2, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureXOP, X86::FeatureFMA4, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureAES, X86::FeaturePRFCHW, X86::FeaturePCLMUL, X86::FeatureF16C, X86::FeatureLZCNT, X86::FeaturePOPCNT, X86::FeatureXSAVE, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureTBM, X86::FeatureLWP, X86::FeatureFMA, X86::FeatureXSAVEOPT, X86::FeatureSlowSHLD, X86::FeatureFSGSBase, X86::FeatureLAHFSAHF, X86::FeatureFastBEXTR, X86::FeatureFast11ByteNOP, X86::FeatureMWAITX, X86::FeatureMacroFusion }, { } },
292
  { "bonnell", "Select the bonnell processor", { X86::ProcIntelAtom, X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSSE3, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureMOVBE, X86::FeatureLEAForSP, X86::FeatureSlowDivide32, X86::FeatureSlowDivide64, X86::FeatureSlowTwoMemOps, X86::FeatureLEAUsesAG, X86::FeaturePadShortFunctions, X86::FeatureLAHFSAHF }, { } },
293
  { "broadwell", "Select the broadwell processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMergeToThreeWayBranch, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX2, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureERMSB, X86::FeatureFMA, X86::FeatureINVPCID, X86::FeatureLZCNT, X86::FeatureMOVBE, X86::FeatureFastVariableShuffle, X86::FeatureADX, X86::FeatureRDSEED, X86::FeaturePRFCHW, X86::FeaturePOPCNTFalseDeps, X86::FeatureLZCNTFalseDeps }, { } },
294
  { "btver1", "Select the btver1 processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSSE3, X86::FeatureSSE4A, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePRFCHW, X86::FeatureLZCNT, X86::FeaturePOPCNT, X86::FeatureSlowSHLD, X86::FeatureLAHFSAHF, X86::FeatureFast15ByteNOP }, { } },
295
  { "btver2", "Select the btver2 processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureSSE4A, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePRFCHW, X86::FeatureAES, X86::FeaturePCLMUL, X86::FeatureBMI, X86::FeatureF16C, X86::FeatureMOVBE, X86::FeatureLZCNT, X86::FeatureFastLZCNT, X86::FeaturePOPCNT, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureSlowSHLD, X86::FeatureLAHFSAHF, X86::FeatureFast15ByteNOP, X86::FeatureFastBEXTR, X86::FeatureFastPartialYMMorZMMWrite, X86::FeatureFastHorizontalOps }, { } },
296
  { "c3", "Select the c3 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::Feature3DNow }, { } },
297
  { "c3-2", "Select the c3-2 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX, X86::FeatureSSE1, X86::FeatureFXSR, X86::FeatureCMOV }, { } },
298
  { "cannonlake", "Select the cannonlake processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMergeToThreeWayBranch, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX2, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureERMSB, X86::FeatureFMA, X86::FeatureINVPCID, X86::FeatureLZCNT, X86::FeatureMOVBE, X86::FeatureFastVariableShuffle, X86::FeatureADX, X86::FeatureRDSEED, X86::FeaturePRFCHW, X86::FeatureAES, X86::FeatureMPX, X86::FeatureXSAVEC, X86::FeatureXSAVES, X86::FeatureCLFLUSHOPT, X86::FeatureFastVectorFSQRT, X86::FeatureAVX512, X86::FeatureCDI, X86::FeatureDQI, X86::FeatureBWI, X86::FeatureVLX, X86::FeaturePKU, X86::FeatureVBMI, X86::FeatureIFMA, X86::FeatureSHA, X86::FeatureSGX, X86::FeatureHasFastGather }, { } },
299
  { "cascadelake", "Select the cascadelake processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMergeToThreeWayBranch, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX2, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureERMSB, X86::FeatureFMA, X86::FeatureINVPCID, X86::FeatureLZCNT, X86::FeatureMOVBE, X86::FeatureFastVariableShuffle, X86::FeatureADX, X86::FeatureRDSEED, X86::FeaturePRFCHW, X86::FeatureAES, X86::FeatureMPX, X86::FeatureXSAVEC, X86::FeatureXSAVES, X86::FeatureCLFLUSHOPT, X86::FeatureFastVectorFSQRT, X86::FeatureAVX512, X86::FeatureCDI, X86::FeatureDQI, X86::FeatureBWI, X86::FeatureVLX, X86::FeaturePKU, X86::FeatureCLWB, X86::FeatureVNNI, X86::FeatureHasFastGather, X86::FeaturePOPCNTFalseDeps }, { } },
300
  { "core-avx-i", "Select the core-avx-i processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMergeToThreeWayBranch, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureSlowUAMem32, X86::FeaturePOPCNTFalseDeps }, { } },
301
  { "core-avx2", "Select the core-avx2 processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMergeToThreeWayBranch, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX2, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureERMSB, X86::FeatureFMA, X86::FeatureINVPCID, X86::FeatureLZCNT, X86::FeatureMOVBE, X86::FeatureFastVariableShuffle, X86::FeaturePOPCNTFalseDeps, X86::FeatureLZCNTFalseDeps }, { } },
302
  { "core2", "Select the core2 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSSE3, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureLAHFSAHF, X86::FeatureMacroFusion }, { } },
303
  { "corei7", "Select the corei7 processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSE42, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureLAHFSAHF, X86::FeatureMacroFusion }, { } },
304
  { "corei7-avx", "Select the corei7-avx processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMergeToThreeWayBranch, X86::FeatureMacroFusion, X86::FeatureSlowUAMem32, X86::FeaturePOPCNTFalseDeps }, { } },
305
  { "generic", "Select the generic processor", { X86::FeatureX87, X86::FeatureSlowUAMem16 }, { } },
306
  { "geode", "Select the geode processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::Feature3DNowA }, { } },
307
  { "goldmont", "Select the goldmont processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSE42, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureMOVBE, X86::FeaturePOPCNT, X86::FeaturePCLMUL, X86::FeatureAES, X86::FeaturePRFCHW, X86::FeatureSlowTwoMemOps, X86::FeatureSlowLEA, X86::FeatureSlowIncDec, X86::FeatureLAHFSAHF, X86::FeatureMPX, X86::FeatureSHA, X86::FeatureRDRAND, X86::FeatureRDSEED, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureXSAVEC, X86::FeatureXSAVES, X86::FeatureCLFLUSHOPT, X86::FeatureFSGSBase, X86::ProcIntelGLM, X86::FeaturePOPCNTFalseDeps }, { } },
308
  { "goldmont-plus", "Select the goldmont-plus processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSE42, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureMOVBE, X86::FeaturePOPCNT, X86::FeaturePCLMUL, X86::FeatureAES, X86::FeaturePRFCHW, X86::FeatureSlowTwoMemOps, X86::FeatureSlowLEA, X86::FeatureSlowIncDec, X86::FeatureLAHFSAHF, X86::FeatureMPX, X86::FeatureSHA, X86::FeatureRDRAND, X86::FeatureRDSEED, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureXSAVEC, X86::FeatureXSAVES, X86::FeatureCLFLUSHOPT, X86::FeatureFSGSBase, X86::FeaturePTWRITE, X86::FeatureRDPID, X86::FeatureSGX, X86::ProcIntelGLP }, { } },
309
  { "haswell", "Select the haswell processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMergeToThreeWayBranch, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX2, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureERMSB, X86::FeatureFMA, X86::FeatureINVPCID, X86::FeatureLZCNT, X86::FeatureMOVBE, X86::FeatureFastVariableShuffle, X86::FeaturePOPCNTFalseDeps, X86::FeatureLZCNTFalseDeps }, { } },
310
  { "i386", "Select the i386 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16 }, { } },
311
  { "i486", "Select the i486 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16 }, { } },
312
  { "i586", "Select the i586 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16 }, { } },
313
  { "i686", "Select the i686 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV }, { } },
314
  { "icelake-client", "Select the icelake-client processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMergeToThreeWayBranch, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX2, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureERMSB, X86::FeatureFMA, X86::FeatureINVPCID, X86::FeatureLZCNT, X86::FeatureMOVBE, X86::FeatureFastVariableShuffle, X86::FeatureADX, X86::FeatureRDSEED, X86::FeaturePRFCHW, X86::FeatureAES, X86::FeatureMPX, X86::FeatureXSAVEC, X86::FeatureXSAVES, X86::FeatureCLFLUSHOPT, X86::FeatureFastVectorFSQRT, X86::FeatureAVX512, X86::FeatureCDI, X86::FeatureDQI, X86::FeatureBWI, X86::FeatureVLX, X86::FeaturePKU, X86::FeatureVBMI, X86::FeatureIFMA, X86::FeatureSHA, X86::FeatureSGX, X86::FeatureBITALG, X86::FeatureVAES, X86::FeatureVBMI2, X86::FeatureVNNI, X86::FeatureVPCLMULQDQ, X86::FeatureVPOPCNTDQ, X86::FeatureGFNI, X86::FeatureCLWB, X86::FeatureRDPID, X86::FeatureHasFastGather }, { } },
315
  { "icelake-server", "Select the icelake-server processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMergeToThreeWayBranch, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX2, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureERMSB, X86::FeatureFMA, X86::FeatureINVPCID, X86::FeatureLZCNT, X86::FeatureMOVBE, X86::FeatureFastVariableShuffle, X86::FeatureADX, X86::FeatureRDSEED, X86::FeaturePRFCHW, X86::FeatureAES, X86::FeatureMPX, X86::FeatureXSAVEC, X86::FeatureXSAVES, X86::FeatureCLFLUSHOPT, X86::FeatureFastVectorFSQRT, X86::FeatureAVX512, X86::FeatureCDI, X86::FeatureDQI, X86::FeatureBWI, X86::FeatureVLX, X86::FeaturePKU, X86::FeatureVBMI, X86::FeatureIFMA, X86::FeatureSHA, X86::FeatureSGX, X86::FeatureBITALG, X86::FeatureVAES, X86::FeatureVBMI2, X86::FeatureVNNI, X86::FeatureVPCLMULQDQ, X86::FeatureVPOPCNTDQ, X86::FeatureGFNI, X86::FeatureCLWB, X86::FeatureRDPID, X86::FeaturePCONFIG, X86::FeatureWBNOINVD, X86::FeatureHasFastGather }, { } },
316
  { "ivybridge", "Select the ivybridge processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMergeToThreeWayBranch, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureSlowUAMem32, X86::FeaturePOPCNTFalseDeps }, { } },
317
  { "k6", "Select the k6 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX }, { } },
318
  { "k6-2", "Select the k6-2 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::Feature3DNow }, { } },
319
  { "k6-3", "Select the k6-3 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::Feature3DNow }, { } },
320
  { "k8", "Select the k8 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureSSE2, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureSlowSHLD, X86::FeatureCMOV }, { } },
321
  { "k8-sse3", "Select the k8-sse3 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureSSE3, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMPXCHG16B, X86::FeatureSlowSHLD, X86::FeatureCMOV, X86::Feature64Bit }, { } },
322
  { "knl", "Select the knl processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureSlowIncDec, X86::FeatureAES, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX512, X86::FeatureERI, X86::FeatureCDI, X86::FeaturePFI, X86::FeaturePREFETCHWT1, X86::FeatureADX, X86::FeatureRDSEED, X86::FeatureMOVBE, X86::FeatureLZCNT, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureFMA, X86::FeaturePRFCHW, X86::FeatureSlowTwoMemOps, X86::FeatureFastPartialYMMorZMMWrite, X86::FeatureHasFastGather, X86::FeatureSlowPMADDWD }, { } },
323
  { "knm", "Select the knm processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureSlowIncDec, X86::FeatureAES, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX512, X86::FeatureERI, X86::FeatureCDI, X86::FeaturePFI, X86::FeaturePREFETCHWT1, X86::FeatureADX, X86::FeatureRDSEED, X86::FeatureMOVBE, X86::FeatureLZCNT, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureFMA, X86::FeaturePRFCHW, X86::FeatureSlowTwoMemOps, X86::FeatureFastPartialYMMorZMMWrite, X86::FeatureHasFastGather, X86::FeatureSlowPMADDWD, X86::FeatureVPOPCNTDQ }, { } },
324
  { "lakemont", "Select the lakemont processor", { }, { } },
325
  { "nehalem", "Select the nehalem processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSE42, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureLAHFSAHF, X86::FeatureMacroFusion }, { } },
326
  { "nocona", "Select the nocona processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSE3, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B }, { } },
327
  { "opteron", "Select the opteron processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureSSE2, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureSlowSHLD, X86::FeatureCMOV }, { } },
328
  { "opteron-sse3", "Select the opteron-sse3 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureSSE3, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMPXCHG16B, X86::FeatureSlowSHLD, X86::FeatureCMOV, X86::Feature64Bit }, { } },
329
  { "penryn", "Select the penryn processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSE41, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureLAHFSAHF, X86::FeatureMacroFusion }, { } },
330
  { "pentium", "Select the pentium processor", { X86::FeatureX87, X86::FeatureSlowUAMem16 }, { } },
331
  { "pentium-m", "Select the pentium-m processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX, X86::FeatureSSE2, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMOV }, { } },
332
  { "pentium-mmx", "Select the pentium-mmx processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX }, { } },
333
  { "pentium2", "Select the pentium2 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX, X86::FeatureCMOV, X86::FeatureFXSR, X86::FeatureNOPL }, { } },
334
  { "pentium3", "Select the pentium3 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX, X86::FeatureSSE1, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMOV }, { } },
335
  { "pentium3m", "Select the pentium3m processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX, X86::FeatureSSE1, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMOV }, { } },
336
  { "pentium4", "Select the pentium4 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX, X86::FeatureSSE2, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMOV }, { } },
337
  { "pentium4m", "Select the pentium4m processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX, X86::FeatureSSE2, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMOV }, { } },
338
  { "pentiumpro", "Select the pentiumpro processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV, X86::FeatureNOPL }, { } },
339
  { "prescott", "Select the prescott processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX, X86::FeatureSSE3, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMOV }, { } },
340
  { "sandybridge", "Select the sandybridge processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMergeToThreeWayBranch, X86::FeatureMacroFusion, X86::FeatureSlowUAMem32, X86::FeaturePOPCNTFalseDeps }, { } },
341
  { "silvermont", "Select the silvermont processor", { X86::ProcIntelSLM, X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSE42, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureMOVBE, X86::FeaturePOPCNT, X86::FeaturePCLMUL, X86::FeatureSlowDivide64, X86::FeatureSlowTwoMemOps, X86::FeaturePRFCHW, X86::FeatureSlowLEA, X86::FeatureSlowIncDec, X86::FeatureSlowPMULLD, X86::FeatureRDRAND, X86::FeatureLAHFSAHF, X86::FeaturePOPCNTFalseDeps }, { } },
342
  { "skx", "Select the skx processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMergeToThreeWayBranch, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX2, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureERMSB, X86::FeatureFMA, X86::FeatureINVPCID, X86::FeatureLZCNT, X86::FeatureMOVBE, X86::FeatureFastVariableShuffle, X86::FeatureADX, X86::FeatureRDSEED, X86::FeaturePRFCHW, X86::FeatureAES, X86::FeatureMPX, X86::FeatureXSAVEC, X86::FeatureXSAVES, X86::FeatureCLFLUSHOPT, X86::FeatureFastVectorFSQRT, X86::FeatureAVX512, X86::FeatureCDI, X86::FeatureDQI, X86::FeatureBWI, X86::FeatureVLX, X86::FeaturePKU, X86::FeatureCLWB, X86::FeatureHasFastGather, X86::FeaturePOPCNTFalseDeps }, { } },
343
  { "skylake", "Select the skylake processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMergeToThreeWayBranch, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX2, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureERMSB, X86::FeatureFMA, X86::FeatureINVPCID, X86::FeatureLZCNT, X86::FeatureMOVBE, X86::FeatureFastVariableShuffle, X86::FeatureADX, X86::FeatureRDSEED, X86::FeaturePRFCHW, X86::FeatureAES, X86::FeatureMPX, X86::FeatureXSAVEC, X86::FeatureXSAVES, X86::FeatureCLFLUSHOPT, X86::FeatureFastVectorFSQRT, X86::FeatureHasFastGather, X86::FeaturePOPCNTFalseDeps, X86::FeatureSGX }, { } },
344
  { "skylake-avx512", "Select the skylake-avx512 processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMergeToThreeWayBranch, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX2, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureERMSB, X86::FeatureFMA, X86::FeatureINVPCID, X86::FeatureLZCNT, X86::FeatureMOVBE, X86::FeatureFastVariableShuffle, X86::FeatureADX, X86::FeatureRDSEED, X86::FeaturePRFCHW, X86::FeatureAES, X86::FeatureMPX, X86::FeatureXSAVEC, X86::FeatureXSAVES, X86::FeatureCLFLUSHOPT, X86::FeatureFastVectorFSQRT, X86::FeatureAVX512, X86::FeatureCDI, X86::FeatureDQI, X86::FeatureBWI, X86::FeatureVLX, X86::FeaturePKU, X86::FeatureCLWB, X86::FeatureHasFastGather, X86::FeaturePOPCNTFalseDeps }, { } },
345
  { "slm", "Select the slm processor", { X86::ProcIntelSLM, X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSE42, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureMOVBE, X86::FeaturePOPCNT, X86::FeaturePCLMUL, X86::FeatureSlowDivide64, X86::FeatureSlowTwoMemOps, X86::FeaturePRFCHW, X86::FeatureSlowLEA, X86::FeatureSlowIncDec, X86::FeatureSlowPMULLD, X86::FeatureRDRAND, X86::FeatureLAHFSAHF, X86::FeaturePOPCNTFalseDeps }, { } },
346
  { "tremont", "Select the tremont processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSE42, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureMOVBE, X86::FeaturePOPCNT, X86::FeaturePCLMUL, X86::FeatureAES, X86::FeaturePRFCHW, X86::FeatureSlowTwoMemOps, X86::FeatureSlowLEA, X86::FeatureSlowIncDec, X86::FeatureLAHFSAHF, X86::FeatureMPX, X86::FeatureSHA, X86::FeatureRDRAND, X86::FeatureRDSEED, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureXSAVEC, X86::FeatureXSAVES, X86::FeatureCLFLUSHOPT, X86::FeatureFSGSBase, X86::FeaturePTWRITE, X86::FeatureRDPID, X86::FeatureSGX, X86::ProcIntelTRM, X86::FeatureCLDEMOTE, X86::FeatureGFNI, X86::FeatureMOVDIRI, X86::FeatureMOVDIR64B, X86::FeatureWAITPKG }, { } },
347
  { "westmere", "Select the westmere processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSE42, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeaturePCLMUL, X86::FeatureLAHFSAHF, X86::FeatureMacroFusion }, { } },
348
  { "winchip-c6", "Select the winchip-c6 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX }, { } },
349
  { "winchip2", "Select the winchip2 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::Feature3DNow }, { } },
350
  { "x86-64", "Select the x86-64 processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSE2, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureSlow3OpsLEA, X86::FeatureSlowIncDec, X86::FeatureMacroFusion }, { } },
351
  { "yonah", "Select the yonah processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX, X86::FeatureSSE3, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMOV }, { } },
352
  { "znver1", "Select the znver1 processor", { X86::FeatureADX, X86::FeatureAES, X86::FeatureAVX2, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureCLFLUSHOPT, X86::FeatureCLZERO, X86::FeatureCMOV, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureF16C, X86::FeatureFMA, X86::FeatureFSGSBase, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureFastLZCNT, X86::FeatureLAHFSAHF, X86::FeatureLZCNT, X86::FeatureFastBEXTR, X86::FeatureFast15ByteNOP, X86::FeatureMacroFusion, X86::FeatureMMX, X86::FeatureMOVBE, X86::FeatureMWAITX, X86::FeaturePCLMUL, X86::FeaturePOPCNT, X86::FeaturePRFCHW, X86::FeatureRDRAND, X86::FeatureRDSEED, X86::FeatureSHA, X86::FeatureSSE4A, X86::FeatureSlowSHLD, X86::FeatureX87, X86::FeatureXSAVE, X86::FeatureXSAVEC, X86::FeatureXSAVEOPT, X86::FeatureXSAVES }, { } },
353
};
354
355
#ifdef DBGFIELD
356
#error "<target>GenSubtargetInfo.inc requires a DBGFIELD macro"
357
#endif
358
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
359
#define DBGFIELD(x) x,
360
#else
361
#define DBGFIELD(x)
362
#endif
363
364
// ===============================================================
365
// Data tables for the new per-operand machine model.
366
367
// {ProcResourceIdx, Cycles}
368
extern const llvm::MCWriteProcResEntry X86WriteProcResTable[] = {
369
  { 0,  0}, // Invalid
370
  { 3,  1}, // #1
371
  { 1,  1}, // #2
372
  { 3,  2}, // #3
373
  { 2,  1}, // #4
374
  { 3,  1}, // #5
375
  { 1,  1}, // #6
376
  { 3,  1}, // #7
377
  { 3,  7}, // #8
378
  { 3,  6}, // #9
379
  { 1,  5}, // #10
380
  { 3,  5}, // #11
381
  { 3, 16}, // #12
382
  { 3,  9}, // #13
383
  { 3, 11}, // #14
384
  { 3, 15}, // #15
385
  { 3,  8}, // #16
386
  { 3, 50}, // #17
387
  { 3, 130}, // #18
388
  { 3, 68}, // #19
389
  { 3, 125}, // #20
390
  { 3, 70}, // #21
391
  { 3, 34}, // #22
392
  { 3, 62}, // #23
393
  { 3, 10}, // #24
394
  { 3, 12}, // #25
395
  { 3, 14}, // #26
396
  { 1,  3}, // #27
397
  { 3,  3}, // #28
398
  { 3,  4}, // #29
399
  { 1,  4}, // #30
400
  { 3,  4}, // #31
401
  { 1,  2}, // #32
402
  { 3,  2}, // #33
403
  { 3, 71}, // #34
404
  { 2,  5}, // #35
405
  { 3,  5}, // #36
406
  { 1,  1}, // #37
407
  { 2,  1}, // #38
408
  { 3,  2}, // #39
409
  { 1,  5}, // #40
410
  { 2,  5}, // #41
411
  { 3, 10}, // #42
412
  { 3, 13}, // #43
413
  { 3, 17}, // #44
414
  { 3, 18}, // #45
415
  { 3, 20}, // #46
416
  { 3, 21}, // #47
417
  { 3, 22}, // #48
418
  { 3, 23}, // #49
419
  { 3, 25}, // #50
420
  { 3, 26}, // #51
421
  { 3, 29}, // #52
422
  { 3, 30}, // #53
423
  { 3, 32}, // #54
424
  { 3, 45}, // #55
425
  { 3, 46}, // #56
426
  { 3, 48}, // #57
427
  { 3, 55}, // #58
428
  { 3, 59}, // #59
429
  { 3, 63}, // #60
430
  { 3, 72}, // #61
431
  { 3, 74}, // #62
432
  { 3, 77}, // #63
433
  { 3, 78}, // #64
434
  { 3, 79}, // #65
435
  { 3, 92}, // #66
436
  { 3, 94}, // #67
437
  { 3, 99}, // #68
438
  { 3, 121}, // #69
439
  { 3, 127}, // #70
440
  { 3, 140}, // #71
441
  { 3, 141}, // #72
442
  { 3, 146}, // #73
443
  { 3, 147}, // #74
444
  { 3, 168}, // #75
445
  { 3, 174}, // #76
446
  { 3, 183}, // #77
447
  { 3, 202}, // #78
448
  {11,  1}, // #79
449
  {14,  1}, // #80
450
  {19,  1}, // #81
451
  { 1,  2}, // #82
452
  { 5,  1}, // #83
453
  { 7,  1}, // #84
454
  { 8,  1}, // #85
455
  {22,  1}, // #86
456
  {24,  1}, // #87
457
  { 1,  1}, // #88
458
  { 2,  1}, // #89
459
  { 5,  1}, // #90
460
  { 7,  1}, // #91
461
  { 8,  1}, // #92
462
  {22,  1}, // #93
463
  { 5,  1}, // #94
464
  { 8,  1}, // #95
465
  { 1,  1}, // #96
466
  {13,  1}, // #97
467
  {14,  1}, // #98
468
  {16,  1}, // #99
469
  {19,  1}, // #100
470
  {24,  1}, // #101
471
  { 1,  1}, // #102
472
  {10,  1}, // #103
473
  {14,  1}, // #104
474
  {19,  1}, // #105
475
  {22,  1}, // #106
476
  {10,  1}, // #107
477
  {14,  1}, // #108
478
  {16,  1}, // #109
479
  {19,  1}, // #110
480
  { 5,  2}, // #111
481
  { 8,  2}, // #112
482
  { 1,  2}, // #113
483
  { 5,  2}, // #114
484
  { 8,  2}, // #115
485
  {22,  1}, // #116
486
  {24,  1}, // #117
487
  { 1,  1}, // #118
488
  { 5,  2}, // #119
489
  { 8,  2}, // #120
490
  {22,  1}, // #121
491
  { 1,  2}, // #122
492
  { 5,  1}, // #123
493
  { 8,  1}, // #124
494
  {22,  1}, // #125
495
  {24,  1}, // #126
496
  { 1,  1}, // #127
497
  { 5,  1}, // #128
498
  { 8,  1}, // #129
499
  {22,  1}, // #130
500
  { 1,  1}, // #131
501
  {10,  1}, // #132
502
  {14,  1}, // #133
503
  {15,  1}, // #134
504
  {19,  1}, // #135
505
  {22,  1}, // #136
506
  { 1,  1}, // #137
507
  {12,  1}, // #138
508
  {14,  1}, // #139
509
  {15,  1}, // #140
510
  {19,  1}, // #141
511
  {22,  1}, // #142
512
  { 1,  1}, // #143
513
  {10,  4}, // #144
514
  {14,  1}, // #145
515
  {19,  1}, // #146
516
  {22,  1}, // #147
517
  { 1,  1}, // #148
518
  { 5,  4}, // #149
519
  { 8,  4}, // #150
520
  {22,  1}, // #151
521
  { 1,  1}, // #152
522
  {22,  1}, // #153
523
  { 1,  1}, // #154
524
  { 5,  1}, // #155
525
  { 6,  1}, // #156
526
  { 8,  1}, // #157
527
  {10,  1}, // #158
528
  {14,  1}, // #159
529
  {15,  1}, // #160
530
  {19,  1}, // #161
531
  {22,  1}, // #162
532
  { 1,  1}, // #163
533
  {13,  1}, // #164
534
  {14,  1}, // #165
535
  {16,  1}, // #166
536
  {19,  1}, // #167
537
  {22,  1}, // #168
538
  { 1,  1}, // #169
539
  { 5,  1}, // #170
540
  { 6,  1}, // #171
541
  { 8,  1}, // #172
542
  {10,  1}, // #173
543
  {13,  1}, // #174
544
  {14,  1}, // #175
545
  {16,  1}, // #176
546
  {19,  1}, // #177
547
  {22,  1}, // #178
548
  { 1,  1}, // #179
549
  { 4, 15}, // #180
550
  { 5,  1}, // #181
551
  { 7,  1}, // #182
552
  { 8,  1}, // #183
553
  {22,  1}, // #184
554
  { 1,  1}, // #185
555
  { 4, 14}, // #186
556
  { 5,  1}, // #187
557
  { 7,  1}, // #188
558
  { 8,  1}, // #189
559
  {22,  1}, // #190
560
  { 1,  1}, // #191
561
  { 4, 12}, // #192
562
  { 5,  1}, // #193
563
  { 7,  1}, // #194
564
  { 8,  1}, // #195
565
  {22,  1}, // #196
566
  { 1,  1}, // #197
567
  {10, 19}, // #198
568
  {14,  1}, // #199
569
  {16,  1}, // #200
570
  {19,  1}, // #201
571
  {22,  1}, // #202
572
  { 1,  1}, // #203
573
  {10,  3}, // #204
574
  {14,  1}, // #205
575
  {16,  1}, // #206
576
  {19,  1}, // #207
577
  {22,  1}, // #208
578
  { 1,  1}, // #209
579
  {11,  1}, // #210
580
  {14,  1}, // #211
581
  {19,  1}, // #212
582
  {22,  1}, // #213
583
  { 1,  1}, // #214
584
  { 4, 17}, // #215
585
  { 5,  1}, // #216
586
  { 7,  1}, // #217
587
  { 8,  1}, // #218
588
  {22,  1}, // #219
589
  { 1,  1}, // #220
590
  { 4, 25}, // #221
591
  { 5,  1}, // #222
592
  { 7,  1}, // #223
593
  { 8,  1}, // #224
594
  {22,  1}, // #225
595
  { 1,  1}, // #226
596
  { 5,  1}, // #227
597
  { 7,  1}, // #228
598
  { 8,  1}, // #229
599
  {22,  1}, // #230
600
  {23,  1}, // #231
601
  { 5,  1}, // #232
602
  { 7,  1}, // #233
603
  { 8,  1}, // #234
604
  {23,  1}, // #235
605
  { 1,  1}, // #236
606
  { 5,  1}, // #237
607
  { 7,  1}, // #238
608
  { 8,  1}, // #239
609
  {22,  1}, // #240
610
  {23,  4}, // #241
611
  { 5,  1}, // #242
612
  { 7,  1}, // #243
613
  { 8,  1}, // #244
614
  {23,  4}, // #245
615
  { 1,  1}, // #246
616
  {24,  1}, // #247
617
  { 1,  1}, // #248
618
  {11,  4}, // #249
619
  {14,  1}, // #250
620
  {19,  1}, // #251
621
  {22,  1}, // #252
622
  { 1,  1}, // #253
623
  {12,  2}, // #254
624
  {14,  1}, // #255
625
  {15,  1}, // #256
626
  {19,  1}, // #257
627
  {22,  1}, // #258
628
  { 1,  1}, // #259
629
  {10,  1}, // #260
630
  {14,  1}, // #261
631
  {16,  1}, // #262
632
  {19,  1}, // #263
633
  {22,  1}, // #264
634
  { 1,  9}, // #265
635
  { 5,  1}, // #266
636
  { 6,  1}, // #267
637
  { 8,  1}, // #268
638
  {10,  1}, // #269
639
  {11,  4}, // #270
640
  {14,  1}, // #271
641
  {16,  1}, // #272
642
  {19,  1}, // #273
643
  {22,  7}, // #274
644
  {24,  2}, // #275
645
  { 1,  8}, // #276
646
  { 5,  1}, // #277
647
  { 6,  1}, // #278
648
  { 8,  1}, // #279
649
  {10,  1}, // #280
650
  {11,  4}, // #281
651
  {14,  1}, // #282
652
  {16,  1}, // #283
653
  {19,  1}, // #284
654
  {22,  6}, // #285
655
  {24,  2}, // #286
656
  { 1,  1}, // #287
657
  { 5,  1}, // #288
658
  { 6,  1}, // #289
659
  { 8,  1}, // #290
660
  {10,  2}, // #291
661
  {14,  1}, // #292
662
  {16,  1}, // #293
663
  {19,  1}, // #294
664
  {22,  1}, // #295
665
  { 1,  1}, // #296
666
  {11,  1}, // #297
667
  {14,  1}, // #298
668
  {15,  1}, // #299
669
  {19,  1}, // #300
670
  {22,  1}, // #301
671
  { 1,  1}, // #302
672
  {11,  1}, // #303
673
  {12,  2}, // #304
674
  {14,  3}, // #305
675
  {15,  2}, // #306
676
  {19,  3}, // #307
677
  {22,  1}, // #308
678
  { 1,  2}, // #309
679
  {22,  1}, // #310
680
  {24,  1}, // #311
681
  { 1,  1}, // #312
682
  { 5,  1}, // #313
683
  { 8,  1}, // #314
684
  {24,  1}, // #315
685
  { 1,  1}, // #316
686
  { 5, 22}, // #317
687
  { 8, 22}, // #318
688
  {22,  1}, // #319
689
  { 5,  8}, // #320
690
  { 8,  8}, // #321
691
  { 5,  6}, // #322
692
  { 8,  6}, // #323
693
  { 1,  1}, // #324
694
  {10, 27}, // #325
695
  {14,  1}, // #326
696
  {16,  1}, // #327
697
  {19,  1}, // #328
698
  {22,  1}, // #329
699
  { 1,  1}, // #330
700
  {10, 21}, // #331
701
  {14,  1}, // #332
702
  {16,  1}, // #333
703
  {19,  1}, // #334
704
  {22,  1}, // #335
705
  {10, 35}, // #336
706
  {14,  1}, // #337
707
  {16,  1}, // #338
708
  {19,  1}, // #339
709
  { 1,  1}, // #340
710
  {10,  1}, // #341
711
  {14,  1}, // #342
712
  {22,  1}, // #343
713
  { 1,  2}, // #344
714
  {10,  1}, // #345
715
  {14,  2}, // #346
716
  {15,  2}, // #347
717
  {19,  2}, // #348
718
  {22,  2}, // #349
719
  { 1,  2}, // #350
720
  {11,  1}, // #351
721
  {14,  1}, // #352
722
  {19,  1}, // #353
723
  {22,  2}, // #354
724
  { 1,  2}, // #355
725
  {10,  2}, // #356
726
  {14,  2}, // #357
727
  {19,  2}, // #358
728
  {22,  2}, // #359
729
  { 1,  2}, // #360
730
  {10,  6}, // #361
731
  {14,  2}, // #362
732
  {19,  2}, // #363
733
  {22,  2}, // #364
734
  { 1,  2}, // #365
735
  {13,  1}, // #366
736
  {14,  2}, // #367
737
  {16,  2}, // #368
738
  {19,  2}, // #369
739
  {22,  2}, // #370
740
  { 1,  2}, // #371
741
  {10,  1}, // #372
742
  {13,  1}, // #373
743
  {14,  2}, // #374
744
  {16,  2}, // #375
745
  {19,  2}, // #376
746
  {22,  2}, // #377
747
  { 1,  1}, // #378
748
  {10,  1}, // #379
749
  {13,  1}, // #380
750
  {14,  2}, // #381
751
  {16,  2}, // #382
752
  {19,  2}, // #383
753
  {24,  1}, // #384
754
  { 1,  2}, // #385
755
  {10, 38}, // #386
756
  {14,  2}, // #387
757
  {16,  2}, // #388
758
  {19,  2}, // #389
759
  {22,  2}, // #390
760
  { 1,  2}, // #391
761
  {10,  6}, // #392
762
  {14,  2}, // #393
763
  {16,  2}, // #394
764
  {19,  2}, // #395
765
  {22,  2}, // #396
766
  { 1,  2}, // #397
767
  {10,  1}, // #398
768
  {14,  1}, // #399
769
  {22,  2}, // #400
770
  { 1,  2}, // #401
771
  {10,  4}, // #402
772
  {14,  2}, // #403
773
  {19,  2}, // #404
774
  {24,  2}, // #405
775
  { 1,  2}, // #406
776
  {10,  4}, // #407
777
  {14,  2}, // #408
778
  {19,  2}, // #409
779
  {22,  2}, // #410
780
  { 1,  1}, // #411
781
  {10,  4}, // #412
782
  {14,  1}, // #413
783
  {19,  1}, // #414
784
  {24,  1}, // #415
785
  { 1,  1}, // #416
786
  {10,  2}, // #417
787
  {14,  1}, // #418
788
  {19,  1}, // #419
789
  {22,  1}, // #420
790
  {11,  2}, // #421
791
  {14,  2}, // #422
792
  {19,  2}, // #423
793
  { 1,  2}, // #424
794
  {13,  2}, // #425
795
  {14,  2}, // #426
796
  {16,  2}, // #427
797
  {19,  2}, // #428
798
  {24,  2}, // #429
799
  { 1,  2}, // #430
800
  {10,  1}, // #431
801
  {14,  2}, // #432
802
  {16,  2}, // #433
803
  {19,  2}, // #434
804
  {22,  2}, // #435
805
  { 1,  2}, // #436
806
  {11,  4}, // #437
807
  {14,  2}, // #438
808
  {19,  2}, // #439
809
  {24,  2}, // #440
810
  { 1,  2}, // #441
811
  {11,  4}, // #442
812
  {14,  2}, // #443
813
  {19,  2}, // #444
814
  {22,  2}, // #445
815
  { 1,  1}, // #446
816
  {11,  4}, // #447
817
  {14,  1}, // #448
818
  {19,  1}, // #449
819
  {24,  1}, // #450
820
  { 1,  1}, // #451
821
  {11,  2}, // #452
822
  {14,  1}, // #453
823
  {19,  1}, // #454
824
  {22,  1}, // #455
825
  { 1,  2}, // #456
826
  { 5,  1}, // #457
827
  { 6,  1}, // #458
828
  { 8,  1}, // #459
829
  {10,  2}, // #460
830
  {14,  2}, // #461
831
  {19,  2}, // #462
832
  {22,  2}, // #463
833
  { 1,  2}, // #464
834
  {10, 54}, // #465
835
  {14,  2}, // #466
836
  {16,  2}, // #467
837
  {19,  2}, // #468
838
  {22,  2}, // #469
839
  { 1,  2}, // #470
840
  {10, 42}, // #471
841
  {14,  2}, // #472
842
  {16,  2}, // #473
843
  {19,  2}, // #474
844
  {22,  2}, // #475
845
  { 1,  1}, // #476
846
  {10,  4}, // #477
847
  {14,  2}, // #478
848
  {19,  2}, // #479
849
  {22,  1}, // #480
850
  {15,  1}, // #481
851
  {19,  1}, // #482
852
  {22,  1}, // #483
853
  {23,  1}, // #484
854
  { 7,  1}, // #485
855
  {12,  1}, // #486
856
  {14,  2}, // #487
857
  {17,  1}, // #488
858
  {20,  2}, // #489
859
  {21,  2}, // #490
860
  {22,  3}, // #491
861
  {23,  6}, // #492
862
  {14,  1}, // #493
863
  {17,  1}, // #494
864
  {20,  1}, // #495
865
  {21,  1}, // #496
866
  {22,  1}, // #497
867
  {23,  2}, // #498
868
  {14,  1}, // #499
869
  {20,  1}, // #500
870
  {22,  1}, // #501
871
  {23,  1}, // #502
872
  { 7,  1}, // #503
873
  {12,  1}, // #504
874
  {21,  1}, // #505
875
  {23,  2}, // #506
876
  {17,  1}, // #507
877
  {21,  1}, // #508
878
  {23,  1}, // #509
879
  { 8,  1}, // #510
880
  {13,  1}, // #511
881
  {15,  1}, // #512
882
  {18,  1}, // #513
883
  {19,  1}, // #514
884
  {20,  1}, // #515
885
  {22,  1}, // #516
886
  {23,  1}, // #517
887
  { 7,  1}, // #518
888
  {12,  1}, // #519
889
  {17,  1}, // #520
890
  {21,  2}, // #521
891
  {22,  1}, // #522
892
  {23,  4}, // #523
893
  {17,  1}, // #524
894
  {21,  1}, // #525
895
  {22,  1}, // #526
896
  {23,  2}, // #527
897
  { 4,  1}, // #528
898
  {11,  1}, // #529
899
  {15,  1}, // #530
900
  {16,  1}, // #531
901
  {17,  1}, // #532
902
  {19,  1}, // #533
903
  {21,  1}, // #534
904
  {22,  1}, // #535
905
  {23,  2}, // #536
906
  { 4,  1}, // #537
907
  {11,  1}, // #538
908
  {15,  1}, // #539
909
  {16,  1}, // #540
910
  {19,  1}, // #541
911
  {22,  1}, // #542
912
  {23,  1}, // #543
913
  { 8,  1}, // #544
914
  {13,  1}, // #545
915
  {15,  1}, // #546
916
  {17,  1}, // #547
917
  {18,  1}, // #548
918
  {19,  1}, // #549
919
  {20,  1}, // #550
920
  {21,  1}, // #551
921
  {22,  1}, // #552
922
  {23,  2}, // #553
923
  { 8,  2}, // #554
924
  {13,  2}, // #555
925
  {15,  2}, // #556
926
  {17,  1}, // #557
927
  {18,  2}, // #558
928
  {19,  2}, // #559
929
  {20,  2}, // #560
930
  {21,  1}, // #561
931
  {22,  2}, // #562
932
  {23,  3}, // #563
933
  { 8,  2}, // #564
934
  {13,  2}, // #565
935
  {15,  2}, // #566
936
  {18,  2}, // #567
937
  {19,  2}, // #568
938
  {20,  2}, // #569
939
  {22,  2}, // #570
940
  {23,  2}, // #571
941
  { 3,  2}, // #572
942
  { 8,  7}, // #573
943
  {11,  2}, // #574
944
  {12,  2}, // #575
945
  {13,  9}, // #576
946
  {14,  2}, // #577
947
  {15,  7}, // #578
948
  {17,  1}, // #579
949
  {18,  7}, // #580
950
  {19, 10}, // #581
951
  {20,  9}, // #582
952
  {21,  1}, // #583
953
  {22, 10}, // #584
954
  {23, 11}, // #585
955
  { 3,  2}, // #586
956
  { 8,  7}, // #587
957
  {11,  2}, // #588
958
  {12,  2}, // #589
959
  {13,  9}, // #590
960
  {14,  2}, // #591
961
  {15,  7}, // #592
962
  {18,  7}, // #593
963
  {19, 11}, // #594
964
  {20,  9}, // #595
965
  {22, 11}, // #596
966
  {23, 11}, // #597
967
  {14,  1}, // #598
968
  {15,  1}, // #599
969
  {17,  1}, // #600
970
  {19,  1}, // #601
971
  {20,  1}, // #602
972
  {21,  1}, // #603
973
  {22,  2}, // #604
974
  {23,  3}, // #605
975
  {14,  1}, // #606
976
  {15,  1}, // #607
977
  {19,  1}, // #608
978
  {20,  1}, // #609
979
  {22,  2}, // #610
980
  {23,  2}, // #611
981
  {15,  1}, // #612
982
  {17,  1}, // #613
983
  {19,  1}, // #614
984
  {21,  1}, // #615
985
  {22,  1}, // #616
986
  {23,  2}, // #617
987
  { 7,  1}, // #618
988
  {12,  1}, // #619
989
  {14,  1}, // #620
990
  {17,  1}, // #621
991
  {20,  1}, // #622
992
  {21,  2}, // #623
993
  {22,  1}, // #624
994
  {23,  4}, // #625
995
  {14,  1}, // #626
996
  {17,  1}, // #627
997
  {20,  1}, // #628
998
  {21,  1}, // #629
999
  {22,  2}, // #630
1000
  {23,  3}, // #631
1001
  {14,  1}, // #632
1002
  {20,  1}, // #633
1003
  {22,  2}, // #634
1004
  {23,  2}, // #635
1005
  {14,  2}, // #636
1006
  {20,  2}, // #637
1007
  {22,  5}, // #638
1008
  {23,  5}, // #639
1009
  { 3,  2}, // #640
1010
  { 4,  2}, // #641
1011
  { 8,  2}, // #642
1012
  {11,  4}, // #643
1013
  {12,  2}, // #644
1014
  {13,  4}, // #645
1015
  {14,  2}, // #646
1016
  {15,  4}, // #647
1017
  {16,  2}, // #648
1018
  {17,  1}, // #649
1019
  {18,  2}, // #650
1020
  {19,  6}, // #651
1021
  {20,  4}, // #652
1022
  {21,  1}, // #653
1023
  {22,  7}, // #654
1024
  {23,  8}, // #655
1025
  { 3,  7}, // #656
1026
  { 4,  7}, // #657
1027
  { 8,  3}, // #658
1028
  { 9,  3}, // #659
1029
  {11, 15}, // #660
1030
  {12,  7}, // #661
1031
  {13, 10}, // #662
1032
  {14, 10}, // #663
1033
  {15, 10}, // #664
1034
  {16, 10}, // #665
1035
  {18,  6}, // #666
1036
  {19, 18}, // #667
1037
  {20, 13}, // #668
1038
  {22, 32}, // #669
1039
  {23, 32}, // #670
1040
  { 1, 10}, // #671
1041
  { 3,  1}, // #672
1042
  {11,  1}, // #673
1043
  {12,  1}, // #674
1044
  {13,  1}, // #675
1045
  {14,  1}, // #676
1046
  {19,  1}, // #677
1047
  {20,  1}, // #678
1048
  {22,  1}, // #679
1049
  {23,  1}, // #680
1050
  { 2,  8}, // #681
1051
  { 3,  1}, // #682
1052
  {11,  1}, // #683
1053
  {12,  1}, // #684
1054
  {13,  1}, // #685
1055
  {14,  1}, // #686
1056
  {17,  1}, // #687
1057
  {19,  1}, // #688
1058
  {20,  1}, // #689
1059
  {21,  1}, // #690
1060
  {22,  1}, // #691
1061
  {23,  2}, // #692
1062
  { 2,  8}, // #693
1063
  { 3,  1}, // #694
1064
  {11,  1}, // #695
1065
  {12,  1}, // #696
1066
  {13,  1}, // #697
1067
  {14,  1}, // #698
1068
  {19,  1}, // #699
1069
  {20,  1}, // #700
1070
  {22,  1}, // #701
1071
  {23,  1}, // #702
1072
  { 2,  5}, // #703
1073
  { 3,  1}, // #704
1074
  {11,  1}, // #705
1075
  {12,  1}, // #706
1076
  {13,  1}, // #707
1077
  {14,  1}, // #708
1078
  {17,  1}, // #709
1079
  {19,  1}, // #710
1080
  {20,  1}, // #711
1081
  {21,  1}, // #712
1082
  {22,  1}, // #713
1083
  {23,  2}, // #714
1084
  { 2,  5}, // #715
1085
  { 3,  1}, // #716
1086
  {11,  1}, // #717
1087
  {12,  1}, // #718
1088
  {13,  1}, // #719
1089
  {14,  1}, // #720
1090
  {19,  1}, // #721
1091
  {20,  1}, // #722
1092
  {22,  1}, // #723
1093
  {23,  1}, // #724
1094
  { 2,  3}, // #725
1095
  { 3,  1}, // #726
1096
  {11,  1}, // #727
1097
  {12,  1}, // #728
1098
  {13,  1}, // #729
1099
  {14,  1}, // #730
1100
  {19,  1}, // #731
1101
  {20,  1}, // #732
1102
  {22,  1}, // #733
1103
  {23,  1}, // #734
1104
  { 2,  4}, // #735
1105
  { 3,  1}, // #736
1106
  {11,  1}, // #737
1107
  {12,  1}, // #738
1108
  {13,  1}, // #739
1109
  {14,  1}, // #740
1110
  {19,  1}, // #741
1111
  {20,  1}, // #742
1112
  {22,  1}, // #743
1113
  {23,  1}, // #744
1114
  { 3,  1}, // #745
1115
  { 4,  1}, // #746
1116
  { 8,  1}, // #747
1117
  {11,  2}, // #748
1118
  {12,  1}, // #749
1119
  {13,  2}, // #750
1120
  {14,  1}, // #751
1121
  {15,  2}, // #752
1122
  {16,  1}, // #753
1123
  {17,  1}, // #754
1124
  {18,  1}, // #755
1125
  {19,  3}, // #756
1126
  {20,  2}, // #757
1127
  {21,  1}, // #758
1128
  {22,  3}, // #759
1129
  {23,  4}, // #760
1130
  { 3,  1}, // #761
1131
  { 4,  1}, // #762
1132
  { 8,  1}, // #763
1133
  {11,  2}, // #764
1134
  {12,  1}, // #765
1135
  {13,  2}, // #766
1136
  {14,  1}, // #767
1137
  {15,  2}, // #768
1138
  {16,  1}, // #769
1139
  {18,  1}, // #770
1140
  {19,  3}, // #771
1141
  {20,  2}, // #772
1142
  {22,  3}, // #773
1143
  {23,  3}, // #774
1144
  { 3,  2}, // #775
1145
  { 4,  1}, // #776
1146
  { 8,  1}, // #777
1147
  {11,  3}, // #778
1148
  {12,  2}, // #779
1149
  {13,  3}, // #780
1150
  {14,  2}, // #781
1151
  {15,  2}, // #782
1152
  {16,  1}, // #783
1153
  {17,  1}, // #784
1154
  {18,  1}, // #785
1155
  {19,  4}, // #786
1156
  {20,  3}, // #787
1157
  {21,  1}, // #788
1158
  {22,  4}, // #789
1159
  {23,  5}, // #790
1160
  { 3,  2}, // #791
1161
  { 4,  1}, // #792
1162
  { 8,  1}, // #793
1163
  {11,  3}, // #794
1164
  {12,  2}, // #795
1165
  {13,  3}, // #796
1166
  {14,  2}, // #797
1167
  {15,  2}, // #798
1168
  {16,  1}, // #799
1169
  {18,  1}, // #800
1170
  {19,  4}, // #801
1171
  {20,  3}, // #802
1172
  {22,  4}, // #803
1173
  {23,  4}, // #804
1174
  { 7,  1}, // #805
1175
  { 8,  1}, // #806
1176
  {12,  1}, // #807
1177
  {13,  1}, // #808
1178
  {15,  1}, // #809
1179
  {18,  1}, // #810
1180
  {19,  1}, // #811
1181
  {20,  1}, // #812
1182
  {21,  1}, // #813
1183
  {22,  1}, // #814
1184
  {23,  3}, // #815
1185
  { 3,  1}, // #816
1186
  { 8,  1}, // #817
1187
  {11,  1}, // #818
1188
  {12,  1}, // #819
1189
  {13,  2}, // #820
1190
  {14,  1}, // #821
1191
  {15,  1}, // #822
1192
  {18,  1}, // #823
1193
  {19,  2}, // #824
1194
  {20,  2}, // #825
1195
  {22,  2}, // #826
1196
  {23,  2}, // #827
1197
  {11,  8}, // #828
1198
  {15,  1}, // #829
1199
  {19, 30}, // #830
1200
  {22, 31}, // #831
1201
  {23, 31}, // #832
1202
  {11,  2}, // #833
1203
  {19,  2}, // #834
1204
  {22,  2}, // #835
1205
  {23,  2}, // #836
1206
  { 4,  1}, // #837
1207
  { 8,  2}, // #838
1208
  {11,  1}, // #839
1209
  {13,  2}, // #840
1210
  {15,  3}, // #841
1211
  {16,  1}, // #842
1212
  {17,  1}, // #843
1213
  {18,  2}, // #844
1214
  {19,  3}, // #845
1215
  {20,  2}, // #846
1216
  {21,  1}, // #847
1217
  {22,  3}, // #848
1218
  {23,  4}, // #849
1219
  { 4,  1}, // #850
1220
  { 8,  2}, // #851
1221
  {11,  1}, // #852
1222
  {13,  2}, // #853
1223
  {15,  3}, // #854
1224
  {16,  1}, // #855
1225
  {18,  2}, // #856
1226
  {19,  3}, // #857
1227
  {20,  2}, // #858
1228
  {22,  3}, // #859
1229
  {23,  3}, // #860
1230
  { 4,  1}, // #861
1231
  {11,  1}, // #862
1232
  {14,  1}, // #863
1233
  {15,  1}, // #864
1234
  {16,  1}, // #865
1235
  {17,  1}, // #866
1236
  {19,  1}, // #867
1237
  {20,  1}, // #868
1238
  {21,  1}, // #869
1239
  {22,  4}, // #870
1240
  {23,  5}, // #871
1241
  { 4,  1}, // #872
1242
  {11,  1}, // #873
1243
  {14,  1}, // #874
1244
  {15,  1}, // #875
1245
  {16,  1}, // #876
1246
  {19,  1}, // #877
1247
  {20,  1}, // #878
1248
  {22,  4}, // #879
1249
  {23,  4}, // #880
1250
  { 4,  1}, // #881
1251
  {11,  1}, // #882
1252
  {15,  1}, // #883
1253
  {16,  1}, // #884
1254
  {17,  1}, // #885
1255
  {19,  1}, // #886
1256
  {21,  1}, // #887
1257
  {22,  2}, // #888
1258
  {23,  3}, // #889
1259
  { 4,  1}, // #890
1260
  {11,  1}, // #891
1261
  {15,  1}, // #892
1262
  {16,  1}, // #893
1263
  {19,  1}, // #894
1264
  {22,  2}, // #895
1265
  {23,  2}, // #896
1266
  { 4,  1}, // #897
1267
  {11,  1}, // #898
1268
  {14,  1}, // #899
1269
  {15,  1}, // #900
1270
  {16,  1}, // #901
1271
  {17,  1}, // #902
1272
  {19,  1}, // #903
1273
  {20,  1}, // #904
1274
  {21,  1}, // #905
1275
  {22,  3}, // #906
1276
  {23,  4}, // #907
1277
  { 4,  1}, // #908
1278
  {11,  1}, // #909
1279
  {14,  1}, // #910
1280
  {15,  1}, // #911
1281
  {16,  1}, // #912
1282
  {19,  1}, // #913
1283
  {20,  1}, // #914
1284
  {22,  3}, // #915
1285
  {23,  3}, // #916
1286
  { 4,  1}, // #917
1287
  { 8,  1}, // #918
1288
  {11,  1}, // #919
1289
  {13,  1}, // #920
1290
  {15,  2}, // #921
1291
  {16,  1}, // #922
1292
  {17,  1}, // #923
1293
  {18,  1}, // #924
1294
  {19,  2}, // #925
1295
  {20,  1}, // #926
1296
  {21,  1}, // #927
1297
  {22,  2}, // #928
1298
  {23,  3}, // #929
1299
  { 4,  1}, // #930
1300
  { 8,  1}, // #931
1301
  {11,  1}, // #932
1302
  {13,  1}, // #933
1303
  {15,  2}, // #934
1304
  {16,  1}, // #935
1305
  {18,  1}, // #936
1306
  {19,  2}, // #937
1307
  {20,  1}, // #938
1308
  {22,  2}, // #939
1309
  {23,  2}, // #940
1310
  { 3,  1}, // #941
1311
  {11,  1}, // #942
1312
  {12,  1}, // #943
1313
  {13,  1}, // #944
1314
  {14,  1}, // #945
1315
  {17,  1}, // #946
1316
  {19,  1}, // #947
1317
  {20,  1}, // #948
1318
  {21,  1}, // #949
1319
  {22,  2}, // #950
1320
  {23,  3}, // #951
1321
  {11,  1}, // #952
1322
  {19,  1}, // #953
1323
  {22,  1}, // #954
1324
  {23,  1}, // #955
1325
  { 7,  1}, // #956
1326
  {12,  1}, // #957
1327
  {17,  1}, // #958
1328
  {21,  1}, // #959
1329
  {23,  2}, // #960
1330
  { 8,  2}, // #961
1331
  {13,  2}, // #962
1332
  {15,  3}, // #963
1333
  {17,  1}, // #964
1334
  {18,  2}, // #965
1335
  {19,  3}, // #966
1336
  {20,  2}, // #967
1337
  {21,  1}, // #968
1338
  {22,  3}, // #969
1339
  {23,  4}, // #970
1340
  { 8,  2}, // #971
1341
  {13,  2}, // #972
1342
  {15,  3}, // #973
1343
  {18,  2}, // #974
1344
  {19,  3}, // #975
1345
  {20,  2}, // #976
1346
  {22,  3}, // #977
1347
  {23,  3}, // #978
1348
  { 3,  1}, // #979
1349
  { 8,  2}, // #980
1350
  {11,  1}, // #981
1351
  {12,  1}, // #982
1352
  {13,  3}, // #983
1353
  {14,  1}, // #984
1354
  {15,  2}, // #985
1355
  {17,  1}, // #986
1356
  {18,  2}, // #987
1357
  {19,  3}, // #988
1358
  {20,  3}, // #989
1359
  {21,  1}, // #990
1360
  {22,  3}, // #991
1361
  {23,  4}, // #992
1362
  { 3,  1}, // #993
1363
  { 8,  2}, // #994
1364
  {11,  1}, // #995
1365
  {12,  1}, // #996
1366
  {13,  3}, // #997
1367
  {14,  1}, // #998
1368
  {15,  2}, // #999
1369
  {18,  2}, // #1000
1370
  {19,  3}, // #1001
1371
  {20,  3}, // #1002
1372
  {22,  3}, // #1003
1373
  {23,  3}, // #1004
1374
  {11,  1}, // #1005
1375
  {17,  1}, // #1006
1376
  {19,  1}, // #1007
1377
  {21,  1}, // #1008
1378
  {22,  1}, // #1009
1379
  {23,  2}, // #1010
1380
  { 3,  4}, // #1011
1381
  { 8,  3}, // #1012
1382
  {11,  4}, // #1013
1383
  {12,  4}, // #1014
1384
  {13,  7}, // #1015
1385
  {14,  4}, // #1016
1386
  {15,  3}, // #1017
1387
  {17,  1}, // #1018
1388
  {18,  3}, // #1019
1389
  {19,  7}, // #1020
1390
  {20,  7}, // #1021
1391
  {21,  1}, // #1022
1392
  {22,  8}, // #1023
1393
  {23,  9}, // #1024
1394
  { 3,  4}, // #1025
1395
  { 8,  3}, // #1026
1396
  {11,  4}, // #1027
1397
  {12,  4}, // #1028
1398
  {13,  7}, // #1029
1399
  {14,  4}, // #1030
1400
  {15,  3}, // #1031
1401
  {18,  3}, // #1032
1402
  {19,  7}, // #1033
1403
  {20,  7}, // #1034
1404
  {22,  8}, // #1035
1405
  {23,  8}, // #1036
1406
  { 3,  4}, // #1037
1407
  { 8,  3}, // #1038
1408
  {11,  4}, // #1039
1409
  {12,  4}, // #1040
1410
  {13,  7}, // #1041
1411
  {14,  4}, // #1042
1412
  {15,  3}, // #1043
1413
  {17,  1}, // #1044
1414
  {18,  3}, // #1045
1415
  {19,  8}, // #1046
1416
  {20,  7}, // #1047
1417
  {21,  1}, // #1048
1418
  {22,  9}, // #1049
1419
  {23, 10}, // #1050
1420
  { 3,  4}, // #1051
1421
  { 8,  3}, // #1052
1422
  {11,  4}, // #1053
1423
  {12,  4}, // #1054
1424
  {13,  7}, // #1055
1425
  {14,  4}, // #1056
1426
  {15,  3}, // #1057
1427
  {18,  3}, // #1058
1428
  {19,  8}, // #1059
1429
  {20,  7}, // #1060
1430
  {22,  9}, // #1061
1431
  {23,  9}, // #1062
1432
  { 3,  3}, // #1063
1433
  {11,  3}, // #1064
1434
  {12,  3}, // #1065
1435
  {13,  3}, // #1066
1436
  {14,  3}, // #1067
1437
  {17,  1}, // #1068
1438
  {19,  3}, // #1069
1439
  {20,  3}, // #1070
1440
  {21,  1}, // #1071
1441
  {22,  3}, // #1072
1442
  {23,  4}, // #1073
1443
  { 3,  3}, // #1074
1444
  {11,  3}, // #1075
1445
  {12,  3}, // #1076
1446
  {13,  3}, // #1077
1447
  {14,  3}, // #1078
1448
  {19,  3}, // #1079
1449
  {20,  3}, // #1080
1450
  {22,  3}, // #1081
1451
  {23,  3}, // #1082
1452
  { 3,  2}, // #1083
1453
  {11,  2}, // #1084
1454
  {12,  2}, // #1085
1455
  {13,  2}, // #1086
1456
  {14,  2}, // #1087
1457
  {17,  1}, // #1088
1458
  {19,  2}, // #1089
1459
  {20,  2}, // #1090
1460
  {21,  1}, // #1091
1461
  {22,  2}, // #1092
1462
  {23,  3}, // #1093
1463
  { 3,  2}, // #1094
1464
  {11,  2}, // #1095
1465
  {12,  2}, // #1096
1466
  {13,  2}, // #1097
1467
  {14,  2}, // #1098
1468
  {19,  2}, // #1099
1469
  {20,  2}, // #1100
1470
  {22,  2}, // #1101
1471
  {23,  2}, // #1102
1472
  { 7,  1}, // #1103
1473
  {12,  1}, // #1104
1474
  {17,  1}, // #1105
1475
  {21,  2}, // #1106
1476
  {23,  3}, // #1107
1477
  { 3,  1}, // #1108
1478
  { 8,  1}, // #1109
1479
  {11,  1}, // #1110
1480
  {12,  1}, // #1111
1481
  {13,  2}, // #1112
1482
  {14,  1}, // #1113
1483
  {15,  1}, // #1114
1484
  {17,  1}, // #1115
1485
  {18,  1}, // #1116
1486
  {19,  2}, // #1117
1487
  {20,  2}, // #1118
1488
  {21,  1}, // #1119
1489
  {22,  2}, // #1120
1490
  {23,  3}, // #1121
1491
  { 7,  1}, // #1122
1492
  {12,  1}, // #1123
1493
  {14,  2}, // #1124
1494
  {17,  1}, // #1125
1495
  {20,  2}, // #1126
1496
  {21,  2}, // #1127
1497
  {22,  2}, // #1128
1498
  {23,  5}, // #1129
1499
  {14,  2}, // #1130
1500
  {20,  2}, // #1131
1501
  {22,  2}, // #1132
1502
  {23,  2}, // #1133
1503
  {14,  2}, // #1134
1504
  {20,  2}, // #1135
1505
  {22,  3}, // #1136
1506
  {23,  3}, // #1137
1507
  { 4,  2}, // #1138
1508
  {11,  2}, // #1139
1509
  {15,  2}, // #1140
1510
  {16,  2}, // #1141
1511
  {17,  1}, // #1142
1512
  {19,  2}, // #1143
1513
  {21,  1}, // #1144
1514
  {22,  2}, // #1145
1515
  {23,  3}, // #1146
1516
  { 7,  1}, // #1147
1517
  {12,  1}, // #1148
1518
  {14,  1}, // #1149
1519
  {20,  1}, // #1150
1520
  {21,  1}, // #1151
1521
  {22,  1}, // #1152
1522
  {23,  3}, // #1153
1523
  { 4,  1}, // #1154
1524
  {11,  1}, // #1155
1525
  {14,  1}, // #1156
1526
  {15,  1}, // #1157
1527
  {16,  1}, // #1158
1528
  {17,  1}, // #1159
1529
  {19,  1}, // #1160
1530
  {20,  1}, // #1161
1531
  {21,  2}, // #1162
1532
  {22,  4}, // #1163
1533
  {23,  6}, // #1164
1534
  { 4,  1}, // #1165
1535
  {11,  1}, // #1166
1536
  {15,  1}, // #1167
1537
  {16,  1}, // #1168
1538
  {17,  1}, // #1169
1539
  {19,  1}, // #1170
1540
  {21,  2}, // #1171
1541
  {22,  2}, // #1172
1542
  {23,  4}, // #1173
1543
  { 2, 14}, // #1174
1544
  { 3,  1}, // #1175
1545
  {11,  1}, // #1176
1546
  {12,  1}, // #1177
1547
  {13,  1}, // #1178
1548
  {14,  1}, // #1179
1549
  {17,  1}, // #1180
1550
  {19,  1}, // #1181
1551
  {20,  1}, // #1182
1552
  {21,  1}, // #1183
1553
  {22,  1}, // #1184
1554
  {23,  2}, // #1185
1555
  { 2, 14}, // #1186
1556
  { 3,  1}, // #1187
1557
  {11,  1}, // #1188
1558
  {12,  1}, // #1189
1559
  {13,  1}, // #1190
1560
  {14,  1}, // #1191
1561
  {19,  1}, // #1192
1562
  {20,  1}, // #1193
1563
  {22,  1}, // #1194
1564
  {23,  1}, // #1195
1565
  { 2,  7}, // #1196
1566
  { 3,  1}, // #1197
1567
  {11,  1}, // #1198
1568
  {12,  1}, // #1199
1569
  {13,  1}, // #1200
1570
  {14,  1}, // #1201
1571
  {17,  1}, // #1202
1572
  {19,  1}, // #1203
1573
  {20,  1}, // #1204
1574
  {21,  1}, // #1205
1575
  {22,  1}, // #1206
1576
  {23,  2}, // #1207
1577
  { 2,  7}, // #1208
1578
  { 3,  1}, // #1209
1579
  {11,  1}, // #1210
1580
  {12,  1}, // #1211
1581
  {13,  1}, // #1212
1582
  {14,  1}, // #1213
1583
  {19,  1}, // #1214
1584
  {20,  1}, // #1215
1585
  {22,  1}, // #1216
1586
  {23,  1}, // #1217
1587
  { 2,  9}, // #1218
1588
  { 3,  1}, // #1219
1589
  {11,  1}, // #1220
1590
  {12,  1}, // #1221
1591
  {13,  1}, // #1222
1592
  {14,  1}, // #1223
1593
  {19,  1}, // #1224
1594
  {20,  1}, // #1225
1595
  {22,  1}, // #1226
1596
  {23,  1}, // #1227
1597
  { 4,  1}, // #1228
1598
  { 7,  1}, // #1229
1599
  {11,  1}, // #1230
1600
  {12,  1}, // #1231
1601
  {15,  1}, // #1232
1602
  {16,  1}, // #1233
1603
  {19,  1}, // #1234
1604
  {21,  1}, // #1235
1605
  {22,  1}, // #1236
1606
  {23,  3}, // #1237
1607
  { 2, 16}, // #1238
1608
  { 3,  2}, // #1239
1609
  {11,  2}, // #1240
1610
  {12,  2}, // #1241
1611
  {13,  2}, // #1242
1612
  {14,  2}, // #1243
1613
  {17,  1}, // #1244
1614
  {19,  3}, // #1245
1615
  {20,  2}, // #1246
1616
  {21,  1}, // #1247
1617
  {22,  3}, // #1248
1618
  {23,  4}, // #1249
1619
  { 2, 16}, // #1250
1620
  { 3,  2}, // #1251
1621
  {11,  2}, // #1252
1622
  {12,  2}, // #1253
1623
  {13,  2}, // #1254
1624
  {14,  2}, // #1255
1625
  {19,  3}, // #1256
1626
  {20,  2}, // #1257
1627
  {22,  3}, // #1258
1628
  {23,  3}, // #1259
1629
  { 2, 10}, // #1260
1630
  { 3,  2}, // #1261
1631
  {11,  2}, // #1262
1632
  {12,  2}, // #1263
1633
  {13,  2}, // #1264
1634
  {14,  2}, // #1265
1635
  {17,  1}, // #1266
1636
  {19,  3}, // #1267
1637
  {20,  2}, // #1268
1638
  {21,  1}, // #1269
1639
  {22,  3}, // #1270
1640
  {23,  4}, // #1271
1641
  { 2, 10}, // #1272
1642
  { 3,  2}, // #1273
1643
  {11,  2}, // #1274
1644
  {12,  2}, // #1275
1645
  {13,  2}, // #1276
1646
  {14,  2}, // #1277
1647
  {19,  3}, // #1278
1648
  {20,  2}, // #1279
1649
  {22,  3}, // #1280
1650
  {23,  3}, // #1281
1651
  { 3,  1}, // #1282
1652
  { 7,  1}, // #1283
1653
  {11,  1}, // #1284
1654
  {12,  2}, // #1285
1655
  {13,  1}, // #1286
1656
  {14,  1}, // #1287
1657
  {15,  1}, // #1288
1658
  {19,  2}, // #1289
1659
  {20,  1}, // #1290
1660
  {21,  1}, // #1291
1661
  {22,  2}, // #1292
1662
  {23,  4}, // #1293
1663
  { 3,  2}, // #1294
1664
  { 8,  1}, // #1295
1665
  {11,  2}, // #1296
1666
  {12,  2}, // #1297
1667
  {13,  3}, // #1298
1668
  {14,  2}, // #1299
1669
  {15,  1}, // #1300
1670
  {17,  1}, // #1301
1671
  {18,  1}, // #1302
1672
  {19,  3}, // #1303
1673
  {20,  3}, // #1304
1674
  {21,  1}, // #1305
1675
  {22,  3}, // #1306
1676
  {23,  4}, // #1307
1677
  { 3,  2}, // #1308
1678
  { 8,  1}, // #1309
1679
  {11,  2}, // #1310
1680
  {12,  2}, // #1311
1681
  {13,  3}, // #1312
1682
  {14,  2}, // #1313
1683
  {15,  1}, // #1314
1684
  {18,  1}, // #1315
1685
  {19,  3}, // #1316
1686
  {20,  3}, // #1317
1687
  {22,  3}, // #1318
1688
  {23,  3}, // #1319
1689
  { 2, 28}, // #1320
1690
  { 3,  2}, // #1321
1691
  {11,  2}, // #1322
1692
  {12,  2}, // #1323
1693
  {13,  2}, // #1324
1694
  {14,  2}, // #1325
1695
  {17,  1}, // #1326
1696
  {19,  3}, // #1327
1697
  {20,  2}, // #1328
1698
  {21,  1}, // #1329
1699
  {22,  3}, // #1330
1700
  {23,  4}, // #1331
1701
  { 2, 28}, // #1332
1702
  { 3,  2}, // #1333
1703
  {11,  2}, // #1334
1704
  {12,  2}, // #1335
1705
  {13,  2}, // #1336
1706
  {14,  2}, // #1337
1707
  {19,  3}, // #1338
1708
  {20,  2}, // #1339
1709
  {22,  3}, // #1340
1710
  {23,  3}, // #1341
1711
  { 2, 14}, // #1342
1712
  { 3,  2}, // #1343
1713
  {11,  2}, // #1344
1714
  {12,  2}, // #1345
1715
  {13,  2}, // #1346
1716
  {14,  2}, // #1347
1717
  {17,  1}, // #1348
1718
  {19,  3}, // #1349
1719
  {20,  2}, // #1350
1720
  {21,  1}, // #1351
1721
  {22,  3}, // #1352
1722
  {23,  4}, // #1353
1723
  { 2, 14}, // #1354
1724
  { 3,  2}, // #1355
1725
  {11,  2}, // #1356
1726
  {12,  2}, // #1357
1727
  {13,  2}, // #1358
1728
  {14,  2}, // #1359
1729
  {19,  3}, // #1360
1730
  {20,  2}, // #1361
1731
  {22,  3}, // #1362
1732
  {23,  3}, // #1363
1733
  {14,  1}, // #1364
1734
  {17,  1}, // #1365
1735
  {20,  1}, // #1366
1736
  {21,  2}, // #1367
1737
  {22,  3}, // #1368
1738
  {23,  5}, // #1369
1739
  { 4,  2}, // #1370
1740
  {11,  2}, // #1371
1741
  {14,  3}, // #1372
1742
  {15,  3}, // #1373
1743
  {16,  2}, // #1374
1744
  {17,  1}, // #1375
1745
  {19,  3}, // #1376
1746
  {20,  3}, // #1377
1747
  {21,  2}, // #1378
1748
  {22,  9}, // #1379
1749
  {23, 11}, // #1380
1750
  { 3,  2}, // #1381
1751
  { 4,  1}, // #1382
1752
  { 9,  4}, // #1383
1753
  {11,  3}, // #1384
1754
  {12,  2}, // #1385
1755
  {13,  2}, // #1386
1756
  {14,  6}, // #1387
1757
  {15,  1}, // #1388
1758
  {16,  5}, // #1389
1759
  {18,  4}, // #1390
1760
  {19,  3}, // #1391
1761
  {20,  6}, // #1392
1762
  {22, 12}, // #1393
1763
  {23, 12}, // #1394
1764
  {17,  1}, // #1395
1765
  {21,  1}, // #1396
1766
  {22,  2}, // #1397
1767
  {23,  3}, // #1398
1768
  { 9,  1}, // #1399
1769
  {14,  1}, // #1400
1770
  {16,  1}, // #1401
1771
  {18,  1}, // #1402
1772
  {20,  1}, // #1403
1773
  {22,  3}, // #1404
1774
  {23,  3}, // #1405
1775
  { 7,  1}, // #1406
1776
  {12,  1}, // #1407
1777
  {17,  1}, // #1408
1778
  {21,  2}, // #1409
1779
  {22,  3}, // #1410
1780
  {23,  6}, // #1411
1781
  { 3,  1}, // #1412
1782
  {11,  2}, // #1413
1783
  {12,  1}, // #1414
1784
  {13,  1}, // #1415
1785
  {14,  1}, // #1416
1786
  {17,  1}, // #1417
1787
  {19,  2}, // #1418
1788
  {20,  1}, // #1419
1789
  {21,  1}, // #1420
1790
  {22,  2}, // #1421
1791
  {23,  3}, // #1422
1792
  {14,  2}, // #1423
1793
  {20,  2}, // #1424
1794
  {22, 11}, // #1425
1795
  {23, 11}, // #1426
1796
  { 7,  1}, // #1427
1797
  { 9,  1}, // #1428
1798
  {12,  1}, // #1429
1799
  {14,  1}, // #1430
1800
  {16,  1}, // #1431
1801
  {18,  1}, // #1432
1802
  {20,  1}, // #1433
1803
  {21,  1}, // #1434
1804
  {22,  1}, // #1435
1805
  {23,  3}, // #1436
1806
  { 3,  1}, // #1437
1807
  { 4,  1}, // #1438
1808
  {11,  2}, // #1439
1809
  {12,  1}, // #1440
1810
  {13,  1}, // #1441
1811
  {14,  1}, // #1442
1812
  {15,  1}, // #1443
1813
  {16,  1}, // #1444
1814
  {19,  2}, // #1445
1815
  {20,  1}, // #1446
1816
  {22,  2}, // #1447
1817
  {23,  2}, // #1448
1818
  { 9,  1}, // #1449
1819
  {14,  1}, // #1450
1820
  {16,  1}, // #1451
1821
  {18,  1}, // #1452
1822
  {20,  1}, // #1453
1823
  {22,  5}, // #1454
1824
  {23,  5}, // #1455
1825
  { 7,  1}, // #1456
1826
  {12,  1}, // #1457
1827
  {14,  4}, // #1458
1828
  {15,  2}, // #1459
1829
  {17,  1}, // #1460
1830
  {19,  2}, // #1461
1831
  {20,  4}, // #1462
1832
  {21,  2}, // #1463
1833
  {22, 11}, // #1464
1834
  {23, 14}, // #1465
1835
  { 9,  2}, // #1466
1836
  {14,  4}, // #1467
1837
  {15,  1}, // #1468
1838
  {16,  2}, // #1469
1839
  {18,  2}, // #1470
1840
  {19,  1}, // #1471
1841
  {20,  4}, // #1472
1842
  {22,  7}, // #1473
1843
  {23,  7}, // #1474
1844
  { 9,  1}, // #1475
1845
  {14,  1}, // #1476
1846
  {16,  1}, // #1477
1847
  {18,  1}, // #1478
1848
  {20,  1}, // #1479
1849
  {22,  6}, // #1480
1850
  {23,  6}, // #1481
1851
  { 3,  2}, // #1482
1852
  { 7,  1}, // #1483
1853
  { 8,  4}, // #1484
1854
  {11,  2}, // #1485
1855
  {12,  3}, // #1486
1856
  {13,  6}, // #1487
1857
  {14,  6}, // #1488
1858
  {15,  4}, // #1489
1859
  {17,  1}, // #1490
1860
  {18,  4}, // #1491
1861
  {19,  6}, // #1492
1862
  {20, 10}, // #1493
1863
  {21,  2}, // #1494
1864
  {22, 16}, // #1495
1865
  {23, 19}, // #1496
1866
  { 8,  2}, // #1497
1867
  {13,  2}, // #1498
1868
  {15,  2}, // #1499
1869
  {18,  2}, // #1500
1870
  {19,  2}, // #1501
1871
  {20,  2}, // #1502
1872
  {22, 22}, // #1503
1873
  {23, 22}, // #1504
1874
  { 7,  1}, // #1505
1875
  { 8,  1}, // #1506
1876
  { 9,  1}, // #1507
1877
  {12,  1}, // #1508
1878
  {13,  1}, // #1509
1879
  {14,  2}, // #1510
1880
  {15,  1}, // #1511
1881
  {16,  1}, // #1512
1882
  {17,  1}, // #1513
1883
  {18,  2}, // #1514
1884
  {19,  1}, // #1515
1885
  {20,  3}, // #1516
1886
  {21,  2}, // #1517
1887
  {22,  5}, // #1518
1888
  {23,  8}, // #1519
1889
  { 8,  6}, // #1520
1890
  {11,  3}, // #1521
1891
  {13,  6}, // #1522
1892
  {15,  6}, // #1523
1893
  {18,  6}, // #1524
1894
  {19,  9}, // #1525
1895
  {20,  6}, // #1526
1896
  {22, 15}, // #1527
1897
  {23, 15}, // #1528
1898
  { 8,  1}, // #1529
1899
  { 9,  5}, // #1530
1900
  {13,  1}, // #1531
1901
  {14,  9}, // #1532
1902
  {15,  1}, // #1533
1903
  {16,  5}, // #1534
1904
  {17,  2}, // #1535
1905
  {18,  6}, // #1536
1906
  {19,  1}, // #1537
1907
  {20, 10}, // #1538
1908
  {21,  3}, // #1539
1909
  {22, 20}, // #1540
1910
  {23, 23}, // #1541
1911
  { 8,  1}, // #1542
1912
  { 9,  5}, // #1543
1913
  {13,  1}, // #1544
1914
  {14,  9}, // #1545
1915
  {15,  1}, // #1546
1916
  {16,  5}, // #1547
1917
  {17,  3}, // #1548
1918
  {18,  6}, // #1549
1919
  {19,  1}, // #1550
1920
  {20, 10}, // #1551
1921
  {21,  3}, // #1552
1922
  {22, 20}, // #1553
1923
  {23, 23}, // #1554
1924
  { 8,  1}, // #1555
1925
  { 9,  1}, // #1556
1926
  {13,  1}, // #1557
1927
  {14,  2}, // #1558
1928
  {15,  1}, // #1559
1929
  {16,  1}, // #1560
1930
  {18,  2}, // #1561
1931
  {19,  1}, // #1562
1932
  {20,  3}, // #1563
1933
  {22,  8}, // #1564
1934
  {23,  8}, // #1565
1935
  { 3,  4}, // #1566
1936
  { 9,  2}, // #1567
1937
  {11,  4}, // #1568
1938
  {12,  4}, // #1569
1939
  {13,  5}, // #1570
1940
  {14,  8}, // #1571
1941
  {15,  1}, // #1572
1942
  {16,  2}, // #1573
1943
  {17, 33}, // #1574
1944
  {18,  2}, // #1575
1945
  {19,  6}, // #1576
1946
  {20,  9}, // #1577
1947
  {21, 33}, // #1578
1948
  {22, 57}, // #1579
1949
  {23, 90}, // #1580
1950
  { 9,  1}, // #1581
1951
  {14,  1}, // #1582
1952
  {16,  1}, // #1583
1953
  {17,  1}, // #1584
1954
  {18,  1}, // #1585
1955
  {20,  1}, // #1586
1956
  {21,  1}, // #1587
1957
  {22,  2}, // #1588
1958
  {23,  3}, // #1589
1959
  { 3,  1}, // #1590
1960
  {11,  1}, // #1591
1961
  {12,  1}, // #1592
1962
  {13,  1}, // #1593
1963
  {14,  1}, // #1594
1964
  {19,  1}, // #1595
1965
  {20,  1}, // #1596
1966
  {22,  2}, // #1597
1967
  {23,  2}, // #1598
1968
  {11,  1}, // #1599
1969
  {19,  2}, // #1600
1970
  {22,  2}, // #1601
1971
  {23,  2}, // #1602
1972
  {14,  1}, // #1603
1973
  {20,  1}, // #1604
1974
  {22,  3}, // #1605
1975
  {23,  3}, // #1606
1976
  { 4,  2}, // #1607
1977
  {11,  2}, // #1608
1978
  {14,  3}, // #1609
1979
  {15,  3}, // #1610
1980
  {16,  2}, // #1611
1981
  {19,  3}, // #1612
1982
  {20,  3}, // #1613
1983
  {22, 10}, // #1614
1984
  {23, 10}, // #1615
1985
  { 7,  1}, // #1616
1986
  {12,  1}, // #1617
1987
  {21,  1}, // #1618
1988
  {22,  1}, // #1619
1989
  {23,  3}, // #1620
1990
  { 7,  1}, // #1621
1991
  {12,  1}, // #1622
1992
  {14,  1}, // #1623
1993
  {20,  1}, // #1624
1994
  {21,  1}, // #1625
1995
  {22,  2}, // #1626
1996
  {23,  4}, // #1627
1997
  { 7,  1}, // #1628
1998
  { 9,  1}, // #1629
1999
  {12,  1}, // #1630
2000
  {14,  1}, // #1631
2001
  {16,  1}, // #1632
2002
  {18,  1}, // #1633
2003
  {20,  1}, // #1634
2004
  {21,  1}, // #1635
2005
  {22,  2}, // #1636
2006
  {23,  4}, // #1637
2007
  { 7,  1}, // #1638
2008
  {12,  1}, // #1639
2009
  {21,  1}, // #1640
2010
  {22,  4}, // #1641
2011
  {23,  6}, // #1642
2012
  { 9,  1}, // #1643
2013
  {14,  1}, // #1644
2014
  {16,  1}, // #1645
2015
  {18,  1}, // #1646
2016
  {20,  1}, // #1647
2017
  {22,  2}, // #1648
2018
  {23,  2}, // #1649
2019
  { 9,  1}, // #1650
2020
  {14,  1}, // #1651
2021
  {16,  1}, // #1652
2022
  {17,  1}, // #1653
2023
  {18,  1}, // #1654
2024
  {20,  1}, // #1655
2025
  {21,  1}, // #1656
2026
  {22,  1}, // #1657
2027
  {23,  2}, // #1658
2028
  { 3,  1}, // #1659
2029
  { 7,  1}, // #1660
2030
  {11,  1}, // #1661
2031
  {12,  2}, // #1662
2032
  {13,  1}, // #1663
2033
  {14,  1}, // #1664
2034
  {19,  1}, // #1665
2035
  {20,  1}, // #1666
2036
  {21,  1}, // #1667
2037
  {22,  1}, // #1668
2038
  {23,  3}, // #1669
2039
  { 4,  1}, // #1670
2040
  { 9,  1}, // #1671
2041
  {11,  1}, // #1672
2042
  {14,  2}, // #1673
2043
  {15,  1}, // #1674
2044
  {16,  2}, // #1675
2045
  {18,  1}, // #1676
2046
  {19,  1}, // #1677
2047
  {20,  2}, // #1678
2048
  {22,  4}, // #1679
2049
  {23,  4}, // #1680
2050
  { 7,  1}, // #1681
2051
  { 9,  1}, // #1682
2052
  {12,  1}, // #1683
2053
  {14,  1}, // #1684
2054
  {16,  1}, // #1685
2055
  {17,  1}, // #1686
2056
  {18,  1}, // #1687
2057
  {20,  1}, // #1688
2058
  {21,  2}, // #1689
2059
  {22,  2}, // #1690
2060
  {23,  5}, // #1691
2061
  { 7,  1}, // #1692
2062
  {12,  1}, // #1693
2063
  {17,  1}, // #1694
2064
  {21,  2}, // #1695
2065
  {22,  2}, // #1696
2066
  {23,  5}, // #1697
2067
  { 3,  1}, // #1698
2068
  { 4,  1}, // #1699
2069
  {11,  2}, // #1700
2070
  {12,  1}, // #1701
2071
  {13,  1}, // #1702
2072
  {14,  1}, // #1703
2073
  {15,  1}, // #1704
2074
  {16,  1}, // #1705
2075
  {17,  1}, // #1706
2076
  {19,  2}, // #1707
2077
  {20,  1}, // #1708
2078
  {21,  1}, // #1709
2079
  {22,  2}, // #1710
2080
  {23,  3}, // #1711
2081
  { 8,  1}, // #1712
2082
  { 9,  1}, // #1713
2083
  {13,  1}, // #1714
2084
  {14,  1}, // #1715
2085
  {15,  1}, // #1716
2086
  {16,  1}, // #1717
2087
  {18,  2}, // #1718
2088
  {19,  1}, // #1719
2089
  {20,  2}, // #1720
2090
  {22,  2}, // #1721
2091
  {23,  2}, // #1722
2092
  {14,  1}, // #1723
2093
  {17,  1}, // #1724
2094
  {20,  1}, // #1725
2095
  {21,  1}, // #1726
2096
  {22,  4}, // #1727
2097
  {23,  5}, // #1728
2098
  { 9,  1}, // #1729
2099
  {14,  1}, // #1730
2100
  {16,  1}, // #1731
2101
  {18,  1}, // #1732
2102
  {20,  1}, // #1733
2103
  {22,  1}, // #1734
2104
  {23,  1}, // #1735
2105
  { 7,  1}, // #1736
2106
  {12,  1}, // #1737
2107
  {15,  1}, // #1738
2108
  {19,  1}, // #1739
2109
  {21,  1}, // #1740
2110
  {22,  1}, // #1741
2111
  {23,  3}, // #1742
2112
  { 8,  2}, // #1743
2113
  {13,  2}, // #1744
2114
  {15,  2}, // #1745
2115
  {18,  2}, // #1746
2116
  {19,  2}, // #1747
2117
  {20,  2}, // #1748
2118
  {22,  3}, // #1749
2119
  {23,  3}, // #1750
2120
  { 8,  1}, // #1751
2121
  {13,  1}, // #1752
2122
  {15,  1}, // #1753
2123
  {17,  1}, // #1754
2124
  {18,  1}, // #1755
2125
  {19,  2}, // #1756
2126
  {20,  1}, // #1757
2127
  {21,  1}, // #1758
2128
  {22,  2}, // #1759
2129
  {23,  3}, // #1760
2130
  { 4,  2}, // #1761
2131
  { 9,  2}, // #1762
2132
  {11,  2}, // #1763
2133
  {14,  2}, // #1764
2134
  {15,  2}, // #1765
2135
  {16,  4}, // #1766
2136
  {17,  1}, // #1767
2137
  {18,  2}, // #1768
2138
  {19,  2}, // #1769
2139
  {20,  2}, // #1770
2140
  {21,  1}, // #1771
2141
  {22,  7}, // #1772
2142
  {23,  8}, // #1773
2143
  { 4,  1}, // #1774
2144
  { 9,  2}, // #1775
2145
  {11,  1}, // #1776
2146
  {14,  2}, // #1777
2147
  {15,  1}, // #1778
2148
  {16,  3}, // #1779
2149
  {17,  1}, // #1780
2150
  {18,  2}, // #1781
2151
  {19,  1}, // #1782
2152
  {20,  2}, // #1783
2153
  {21,  1}, // #1784
2154
  {22,  4}, // #1785
2155
  {23,  5}, // #1786
2156
  { 4,  1}, // #1787
2157
  { 9,  1}, // #1788
2158
  {11,  1}, // #1789
2159
  {14,  2}, // #1790
2160
  {15,  1}, // #1791
2161
  {16,  2}, // #1792
2162
  {18,  1}, // #1793
2163
  {19,  1}, // #1794
2164
  {20,  2}, // #1795
2165
  {22,  3}, // #1796
2166
  {23,  3}, // #1797
2167
  {14,  1}, // #1798
2168
  {20,  1}, // #1799
2169
  {22,  5}, // #1800
2170
  {23,  5}, // #1801
2171
  { 4,  1}, // #1802
2172
  {11,  1}, // #1803
2173
  {14,  4}, // #1804
2174
  {15,  2}, // #1805
2175
  {16,  1}, // #1806
2176
  {17,  1}, // #1807
2177
  {19,  2}, // #1808
2178
  {20,  4}, // #1809
2179
  {21,  2}, // #1810
2180
  {22,  8}, // #1811
2181
  {23, 10}, // #1812
2182
  { 4,  2}, // #1813
2183
  {11,  2}, // #1814
2184
  {14,  2}, // #1815
2185
  {15,  2}, // #1816
2186
  {16,  2}, // #1817
2187
  {19,  2}, // #1818
2188
  {20,  2}, // #1819
2189
  {22,  7}, // #1820
2190
  {23,  7}, // #1821
2191
  { 4,  1}, // #1822
2192
  {11,  1}, // #1823
2193
  {14,  4}, // #1824
2194
  {15,  2}, // #1825
2195
  {16,  1}, // #1826
2196
  {19,  2}, // #1827
2197
  {20,  4}, // #1828
2198
  {22,  9}, // #1829
2199
  {23,  9}, // #1830
2200
  { 9,  3}, // #1831
2201
  {14,  3}, // #1832
2202
  {16,  3}, // #1833
2203
  {17,  1}, // #1834
2204
  {18,  3}, // #1835
2205
  {20,  3}, // #1836
2206
  {21,  1}, // #1837
2207
  {22, 18}, // #1838
2208
  {23, 19}, // #1839
2209
  { 7,  1}, // #1840
2210
  { 9,  5}, // #1841
2211
  {12,  1}, // #1842
2212
  {14,  5}, // #1843
2213
  {16,  5}, // #1844
2214
  {17,  1}, // #1845
2215
  {18,  5}, // #1846
2216
  {20,  5}, // #1847
2217
  {21,  2}, // #1848
2218
  {22, 24}, // #1849
2219
  {23, 27}, // #1850
2220
  { 7,  1}, // #1851
2221
  { 9,  6}, // #1852
2222
  {12,  1}, // #1853
2223
  {14,  6}, // #1854
2224
  {16,  6}, // #1855
2225
  {17,  1}, // #1856
2226
  {18,  6}, // #1857
2227
  {20,  6}, // #1858
2228
  {21,  2}, // #1859
2229
  {22, 25}, // #1860
2230
  {23, 28}, // #1861
2231
  { 3,  2}, // #1862
2232
  {11,  4}, // #1863
2233
  {12,  2}, // #1864
2234
  {13,  3}, // #1865
2235
  {14, 12}, // #1866
2236
  {17,  8}, // #1867
2237
  {19,  7}, // #1868
2238
  {20, 13}, // #1869
2239
  {21,  8}, // #1870
2240
  {22, 56}, // #1871
2241
  {23, 64}, // #1872
2242
  { 3,  4}, // #1873
2243
  { 9,  4}, // #1874
2244
  {11,  4}, // #1875
2245
  {12,  4}, // #1876
2246
  {13,  5}, // #1877
2247
  {14, 10}, // #1878
2248
  {15,  1}, // #1879
2249
  {16,  4}, // #1880
2250
  {17, 31}, // #1881
2251
  {18,  4}, // #1882
2252
  {19,  6}, // #1883
2253
  {20, 11}, // #1884
2254
  {21, 31}, // #1885
2255
  {22, 57}, // #1886
2256
  {23, 88}, // #1887
2257
  { 3,  9}, // #1888
2258
  { 4,  9}, // #1889
2259
  { 7, 11}, // #1890
2260
  { 8,  8}, // #1891
2261
  { 9,  1}, // #1892
2262
  {11, 18}, // #1893
2263
  {12, 20}, // #1894
2264
  {13, 17}, // #1895
2265
  {14, 31}, // #1896
2266
  {15, 17}, // #1897
2267
  {16, 10}, // #1898
2268
  {18,  9}, // #1899
2269
  {19, 26}, // #1900
2270
  {20, 39}, // #1901
2271
  {21, 11}, // #1902
2272
  {22, 78}, // #1903
2273
  {23, 100}, // #1904
2274
  { 7,  1}, // #1905
2275
  { 8,  5}, // #1906
2276
  {12,  1}, // #1907
2277
  {13,  5}, // #1908
2278
  {15,  5}, // #1909
2279
  {17,  2}, // #1910
2280
  {18,  5}, // #1911
2281
  {19,  5}, // #1912
2282
  {20,  5}, // #1913
2283
  {21,  2}, // #1914
2284
  {22,  6}, // #1915
2285
  {23,  9}, // #1916
2286
  { 9,  1}, // #1917
2287
  {14,  1}, // #1918
2288
  {16,  1}, // #1919
2289
  {17,  1}, // #1920
2290
  {18,  1}, // #1921
2291
  {20,  1}, // #1922
2292
  {21,  1}, // #1923
2293
  {22, 17}, // #1924
2294
  {23, 18}, // #1925
2295
  { 7,  1}, // #1926
2296
  { 8,  3}, // #1927
2297
  {12,  1}, // #1928
2298
  {13,  3}, // #1929
2299
  {15,  3}, // #1930
2300
  {17,  2}, // #1931
2301
  {18,  3}, // #1932
2302
  {19,  3}, // #1933
2303
  {20,  3}, // #1934
2304
  {21,  2}, // #1935
2305
  {22,  4}, // #1936
2306
  {23,  7}, // #1937
2307
  { 7,  1}, // #1938
2308
  { 8,  3}, // #1939
2309
  {12,  1}, // #1940
2310
  {13,  3}, // #1941
2311
  {15,  3}, // #1942
2312
  {17,  4}, // #1943
2313
  {18,  3}, // #1944
2314
  {19,  3}, // #1945
2315
  {20,  3}, // #1946
2316
  {21,  4}, // #1947
2317
  {22,  4}, // #1948
2318
  {23,  9}, // #1949
2319
  { 7,  1}, // #1950
2320
  { 8,  4}, // #1951
2321
  {12,  1}, // #1952
2322
  {13,  4}, // #1953
2323
  {15,  4}, // #1954
2324
  {17,  8}, // #1955
2325
  {18,  4}, // #1956
2326
  {19,  4}, // #1957
2327
  {20,  4}, // #1958
2328
  {21,  8}, // #1959
2329
  {22,  5}, // #1960
2330
  {23, 14}, // #1961
2331
  { 9,  1}, // #1962
2332
  {16,  1}, // #1963
2333
  { 3,  1}, // #1964
2334
  {11,  1}, // #1965
2335
  {12,  2}, // #1966
2336
  {14,  1}, // #1967
2337
  { 8,  1}, // #1968
2338
  { 9,  1}, // #1969
2339
  {12,  1}, // #1970
2340
  {14,  1}, // #1971
2341
  {15,  1}, // #1972
2342
  { 9,  1}, // #1973
2343
  {10,  1}, // #1974
2344
  {11,  1}, // #1975
2345
  {12,  1}, // #1976
2346
  { 6,  1}, // #1977
2347
  { 8,  1}, // #1978
2348
  { 9,  1}, // #1979
2349
  {10,  1}, // #1980
2350
  { 3,  2}, // #1981
2351
  {11,  1}, // #1982
2352
  {12,  2}, // #1983
2353
  {14,  1}, // #1984
2354
  { 3,  2}, // #1985
2355
  {11,  1}, // #1986
2356
  {12,  1}, // #1987
2357
  { 5,  1}, // #1988
2358
  { 7,  1}, // #1989
2359
  { 9,  1}, // #1990
2360
  {10,  1}, // #1991
2361
  {11,  1}, // #1992
2362
  {12,  1}, // #1993
2363
  { 7,  1}, // #1994
2364
  { 9,  2}, // #1995
2365
  {11,  1}, // #1996
2366
  {12,  1}, // #1997
2367
  {16,  1}, // #1998
2368
  {19,  1}, // #1999
2369
  { 7,  1}, // #2000
2370
  { 9,  2}, // #2001
2371
  {16,  1}, // #2002
2372
  {19,  1}, // #2003
2373
  { 7,  1}, // #2004
2374
  { 9,  1}, // #2005
2375
  {11,  1}, // #2006
2376
  {12,  1}, // #2007
2377
  {19,  1}, // #2008
2378
  { 7,  1}, // #2009
2379
  { 9,  1}, // #2010
2380
  {19,  1}, // #2011
2381
  { 9,  4}, // #2012
2382
  {10,  4}, // #2013
2383
  {11,  1}, // #2014
2384
  {12,  1}, // #2015
2385
  { 3,  8}, // #2016
2386
  {11,  1}, // #2017
2387
  {12,  1}, // #2018
2388
  { 1,  1}, // #2019
2389
  { 3,  1}, // #2020
2390
  { 5,  1}, // #2021
2391
  { 7,  1}, // #2022
2392
  { 9,  1}, // #2023
2393
  {10,  1}, // #2024
2394
  {11,  1}, // #2025
2395
  {12,  1}, // #2026
2396
  { 3,  4}, // #2027
2397
  {11,  1}, // #2028
2398
  {12,  1}, // #2029
2399
  { 8,  1}, // #2030
2400
  { 9,  1}, // #2031
2401
  {11,  1}, // #2032
2402
  {12,  1}, // #2033
2403
  {15,  1}, // #2034
2404
  { 8,  1}, // #2035
2405
  { 9,  1}, // #2036
2406
  {15,  1}, // #2037
2407
  { 1,  1}, // #2038
2408
  { 3,  1}, // #2039
2409
  { 5,  1}, // #2040
2410
  { 7,  1}, // #2041
2411
  { 8,  1}, // #2042
2412
  { 9,  2}, // #2043
2413
  {10,  1}, // #2044
2414
  {11,  1}, // #2045
2415
  {12,  1}, // #2046
2416
  {15,  1}, // #2047
2417
  { 1,  1}, // #2048
2418
  { 3,  1}, // #2049
2419
  { 5,  1}, // #2050
2420
  { 7,  1}, // #2051
2421
  { 8,  1}, // #2052
2422
  { 9,  2}, // #2053
2423
  {10,  1}, // #2054
2424
  {15,  1}, // #2055
2425
  { 8,  1}, // #2056
2426
  { 9,  1}, // #2057
2427
  {11,  1}, // #2058
2428
  {12,  1}, // #2059
2429
  {15,  2}, // #2060
2430
  { 8,  1}, // #2061
2431
  { 9,  1}, // #2062
2432
  {15,  2}, // #2063
2433
  { 2,  1}, // #2064
2434
  { 3,  1}, // #2065
2435
  { 4, 17}, // #2066
2436
  {11,  1}, // #2067
2437
  {12,  1}, // #2068
2438
  { 2,  1}, // #2069
2439
  { 3,  1}, // #2070
2440
  { 4, 25}, // #2071
2441
  {11,  1}, // #2072
2442
  {12,  1}, // #2073
2443
  { 2,  1}, // #2074
2444
  { 3,  1}, // #2075
2445
  { 4, 41}, // #2076
2446
  {11,  1}, // #2077
2447
  {12,  1}, // #2078
2448
  { 2,  1}, // #2079
2449
  { 3,  1}, // #2080
2450
  { 4, 12}, // #2081
2451
  {11,  1}, // #2082
2452
  {12,  1}, // #2083
2453
  { 6, 19}, // #2084
2454
  { 8,  1}, // #2085
2455
  { 9,  1}, // #2086
2456
  {10, 19}, // #2087
2457
  {11,  1}, // #2088
2458
  {12,  1}, // #2089
2459
  { 5,  3}, // #2090
2460
  { 6,  3}, // #2091
2461
  { 8,  1}, // #2092
2462
  { 9,  1}, // #2093
2463
  {10,  6}, // #2094
2464
  {11,  1}, // #2095
2465
  {12,  1}, // #2096
2466
  { 9,  1}, // #2097
2467
  {11,  1}, // #2098
2468
  {12,  1}, // #2099
2469
  {16,  1}, // #2100
2470
  { 2,  1}, // #2101
2471
  { 3,  1}, // #2102
2472
  {11,  1}, // #2103
2473
  {12,  1}, // #2104
2474
  {13,  1}, // #2105
2475
  { 2,  1}, // #2106
2476
  { 3,  1}, // #2107
2477
  {13,  1}, // #2108
2478
  { 2,  1}, // #2109
2479
  { 3,  1}, // #2110
2480
  {11,  1}, // #2111
2481
  {12,  1}, // #2112
2482
  {13,  4}, // #2113
2483
  { 2,  1}, // #2114
2484
  { 3,  1}, // #2115
2485
  {13,  4}, // #2116
2486
  { 7,  1}, // #2117
2487
  { 9,  1}, // #2118
2488
  {11,  1}, // #2119
2489
  {12,  1}, // #2120
2490
  {19,  2}, // #2121
2491
  { 7,  1}, // #2122
2492
  { 9,  1}, // #2123
2493
  {19,  2}, // #2124
2494
  { 6,  2}, // #2125
2495
  { 8,  1}, // #2126
2496
  { 9,  1}, // #2127
2497
  {10,  2}, // #2128
2498
  {11,  1}, // #2129
2499
  {12,  1}, // #2130
2500
  { 6,  1}, // #2131
2501
  { 8,  1}, // #2132
2502
  { 9,  1}, // #2133
2503
  {10,  1}, // #2134
2504
  {11,  1}, // #2135
2505
  {12,  1}, // #2136
2506
  { 2,  5}, // #2137
2507
  { 3,  5}, // #2138
2508
  {11,  1}, // #2139
2509
  {12,  1}, // #2140
2510
  {13,  1}, // #2141
2511
  { 2,  5}, // #2142
2512
  { 3,  5}, // #2143
2513
  {13,  1}, // #2144
2514
  { 2,  5}, // #2145
2515
  { 3,  5}, // #2146
2516
  {11,  1}, // #2147
2517
  {12,  1}, // #2148
2518
  {13,  4}, // #2149
2519
  { 2,  5}, // #2150
2520
  { 3,  5}, // #2151
2521
  {13,  4}, // #2152
2522
  { 9,  4}, // #2153
2523
  {11,  1}, // #2154
2524
  {12,  1}, // #2155
2525
  {16,  4}, // #2156
2526
  { 9,  4}, // #2157
2527
  {16,  4}, // #2158
2528
  { 1,  1}, // #2159
2529
  { 3,  1}, // #2160
2530
  { 5,  1}, // #2161
2531
  { 8,  1}, // #2162
2532
  { 9,  1}, // #2163
2533
  {10,  1}, // #2164
2534
  {11,  3}, // #2165
2535
  {12,  5}, // #2166
2536
  {14,  2}, // #2167
2537
  {16, 10}, // #2168
2538
  {18,  4}, // #2169
2539
  { 1,  1}, // #2170
2540
  { 3,  1}, // #2171
2541
  { 5,  1}, // #2172
2542
  { 8,  1}, // #2173
2543
  { 9,  1}, // #2174
2544
  {10,  1}, // #2175
2545
  {11,  2}, // #2176
2546
  {12,  4}, // #2177
2547
  {14,  2}, // #2178
2548
  {16, 10}, // #2179
2549
  {18,  4}, // #2180
2550
  { 1,  1}, // #2181
2551
  { 3,  1}, // #2182
2552
  { 5,  1}, // #2183
2553
  { 7,  1}, // #2184
2554
  { 8,  2}, // #2185
2555
  { 9,  3}, // #2186
2556
  {10,  1}, // #2187
2557
  {11,  1}, // #2188
2558
  {12,  1}, // #2189
2559
  {16,  2}, // #2190
2560
  {18,  2}, // #2191
2561
  { 1,  1}, // #2192
2562
  { 3,  1}, // #2193
2563
  { 5,  1}, // #2194
2564
  { 7,  1}, // #2195
2565
  { 8,  2}, // #2196
2566
  { 9,  3}, // #2197
2567
  {10,  1}, // #2198
2568
  {16,  2}, // #2199
2569
  {18,  2}, // #2200
2570
  { 7,  2}, // #2201
2571
  { 9,  3}, // #2202
2572
  {11,  1}, // #2203
2573
  {12,  1}, // #2204
2574
  {16,  1}, // #2205
2575
  {19,  2}, // #2206
2576
  { 7,  2}, // #2207
2577
  { 9,  3}, // #2208
2578
  {16,  1}, // #2209
2579
  {19,  2}, // #2210
2580
  { 9,  1}, // #2211
2581
  {11,  1}, // #2212
2582
  {12,  1}, // #2213
2583
  {16,  4}, // #2214
2584
  { 9,  1}, // #2215
2585
  {16,  4}, // #2216
2586
  { 3,  1}, // #2217
2587
  {12,  1}, // #2218
2588
  {14,  1}, // #2219
2589
  { 3, 22}, // #2220
2590
  {11,  1}, // #2221
2591
  {12,  1}, // #2222
2592
  { 6, 27}, // #2223
2593
  { 8,  1}, // #2224
2594
  { 9,  1}, // #2225
2595
  {10, 27}, // #2226
2596
  {11,  1}, // #2227
2597
  {12,  1}, // #2228
2598
  { 6, 21}, // #2229
2599
  { 8,  1}, // #2230
2600
  { 9,  1}, // #2231
2601
  {10, 21}, // #2232
2602
  {11,  1}, // #2233
2603
  {12,  1}, // #2234
2604
  { 6, 35}, // #2235
2605
  { 8,  1}, // #2236
2606
  { 9,  1}, // #2237
2607
  {10, 35}, // #2238
2608
  { 5,  2}, // #2239
2609
  { 7,  2}, // #2240
2610
  { 9,  2}, // #2241
2611
  {10,  2}, // #2242
2612
  {11,  2}, // #2243
2613
  {12,  2}, // #2244
2614
  { 9,  6}, // #2245
2615
  {10,  6}, // #2246
2616
  {11,  2}, // #2247
2617
  {12,  2}, // #2248
2618
  { 9,  2}, // #2249
2619
  {10,  2}, // #2250
2620
  {11,  1}, // #2251
2621
  {12,  1}, // #2252
2622
  { 8,  2}, // #2253
2623
  { 9,  2}, // #2254
2624
  {11,  2}, // #2255
2625
  {12,  2}, // #2256
2626
  {15,  2}, // #2257
2627
  { 8,  2}, // #2258
2628
  { 9,  2}, // #2259
2629
  {15,  2}, // #2260
2630
  { 8,  2}, // #2261
2631
  { 9,  2}, // #2262
2632
  {10,  4}, // #2263
2633
  {11,  2}, // #2264
2634
  {12,  2}, // #2265
2635
  {15,  2}, // #2266
2636
  { 8,  2}, // #2267
2637
  { 9,  2}, // #2268
2638
  {10,  4}, // #2269
2639
  {15,  2}, // #2270
2640
  { 8,  2}, // #2271
2641
  { 9,  2}, // #2272
2642
  {10,  2}, // #2273
2643
  {12,  1}, // #2274
2644
  {14,  1}, // #2275
2645
  {15,  2}, // #2276
2646
  { 8,  2}, // #2277
2647
  { 9,  2}, // #2278
2648
  {10,  2}, // #2279
2649
  {15,  2}, // #2280
2650
  { 6, 38}, // #2281
2651
  { 8,  2}, // #2282
2652
  { 9,  2}, // #2283
2653
  {10, 38}, // #2284
2654
  {11,  2}, // #2285
2655
  {12,  2}, // #2286
2656
  { 5,  6}, // #2287
2657
  { 6,  6}, // #2288
2658
  { 8,  2}, // #2289
2659
  { 9,  2}, // #2290
2660
  {10, 12}, // #2291
2661
  {11,  2}, // #2292
2662
  {12,  2}, // #2293
2663
  { 9,  2}, // #2294
2664
  {10,  4}, // #2295
2665
  {12,  2}, // #2296
2666
  {14,  2}, // #2297
2667
  { 9,  4}, // #2298
2668
  {10,  4}, // #2299
2669
  {11,  2}, // #2300
2670
  {12,  2}, // #2301
2671
  { 9,  1}, // #2302
2672
  {10,  4}, // #2303
2673
  {12,  1}, // #2304
2674
  {14,  1}, // #2305
2675
  { 9,  2}, // #2306
2676
  {16,  2}, // #2307
2677
  { 8,  2}, // #2308
2678
  { 9,  2}, // #2309
2679
  {12,  2}, // #2310
2680
  {14,  2}, // #2311
2681
  {15,  2}, // #2312
2682
  { 6,  4}, // #2313
2683
  { 8,  2}, // #2314
2684
  { 9,  2}, // #2315
2685
  {10,  4}, // #2316
2686
  {11,  2}, // #2317
2687
  {12,  2}, // #2318
2688
  { 6,  2}, // #2319
2689
  { 8,  2}, // #2320
2690
  { 9,  2}, // #2321
2691
  {10,  2}, // #2322
2692
  {11,  2}, // #2323
2693
  {12,  2}, // #2324
2694
  { 9,  2}, // #2325
2695
  {10,  6}, // #2326
2696
  {11,  2}, // #2327
2697
  {12,  2}, // #2328
2698
  { 9,  1}, // #2329
2699
  {10,  4}, // #2330
2700
  {11,  1}, // #2331
2701
  {12,  1}, // #2332
2702
  { 9,  2}, // #2333
2703
  {12,  2}, // #2334
2704
  {14,  2}, // #2335
2705
  {16,  4}, // #2336
2706
  { 9,  4}, // #2337
2707
  {11,  2}, // #2338
2708
  {12,  2}, // #2339
2709
  {16,  4}, // #2340
2710
  { 9,  1}, // #2341
2711
  {12,  1}, // #2342
2712
  {14,  1}, // #2343
2713
  {16,  4}, // #2344
2714
  { 9,  2}, // #2345
2715
  {11,  1}, // #2346
2716
  {12,  1}, // #2347
2717
  {16,  2}, // #2348
2718
  { 1,  1}, // #2349
2719
  { 3,  1}, // #2350
2720
  { 5,  2}, // #2351
2721
  { 9,  2}, // #2352
2722
  {10,  4}, // #2353
2723
  {11,  2}, // #2354
2724
  {12,  2}, // #2355
2725
  { 6, 54}, // #2356
2726
  { 8,  2}, // #2357
2727
  { 9,  2}, // #2358
2728
  {10, 54}, // #2359
2729
  {11,  2}, // #2360
2730
  {12,  2}, // #2361
2731
  { 6, 42}, // #2362
2732
  { 8,  2}, // #2363
2733
  { 9,  2}, // #2364
2734
  {10, 42}, // #2365
2735
  {11,  2}, // #2366
2736
  {12,  2}, // #2367
2737
  { 9,  2}, // #2368
2738
  {10,  4}, // #2369
2739
  {11,  1}, // #2370
2740
  {12,  1}, // #2371
2741
  { 2,  1}, // #2372
2742
  { 3,  1}, // #2373
2743
  {12,  1}, // #2374
2744
  {14,  1}, // #2375
2745
  {13,  1}, // #2376
2746
  {19,  1}, // #2377
2747
  {20,  1}, // #2378
2748
  {22,  1}, // #2379
2749
  {23,  1}, // #2380
2750
  { 3,  3}, // #2381
2751
  { 8,  6}, // #2382
2752
  {11,  3}, // #2383
2753
  {12,  3}, // #2384
2754
  {13,  9}, // #2385
2755
  {14,  3}, // #2386
2756
  {15,  6}, // #2387
2757
  {17,  1}, // #2388
2758
  {18,  6}, // #2389
2759
  {19, 10}, // #2390
2760
  {20,  9}, // #2391
2761
  {21,  1}, // #2392
2762
  {22, 10}, // #2393
2763
  {23, 11}, // #2394
2764
  { 3,  3}, // #2395
2765
  { 8,  6}, // #2396
2766
  {11,  3}, // #2397
2767
  {12,  3}, // #2398
2768
  {13,  9}, // #2399
2769
  {14,  3}, // #2400
2770
  {15,  6}, // #2401
2771
  {18,  6}, // #2402
2772
  {19, 11}, // #2403
2773
  {20,  9}, // #2404
2774
  {22, 11}, // #2405
2775
  {23, 11}, // #2406
2776
  {14,  2}, // #2407
2777
  {17,  1}, // #2408
2778
  {20,  2}, // #2409
2779
  {21,  1}, // #2410
2780
  {22,  2}, // #2411
2781
  {23,  3}, // #2412
2782
  {11,  2}, // #2413
2783
  {17,  1}, // #2414
2784
  {19,  2}, // #2415
2785
  {21,  1}, // #2416
2786
  {22,  2}, // #2417
2787
  {23,  3}, // #2418
2788
  { 1, 10}, // #2419
2789
  { 3,  1}, // #2420
2790
  {11,  1}, // #2421
2791
  {12,  1}, // #2422
2792
  {13,  1}, // #2423
2793
  {14,  1}, // #2424
2794
  {17,  1}, // #2425
2795
  {19,  1}, // #2426
2796
  {20,  1}, // #2427
2797
  {21,  1}, // #2428
2798
  {22,  1}, // #2429
2799
  {23,  2}, // #2430
2800
  { 3,  7}, // #2431
2801
  { 4,  2}, // #2432
2802
  { 8,  8}, // #2433
2803
  { 9,  3}, // #2434
2804
  {11,  9}, // #2435
2805
  {12,  7}, // #2436
2806
  {13, 16}, // #2437
2807
  {14, 10}, // #2438
2808
  {15, 10}, // #2439
2809
  {16,  5}, // #2440
2810
  {18, 11}, // #2441
2811
  {19, 18}, // #2442
2812
  {20, 19}, // #2443
2813
  {22, 32}, // #2444
2814
  {23, 32}, // #2445
2815
  { 2,  4}, // #2446
2816
  { 3,  1}, // #2447
2817
  {11,  1}, // #2448
2818
  {12,  1}, // #2449
2819
  {13,  1}, // #2450
2820
  {14,  1}, // #2451
2821
  {17,  1}, // #2452
2822
  {19,  1}, // #2453
2823
  {20,  1}, // #2454
2824
  {21,  1}, // #2455
2825
  {22,  1}, // #2456
2826
  {23,  2}, // #2457
2827
  { 2,  3}, // #2458
2828
  { 3,  1}, // #2459
2829
  {11,  1}, // #2460
2830
  {12,  1}, // #2461
2831
  {13,  1}, // #2462
2832
  {14,  1}, // #2463
2833
  {17,  1}, // #2464
2834
  {19,  1}, // #2465
2835
  {20,  1}, // #2466
2836
  {21,  1}, // #2467
2837
  {22,  1}, // #2468
2838
  {23,  2}, // #2469
2839
  { 8,  1}, // #2470
2840
  {13,  1}, // #2471
2841
  {15,  1}, // #2472
2842
  {17,  1}, // #2473
2843
  {18,  1}, // #2474
2844
  {19,  3}, // #2475
2845
  {20,  1}, // #2476
2846
  {21,  1}, // #2477
2847
  {22,  3}, // #2478
2848
  {23,  4}, // #2479
2849
  { 8,  1}, // #2480
2850
  {13,  1}, // #2481
2851
  {15,  1}, // #2482
2852
  {18,  1}, // #2483
2853
  {19,  3}, // #2484
2854
  {20,  1}, // #2485
2855
  {22,  3}, // #2486
2856
  {23,  3}, // #2487
2857
  { 8,  1}, // #2488
2858
  {13,  1}, // #2489
2859
  {15,  1}, // #2490
2860
  {17,  1}, // #2491
2861
  {18,  1}, // #2492
2862
  {19,  4}, // #2493
2863
  {20,  1}, // #2494
2864
  {21,  1}, // #2495
2865
  {22,  4}, // #2496
2866
  {23,  5}, // #2497
2867
  { 8,  1}, // #2498
2868
  {13,  1}, // #2499
2869
  {15,  1}, // #2500
2870
  {18,  1}, // #2501
2871
  {19,  4}, // #2502
2872
  {20,  1}, // #2503
2873
  {22,  4}, // #2504
2874
  {23,  4}, // #2505
2875
  {13,  9}, // #2506
2876
  {19,  9}, // #2507
2877
  {20,  9}, // #2508
2878
  {22, 10}, // #2509
2879
  {23, 10}, // #2510
2880
  {13,  2}, // #2511
2881
  {19,  2}, // #2512
2882
  {20,  2}, // #2513
2883
  {22,  2}, // #2514
2884
  {23,  2}, // #2515
2885
  { 8,  2}, // #2516
2886
  {13,  2}, // #2517
2887
  {15,  2}, // #2518
2888
  {17,  1}, // #2519
2889
  {18,  2}, // #2520
2890
  {19,  3}, // #2521
2891
  {20,  2}, // #2522
2892
  {21,  1}, // #2523
2893
  {22,  3}, // #2524
2894
  {23,  4}, // #2525
2895
  { 8,  2}, // #2526
2896
  {13,  2}, // #2527
2897
  {15,  2}, // #2528
2898
  {18,  2}, // #2529
2899
  {19,  3}, // #2530
2900
  {20,  2}, // #2531
2901
  {22,  3}, // #2532
2902
  {23,  3}, // #2533
2903
  { 3,  2}, // #2534
2904
  { 8,  4}, // #2535
2905
  {11,  2}, // #2536
2906
  {12,  2}, // #2537
2907
  {13,  6}, // #2538
2908
  {14,  2}, // #2539
2909
  {15,  4}, // #2540
2910
  {17,  1}, // #2541
2911
  {18,  4}, // #2542
2912
  {19,  6}, // #2543
2913
  {20,  6}, // #2544
2914
  {21,  1}, // #2545
2915
  {22,  7}, // #2546
2916
  {23,  8}, // #2547
2917
  { 3,  4}, // #2548
2918
  { 4,  2}, // #2549
2919
  { 8,  4}, // #2550
2920
  { 9,  8}, // #2551
2921
  {11,  6}, // #2552
2922
  {12,  4}, // #2553
2923
  {13,  8}, // #2554
2924
  {14, 26}, // #2555
2925
  {15,  6}, // #2556
2926
  {16, 10}, // #2557
2927
  {18, 12}, // #2558
2928
  {19, 10}, // #2559
2929
  {20, 30}, // #2560
2930
  {22, 66}, // #2561
2931
  {23, 66}, // #2562
2932
  {13,  1}, // #2563
2933
  {17,  1}, // #2564
2934
  {19,  1}, // #2565
2935
  {20,  1}, // #2566
2936
  {21,  1}, // #2567
2937
  {22,  1}, // #2568
2938
  {23,  2}, // #2569
2939
  { 8,  2}, // #2570
2940
  {13,  3}, // #2571
2941
  {15,  2}, // #2572
2942
  {17,  1}, // #2573
2943
  {18,  2}, // #2574
2944
  {19,  3}, // #2575
2945
  {20,  3}, // #2576
2946
  {21,  1}, // #2577
2947
  {22,  3}, // #2578
2948
  {23,  4}, // #2579
2949
  { 8,  2}, // #2580
2950
  {13,  3}, // #2581
2951
  {15,  2}, // #2582
2952
  {18,  2}, // #2583
2953
  {19,  3}, // #2584
2954
  {20,  3}, // #2585
2955
  {22,  3}, // #2586
2956
  {23,  3}, // #2587
2957
  { 8,  1}, // #2588
2958
  {11,  1}, // #2589
2959
  {13,  1}, // #2590
2960
  {15,  1}, // #2591
2961
  {18,  1}, // #2592
2962
  {19,  2}, // #2593
2963
  {20,  1}, // #2594
2964
  {22,  2}, // #2595
2965
  {23,  2}, // #2596
2966
  { 7,  1}, // #2597
2967
  {12,  1}, // #2598
2968
  {14,  3}, // #2599
2969
  {17,  1}, // #2600
2970
  {20,  3}, // #2601
2971
  {21,  2}, // #2602
2972
  {22,  3}, // #2603
2973
  {23,  6}, // #2604
2974
  {14,  3}, // #2605
2975
  {20,  3}, // #2606
2976
  {22,  3}, // #2607
2977
  {23,  3}, // #2608
2978
  { 4,  1}, // #2609
2979
  {11,  1}, // #2610
2980
  {14,  2}, // #2611
2981
  {15,  1}, // #2612
2982
  {16,  1}, // #2613
2983
  {17,  1}, // #2614
2984
  {19,  1}, // #2615
2985
  {20,  2}, // #2616
2986
  {21,  2}, // #2617
2987
  {22,  4}, // #2618
2988
  {23,  6}, // #2619
2989
  { 4,  1}, // #2620
2990
  {11,  1}, // #2621
2991
  {14,  2}, // #2622
2992
  {15,  1}, // #2623
2993
  {16,  1}, // #2624
2994
  {19,  1}, // #2625
2995
  {20,  2}, // #2626
2996
  {22,  4}, // #2627
2997
  {23,  4}, // #2628
2998
  { 2,  6}, // #2629
2999
  { 3,  1}, // #2630
3000
  {11,  1}, // #2631
3001
  {12,  1}, // #2632
3002
  {13,  1}, // #2633
3003
  {14,  1}, // #2634
3004
  {17,  1}, // #2635
3005
  {19,  1}, // #2636
3006
  {20,  1}, // #2637
3007
  {21,  1}, // #2638
3008
  {22,  1}, // #2639
3009
  {23,  2}, // #2640
3010
  { 2,  6}, // #2641
3011
  { 3,  1}, // #2642
3012
  {11,  1}, // #2643
3013
  {12,  1}, // #2644
3014
  {13,  1}, // #2645
3015
  {14,  1}, // #2646
3016
  {19,  1}, // #2647
3017
  {20,  1}, // #2648
3018
  {22,  1}, // #2649
3019
  {23,  1}, // #2650
3020
  { 8,  1}, // #2651
3021
  {11,  1}, // #2652
3022
  {13,  1}, // #2653
3023
  {15,  1}, // #2654
3024
  {17,  1}, // #2655
3025
  {18,  1}, // #2656
3026
  {19,  2}, // #2657
3027
  {20,  1}, // #2658
3028
  {21,  1}, // #2659
3029
  {22,  2}, // #2660
3030
  {23,  3}, // #2661
3031
  {13,  2}, // #2662
3032
  {17,  1}, // #2663
3033
  {19,  2}, // #2664
3034
  {20,  2}, // #2665
3035
  {21,  1}, // #2666
3036
  {22,  2}, // #2667
3037
  {23,  3}, // #2668
3038
  { 7,  1}, // #2669
3039
  { 8,  1}, // #2670
3040
  {11,  1}, // #2671
3041
  {12,  1}, // #2672
3042
  {13,  1}, // #2673
3043
  {15,  1}, // #2674
3044
  {18,  1}, // #2675
3045
  {19,  2}, // #2676
3046
  {20,  1}, // #2677
3047
  {21,  1}, // #2678
3048
  {22,  2}, // #2679
3049
  {23,  4}, // #2680
3050
  { 7,  1}, // #2681
3051
  { 8,  1}, // #2682
3052
  {12,  1}, // #2683
3053
  {13,  2}, // #2684
3054
  {15,  1}, // #2685
3055
  {18,  1}, // #2686
3056
  {19,  2}, // #2687
3057
  {20,  2}, // #2688
3058
  {21,  1}, // #2689
3059
  {22,  2}, // #2690
3060
  {23,  4}, // #2691
3061
  { 8,  1}, // #2692
3062
  {13,  2}, // #2693
3063
  {15,  1}, // #2694
3064
  {18,  1}, // #2695
3065
  {19,  2}, // #2696
3066
  {20,  2}, // #2697
3067
  {22,  2}, // #2698
3068
  {23,  2}, // #2699
3069
  { 2, 16}, // #2700
3070
  { 3,  2}, // #2701
3071
  { 8,  1}, // #2702
3072
  {11,  2}, // #2703
3073
  {12,  2}, // #2704
3074
  {13,  3}, // #2705
3075
  {14,  2}, // #2706
3076
  {15,  1}, // #2707
3077
  {17,  1}, // #2708
3078
  {18,  1}, // #2709
3079
  {19,  3}, // #2710
3080
  {20,  3}, // #2711
3081
  {21,  1}, // #2712
3082
  {22,  3}, // #2713
3083
  {23,  4}, // #2714
3084
  { 2, 16}, // #2715
3085
  { 3,  2}, // #2716
3086
  { 8,  1}, // #2717
3087
  {11,  2}, // #2718
3088
  {12,  2}, // #2719
3089
  {13,  3}, // #2720
3090
  {14,  2}, // #2721
3091
  {15,  1}, // #2722
3092
  {18,  1}, // #2723
3093
  {19,  3}, // #2724
3094
  {20,  3}, // #2725
3095
  {22,  3}, // #2726
3096
  {23,  3}, // #2727
3097
  { 2, 10}, // #2728
3098
  { 3,  2}, // #2729
3099
  { 8,  1}, // #2730
3100
  {11,  2}, // #2731
3101
  {12,  2}, // #2732
3102
  {13,  3}, // #2733
3103
  {14,  2}, // #2734
3104
  {15,  1}, // #2735
3105
  {17,  1}, // #2736
3106
  {18,  1}, // #2737
3107
  {19,  3}, // #2738
3108
  {20,  3}, // #2739
3109
  {21,  1}, // #2740
3110
  {22,  3}, // #2741
3111
  {23,  4}, // #2742
3112
  { 2, 10}, // #2743
3113
  { 3,  2}, // #2744
3114
  { 8,  1}, // #2745
3115
  {11,  2}, // #2746
3116
  {12,  2}, // #2747
3117
  {13,  3}, // #2748
3118
  {14,  2}, // #2749
3119
  {15,  1}, // #2750
3120
  {18,  1}, // #2751
3121
  {19,  3}, // #2752
3122
  {20,  3}, // #2753
3123
  {22,  3}, // #2754
3124
  {23,  3}, // #2755
3125
  { 3,  1}, // #2756
3126
  {11,  1}, // #2757
3127
  {12,  1}, // #2758
3128
  {13,  1}, // #2759
3129
  {14,  1}, // #2760
3130
  {19,  1}, // #2761
3131
  {20,  1}, // #2762
3132
  {21,  1}, // #2763
3133
  {22,  1}, // #2764
3134
  {23,  2}, // #2765
3135
  { 2, 12}, // #2766
3136
  { 3,  1}, // #2767
3137
  {11,  1}, // #2768
3138
  {12,  1}, // #2769
3139
  {13,  1}, // #2770
3140
  {14,  1}, // #2771
3141
  {17,  1}, // #2772
3142
  {19,  1}, // #2773
3143
  {20,  1}, // #2774
3144
  {21,  1}, // #2775
3145
  {22,  1}, // #2776
3146
  {23,  2}, // #2777
3147
  { 2, 12}, // #2778
3148
  { 3,  1}, // #2779
3149
  {11,  1}, // #2780
3150
  {12,  1}, // #2781
3151
  {13,  1}, // #2782
3152
  {14,  1}, // #2783
3153
  {19,  1}, // #2784
3154
  {20,  1}, // #2785
3155
  {22,  1}, // #2786
3156
  {23,  1}, // #2787
3157
  { 2, 24}, // #2788
3158
  { 3,  2}, // #2789
3159
  { 8,  1}, // #2790
3160
  {11,  2}, // #2791
3161
  {12,  2}, // #2792
3162
  {13,  3}, // #2793
3163
  {14,  2}, // #2794
3164
  {15,  1}, // #2795
3165
  {17,  1}, // #2796
3166
  {18,  1}, // #2797
3167
  {19,  3}, // #2798
3168
  {20,  3}, // #2799
3169
  {21,  1}, // #2800
3170
  {22,  3}, // #2801
3171
  {23,  4}, // #2802
3172
  { 2, 24}, // #2803
3173
  { 3,  2}, // #2804
3174
  { 8,  1}, // #2805
3175
  {11,  2}, // #2806
3176
  {12,  2}, // #2807
3177
  {13,  3}, // #2808
3178
  {14,  2}, // #2809
3179
  {15,  1}, // #2810
3180
  {18,  1}, // #2811
3181
  {19,  3}, // #2812
3182
  {20,  3}, // #2813
3183
  {22,  3}, // #2814
3184
  {23,  3}, // #2815
3185
  { 2, 12}, // #2816
3186
  { 3,  2}, // #2817
3187
  { 8,  1}, // #2818
3188
  {11,  2}, // #2819
3189
  {12,  2}, // #2820
3190
  {13,  3}, // #2821
3191
  {14,  2}, // #2822
3192
  {15,  1}, // #2823
3193
  {17,  1}, // #2824
3194
  {18,  1}, // #2825
3195
  {19,  3}, // #2826
3196
  {20,  3}, // #2827
3197
  {21,  1}, // #2828
3198
  {22,  3}, // #2829
3199
  {23,  4}, // #2830
3200
  { 2, 12}, // #2831
3201
  { 3,  2}, // #2832
3202
  { 8,  1}, // #2833
3203
  {11,  2}, // #2834
3204
  {12,  2}, // #2835
3205
  {13,  3}, // #2836
3206
  {14,  2}, // #2837
3207
  {15,  1}, // #2838
3208
  {18,  1}, // #2839
3209
  {19,  3}, // #2840
3210
  {20,  3}, // #2841
3211
  {22,  3}, // #2842
3212
  {23,  3}, // #2843
3213
  { 4,  2}, // #2844
3214
  {11,  2}, // #2845
3215
  {14,  4}, // #2846
3216
  {15,  3}, // #2847
3217
  {16,  2}, // #2848
3218
  {17,  1}, // #2849
3219
  {19,  3}, // #2850
3220
  {20,  4}, // #2851
3221
  {21,  2}, // #2852
3222
  {22,  9}, // #2853
3223
  {23, 11}, // #2854
3224
  { 8,  1}, // #2855
3225
  {13,  1}, // #2856
3226
  {15,  1}, // #2857
3227
  {18,  1}, // #2858
3228
  {19,  2}, // #2859
3229
  {20,  1}, // #2860
3230
  {22,  2}, // #2861
3231
  {23,  2}, // #2862
3232
  { 3,  2}, // #2863
3233
  { 4,  1}, // #2864
3234
  { 8,  2}, // #2865
3235
  { 9,  4}, // #2866
3236
  {11,  3}, // #2867
3237
  {12,  2}, // #2868
3238
  {13,  6}, // #2869
3239
  {14,  6}, // #2870
3240
  {15,  3}, // #2871
3241
  {16,  5}, // #2872
3242
  {18,  6}, // #2873
3243
  {19,  7}, // #2874
3244
  {20, 10}, // #2875
3245
  {22, 15}, // #2876
3246
  {23, 15}, // #2877
3247
  { 7,  1}, // #2878
3248
  { 9,  1}, // #2879
3249
  {12,  1}, // #2880
3250
  {14,  2}, // #2881
3251
  {16,  1}, // #2882
3252
  {17,  1}, // #2883
3253
  {18,  1}, // #2884
3254
  {20,  2}, // #2885
3255
  {21,  2}, // #2886
3256
  {22,  5}, // #2887
3257
  {23,  8}, // #2888
3258
  { 3,  1}, // #2889
3259
  {11,  1}, // #2890
3260
  {12,  1}, // #2891
3261
  {13,  2}, // #2892
3262
  {14,  1}, // #2893
3263
  {17,  1}, // #2894
3264
  {19,  2}, // #2895
3265
  {20,  2}, // #2896
3266
  {21,  1}, // #2897
3267
  {22,  2}, // #2898
3268
  {23,  3}, // #2899
3269
  { 3,  1}, // #2900
3270
  { 8,  1}, // #2901
3271
  {11,  1}, // #2902
3272
  {12,  1}, // #2903
3273
  {13,  2}, // #2904
3274
  {14,  1}, // #2905
3275
  {15,  1}, // #2906
3276
  {18,  1}, // #2907
3277
  {19,  3}, // #2908
3278
  {20,  2}, // #2909
3279
  {22,  3}, // #2910
3280
  {23,  3}, // #2911
3281
  { 3,  1}, // #2912
3282
  { 8,  1}, // #2913
3283
  {11,  1}, // #2914
3284
  {12,  1}, // #2915
3285
  {13,  2}, // #2916
3286
  {14,  1}, // #2917
3287
  {15,  1}, // #2918
3288
  {17,  1}, // #2919
3289
  {18,  1}, // #2920
3290
  {19,  3}, // #2921
3291
  {20,  2}, // #2922
3292
  {21,  1}, // #2923
3293
  {22,  3}, // #2924
3294
  {23,  4}, // #2925
3295
  { 9,  1}, // #2926
3296
  {14,  1}, // #2927
3297
  {16,  1}, // #2928
3298
  {18,  1}, // #2929
3299
  {20,  1}, // #2930
3300
  {22,  4}, // #2931
3301
  {23,  4}, // #2932
3302
  { 9,  1}, // #2933
3303
  {14,  4}, // #2934
3304
  {15,  1}, // #2935
3305
  {16,  1}, // #2936
3306
  {18,  1}, // #2937
3307
  {19,  1}, // #2938
3308
  {20,  4}, // #2939
3309
  {22,  7}, // #2940
3310
  {23,  7}, // #2941
3311
  { 8,  1}, // #2942
3312
  { 9,  2}, // #2943
3313
  {13,  1}, // #2944
3314
  {14,  2}, // #2945
3315
  {15,  1}, // #2946
3316
  {16,  2}, // #2947
3317
  {18,  3}, // #2948
3318
  {19,  1}, // #2949
3319
  {20,  3}, // #2950
3320
  {22, 10}, // #2951
3321
  {23, 10}, // #2952
3322
  { 8,  6}, // #2953
3323
  {13,  9}, // #2954
3324
  {15,  6}, // #2955
3325
  {18,  6}, // #2956
3326
  {19,  9}, // #2957
3327
  {20,  9}, // #2958
3328
  {22, 15}, // #2959
3329
  {23, 15}, // #2960
3330
  { 4,  2}, // #2961
3331
  {11,  2}, // #2962
3332
  {14,  4}, // #2963
3333
  {15,  3}, // #2964
3334
  {16,  2}, // #2965
3335
  {19,  3}, // #2966
3336
  {20,  4}, // #2967
3337
  {22, 10}, // #2968
3338
  {23, 10}, // #2969
3339
  { 7,  1}, // #2970
3340
  {12,  1}, // #2971
3341
  {14,  2}, // #2972
3342
  {20,  2}, // #2973
3343
  {21,  1}, // #2974
3344
  {22,  2}, // #2975
3345
  {23,  4}, // #2976
3346
  { 4,  1}, // #2977
3347
  { 9,  5}, // #2978
3348
  {11,  1}, // #2979
3349
  {13,  4}, // #2980
3350
  {14,  5}, // #2981
3351
  {15,  1}, // #2982
3352
  {16,  6}, // #2983
3353
  {18,  5}, // #2984
3354
  {19,  5}, // #2985
3355
  {20,  9}, // #2986
3356
  {22, 10}, // #2987
3357
  {23, 10}, // #2988
3358
  { 4,  1}, // #2989
3359
  { 9,  1}, // #2990
3360
  {11,  1}, // #2991
3361
  {14,  1}, // #2992
3362
  {15,  1}, // #2993
3363
  {16,  2}, // #2994
3364
  {18,  1}, // #2995
3365
  {19,  1}, // #2996
3366
  {20,  1}, // #2997
3367
  {22,  4}, // #2998
3368
  {23,  4}, // #2999
3369
  { 4,  1}, // #3000
3370
  {11,  1}, // #3001
3371
  {14,  5}, // #3002
3372
  {15,  2}, // #3003
3373
  {16,  1}, // #3004
3374
  {17,  1}, // #3005
3375
  {19,  2}, // #3006
3376
  {20,  5}, // #3007
3377
  {21,  2}, // #3008
3378
  {22,  8}, // #3009
3379
  {23, 10}, // #3010
3380
  { 4,  2}, // #3011
3381
  {11,  2}, // #3012
3382
  {14,  3}, // #3013
3383
  {15,  2}, // #3014
3384
  {16,  2}, // #3015
3385
  {19,  2}, // #3016
3386
  {20,  3}, // #3017
3387
  {22,  7}, // #3018
3388
  {23,  7}, // #3019
3389
  { 4,  1}, // #3020
3390
  {11,  1}, // #3021
3391
  {14,  5}, // #3022
3392
  {15,  2}, // #3023
3393
  {16,  1}, // #3024
3394
  {19,  2}, // #3025
3395
  {20,  5}, // #3026
3396
  {22,  9}, // #3027
3397
  {23,  9}, // #3028
3398
  { 4,  1}, // #3029
3399
  { 9,  8}, // #3030
3400
  {11,  1}, // #3031
3401
  {14,  8}, // #3032
3402
  {15,  1}, // #3033
3403
  {16,  9}, // #3034
3404
  {17,  1}, // #3035
3405
  {18,  8}, // #3036
3406
  {19,  1}, // #3037
3407
  {20,  8}, // #3038
3408
  {21,  1}, // #3039
3409
  {22, 30}, // #3040
3410
  {23, 31}, // #3041
3411
  { 7,  1}, // #3042
3412
  { 9, 10}, // #3043
3413
  {12,  1}, // #3044
3414
  {14, 10}, // #3045
3415
  {16, 10}, // #3046
3416
  {17,  1}, // #3047
3417
  {18, 10}, // #3048
3418
  {20, 10}, // #3049
3419
  {21,  2}, // #3050
3420
  {22, 36}, // #3051
3421
  {23, 39}, // #3052
3422
  { 7,  1}, // #3053
3423
  { 9, 11}, // #3054
3424
  {12,  1}, // #3055
3425
  {14, 11}, // #3056
3426
  {16, 11}, // #3057
3427
  {17,  1}, // #3058
3428
  {18, 11}, // #3059
3429
  {20, 11}, // #3060
3430
  {21,  2}, // #3061
3431
  {22, 37}, // #3062
3432
  {23, 40}, // #3063
3433
  { 4,  1}, // #3064
3434
  { 7,  1}, // #3065
3435
  { 8,  2}, // #3066
3436
  { 9,  3}, // #3067
3437
  {11,  1}, // #3068
3438
  {12,  1}, // #3069
3439
  {13,  2}, // #3070
3440
  {14,  3}, // #3071
3441
  {15,  4}, // #3072
3442
  {16,  4}, // #3073
3443
  {17,  1}, // #3074
3444
  {18,  5}, // #3075
3445
  {19,  4}, // #3076
3446
  {20,  5}, // #3077
3447
  {21,  2}, // #3078
3448
  {22, 15}, // #3079
3449
  {23, 18}, // #3080
3450
  { 3,  2}, // #3081
3451
  {11,  2}, // #3082
3452
  {12,  2}, // #3083
3453
  {13,  7}, // #3084
3454
  {14, 12}, // #3085
3455
  {17,  8}, // #3086
3456
  {19,  7}, // #3087
3457
  {20, 17}, // #3088
3458
  {21,  8}, // #3089
3459
  {22, 56}, // #3090
3460
  {23, 64}, // #3091
3461
  { 3,  9}, // #3092
3462
  { 4,  1}, // #3093
3463
  { 7, 11}, // #3094
3464
  { 8, 16}, // #3095
3465
  { 9,  1}, // #3096
3466
  {11, 10}, // #3097
3467
  {12, 20}, // #3098
3468
  {13, 25}, // #3099
3469
  {14, 31}, // #3100
3470
  {15, 17}, // #3101
3471
  {16,  2}, // #3102
3472
  {18, 17}, // #3103
3473
  {19, 26}, // #3104
3474
  {20, 47}, // #3105
3475
  {21, 11}, // #3106
3476
  {22, 78}, // #3107
3477
  {23, 100}, // #3108
3478
  { 3,  1}, // #3109
3479
  { 8,  1}, // #3110
3480
  {11,  1}, // #3111
3481
  {12,  1}, // #3112
3482
  {13,  2}, // #3113
3483
  {14,  1}, // #3114
3484
  {15,  1}, // #3115
3485
  {17,  2}, // #3116
3486
  {18,  1}, // #3117
3487
  {19,  3}, // #3118
3488
  {20,  2}, // #3119
3489
  {21,  2}, // #3120
3490
  {22,  3}, // #3121
3491
  {23,  5}, // #3122
3492
  { 8,  2}, // #3123
3493
  {11,  1}, // #3124
3494
  {13,  2}, // #3125
3495
  {15,  2}, // #3126
3496
  {18,  2}, // #3127
3497
  {19,  3}, // #3128
3498
  {20,  2}, // #3129
3499
  {22,  3}, // #3130
3500
  {23,  3}, // #3131
3501
  { 8,  2}, // #3132
3502
  {11,  1}, // #3133
3503
  {13,  2}, // #3134
3504
  {15,  2}, // #3135
3505
  {17,  1}, // #3136
3506
  {18,  2}, // #3137
3507
  {19,  3}, // #3138
3508
  {20,  2}, // #3139
3509
  {21,  1}, // #3140
3510
  {22,  3}, // #3141
3511
  {23,  4}, // #3142
3512
  { 7,  2}, // #3143
3513
  {12,  2}, // #3144
3514
  {15,  1}, // #3145
3515
  {19,  1}, // #3146
3516
  {21,  2}, // #3147
3517
  {22,  1}, // #3148
3518
  {23,  5}, // #3149
3519
  { 7,  1}, // #3150
3520
  {12,  1}, // #3151
3521
  {19,  1}, // #3152
3522
  {21,  1}, // #3153
3523
  {22,  1}, // #3154
3524
  {23,  3}, // #3155
3525
  { 7,  1}, // #3156
3526
  { 8,  2}, // #3157
3527
  {12,  1}, // #3158
3528
  {13,  2}, // #3159
3529
  {15,  2}, // #3160
3530
  {18,  2}, // #3161
3531
  {19,  2}, // #3162
3532
  {20,  2}, // #3163
3533
  {21,  1}, // #3164
3534
  {22,  2}, // #3165
3535
  {23,  4}, // #3166
3536
  { 8,  1}, // #3167
3537
  {13,  1}, // #3168
3538
  {15,  1}, // #3169
3539
  {17,  1}, // #3170
3540
  {18,  1}, // #3171
3541
  {19,  1}, // #3172
3542
  {20,  1}, // #3173
3543
  {21,  1}, // #3174
3544
  {22,  2}, // #3175
3545
  {23,  3}, // #3176
3546
  { 3,  1}, // #3177
3547
  { 7,  2}, // #3178
3548
  {11,  1}, // #3179
3549
  {12,  3}, // #3180
3550
  {13,  1}, // #3181
3551
  {14,  1}, // #3182
3552
  {19,  1}, // #3183
3553
  {20,  1}, // #3184
3554
  {21,  2}, // #3185
3555
  {22,  3}, // #3186
3556
  {23,  7}, // #3187
3557
  { 3,  1}, // #3188
3558
  { 7,  4}, // #3189
3559
  {11,  1}, // #3190
3560
  {12,  5}, // #3191
3561
  {13,  1}, // #3192
3562
  {14,  1}, // #3193
3563
  {19,  1}, // #3194
3564
  {20,  1}, // #3195
3565
  {21,  4}, // #3196
3566
  {22,  3}, // #3197
3567
  {23, 11}, // #3198
3568
  { 3,  1}, // #3199
3569
  { 7,  8}, // #3200
3570
  {11,  1}, // #3201
3571
  {12,  9}, // #3202
3572
  {13,  1}, // #3203
3573
  {14,  1}, // #3204
3574
  {19,  1}, // #3205
3575
  {20,  1}, // #3206
3576
  {21,  8}, // #3207
3577
  {22,  3}, // #3208
3578
  {23, 19}, // #3209
3579
  { 3,  1}, // #3210
3580
  { 7, 16}, // #3211
3581
  { 8,  1}, // #3212
3582
  {11,  1}, // #3213
3583
  {12, 17}, // #3214
3584
  {13,  2}, // #3215
3585
  {14,  1}, // #3216
3586
  {15,  1}, // #3217
3587
  {18,  1}, // #3218
3588
  {19,  2}, // #3219
3589
  {20,  2}, // #3220
3590
  {21, 16}, // #3221
3591
  {22,  4}, // #3222
3592
  {23, 36}, // #3223
3593
  { 3,  1}, // #3224
3594
  { 7,  2}, // #3225
3595
  { 8,  1}, // #3226
3596
  {11,  1}, // #3227
3597
  {12,  3}, // #3228
3598
  {13,  2}, // #3229
3599
  {14,  1}, // #3230
3600
  {15,  1}, // #3231
3601
  {18,  1}, // #3232
3602
  {19,  2}, // #3233
3603
  {20,  2}, // #3234
3604
  {21,  2}, // #3235
3605
  {22,  4}, // #3236
3606
  {23,  8}, // #3237
3607
  { 3,  1}, // #3238
3608
  { 7,  4}, // #3239
3609
  { 8,  1}, // #3240
3610
  {11,  1}, // #3241
3611
  {12,  5}, // #3242
3612
  {13,  2}, // #3243
3613
  {14,  1}, // #3244
3614
  {15,  1}, // #3245
3615
  {18,  1}, // #3246
3616
  {19,  2}, // #3247
3617
  {20,  2}, // #3248
3618
  {21,  4}, // #3249
3619
  {22,  4}, // #3250
3620
  {23, 12}, // #3251
3621
  { 3,  1}, // #3252
3622
  { 7,  8}, // #3253
3623
  { 8,  1}, // #3254
3624
  {11,  1}, // #3255
3625
  {12,  9}, // #3256
3626
  {13,  2}, // #3257
3627
  {14,  1}, // #3258
3628
  {15,  1}, // #3259
3629
  {18,  1}, // #3260
3630
  {19,  2}, // #3261
3631
  {20,  2}, // #3262
3632
  {21,  8}, // #3263
3633
  {22,  4}, // #3264
3634
  {23, 20}, // #3265
3635
  {11,  3}, // #3266
3636
  {19,  3}, // #3267
3637
  {22,  3}, // #3268
3638
  {23,  3}, // #3269
3639
  {13,  3}, // #3270
3640
  {19,  3}, // #3271
3641
  {20,  3}, // #3272
3642
  {22,  3}, // #3273
3643
  {23,  3}, // #3274
3644
  { 3,  1}, // #3275
3645
  {11,  1}, // #3276
3646
  {12,  1}, // #3277
3647
  {13,  1}, // #3278
3648
  {14,  1}, // #3279
3649
  {17,  1}, // #3280
3650
  {19,  2}, // #3281
3651
  {20,  1}, // #3282
3652
  {21,  1}, // #3283
3653
  {22,  2}, // #3284
3654
  {23,  3}, // #3285
3655
  { 4,  1}, // #3286
3656
  { 8,  2}, // #3287
3657
  {11,  3}, // #3288
3658
  {13,  2}, // #3289
3659
  {15,  3}, // #3290
3660
  {16,  1}, // #3291
3661
  {17,  1}, // #3292
3662
  {18,  2}, // #3293
3663
  {19,  7}, // #3294
3664
  {20,  2}, // #3295
3665
  {21,  1}, // #3296
3666
  {22,  7}, // #3297
3667
  {23,  8}, // #3298
3668
  {17,  1}, // #3299
3669
  {19,  3}, // #3300
3670
  {21,  1}, // #3301
3671
  {22,  3}, // #3302
3672
  {23,  4}, // #3303
3673
  { 3,  1}, // #3304
3674
  {11,  1}, // #3305
3675
  {12,  1}, // #3306
3676
  {13,  1}, // #3307
3677
  {14,  1}, // #3308
3678
  {17,  2}, // #3309
3679
  {19,  2}, // #3310
3680
  {20,  1}, // #3311
3681
  {21,  2}, // #3312
3682
  {22,  3}, // #3313
3683
  {23,  5}, // #3314
3684
  { 8,  5}, // #3315
3685
  {11,  5}, // #3316
3686
  {13,  5}, // #3317
3687
  {15,  5}, // #3318
3688
  {18,  5}, // #3319
3689
  {19, 14}, // #3320
3690
  {20,  5}, // #3321
3691
  {22, 14}, // #3322
3692
  {23, 14}, // #3323
3693
  { 8,  5}, // #3324
3694
  {11,  5}, // #3325
3695
  {13,  5}, // #3326
3696
  {15,  5}, // #3327
3697
  {17,  1}, // #3328
3698
  {18,  5}, // #3329
3699
  {19, 14}, // #3330
3700
  {20,  5}, // #3331
3701
  {21,  1}, // #3332
3702
  {22, 14}, // #3333
3703
  {23, 15}, // #3334
3704
  { 8,  9}, // #3335
3705
  {11,  7}, // #3336
3706
  {13,  9}, // #3337
3707
  {15,  9}, // #3338
3708
  {18,  9}, // #3339
3709
  {19, 21}, // #3340
3710
  {20,  9}, // #3341
3711
  {22, 21}, // #3342
3712
  {23, 21}, // #3343
3713
  { 8,  9}, // #3344
3714
  {11,  7}, // #3345
3715
  {13,  9}, // #3346
3716
  {15,  9}, // #3347
3717
  {17,  1}, // #3348
3718
  {18,  9}, // #3349
3719
  {19, 21}, // #3350
3720
  {20,  9}, // #3351
3721
  {21,  1}, // #3352
3722
  {22, 21}, // #3353
3723
  {23, 22}, // #3354
3724
  { 8, 17}, // #3355
3725
  {11, 11}, // #3356
3726
  {13, 17}, // #3357
3727
  {15, 17}, // #3358
3728
  {18, 17}, // #3359
3729
  {19, 35}, // #3360
3730
  {20, 17}, // #3361
3731
  {22, 35}, // #3362
3732
  {23, 35}, // #3363
3733
  { 8, 17}, // #3364
3734
  {11, 11}, // #3365
3735
  {13, 17}, // #3366
3736
  {15, 17}, // #3367
3737
  {17,  1}, // #3368
3738
  {18, 17}, // #3369
3739
  {19, 35}, // #3370
3740
  {20, 17}, // #3371
3741
  {21,  1}, // #3372
3742
  {22, 35}, // #3373
3743
  {23, 36}, // #3374
3744
  { 4,  1}, // #3375
3745
  { 7,  1}, // #3376
3746
  { 9,  1}, // #3377
3747
  {11,  1}, // #3378
3748
  {12,  1}, // #3379
3749
  { 5,  1}, // #3380
3750
  { 6,  2}, // #3381
3751
  { 8,  2}, // #3382
3752
  { 9,  2}, // #3383
3753
  {10,  2}, // #3384
3754
  {11,  3}, // #3385
3755
  {12,  6}, // #3386
3756
  { 6,  1}, // #3387
3757
  { 8,  1}, // #3388
3758
  { 9,  1}, // #3389
3759
  {10,  1}, // #3390
3760
  {11,  1}, // #3391
3761
  {12,  2}, // #3392
3762
  { 6,  1}, // #3393
3763
  { 8,  1}, // #3394
3764
  { 9,  1}, // #3395
3765
  {11,  1}, // #3396
3766
  {12,  1}, // #3397
3767
  { 5,  1}, // #3398
3768
  {10,  1}, // #3399
3769
  {12,  2}, // #3400
3770
  {10,  1}, // #3401
3771
  {12,  1}, // #3402
3772
  { 5,  1}, // #3403
3773
  {10,  2}, // #3404
3774
  {11,  3}, // #3405
3775
  {12,  6}, // #3406
3776
  { 8,  1}, // #3407
3777
  {10,  1}, // #3408
3778
  {11,  2}, // #3409
3779
  {12,  3}, // #3410
3780
  { 5,  1}, // #3411
3781
  {10,  2}, // #3412
3782
  {11,  1}, // #3413
3783
  {12,  4}, // #3414
3784
  { 4,  1}, // #3415
3785
  { 7,  1}, // #3416
3786
  { 9,  1}, // #3417
3787
  {10,  1}, // #3418
3788
  {11,  1}, // #3419
3789
  {12,  2}, // #3420
3790
  { 6,  1}, // #3421
3791
  { 8,  1}, // #3422
3792
  { 9,  1}, // #3423
3793
  {10,  1}, // #3424
3794
  {11,  2}, // #3425
3795
  {12,  3}, // #3426
3796
  { 6,  1}, // #3427
3797
  { 8,  1}, // #3428
3798
  { 9,  1}, // #3429
3799
  {11,  2}, // #3430
3800
  {12,  2}, // #3431
3801
  { 6,  2}, // #3432
3802
  { 8,  2}, // #3433
3803
  { 9,  2}, // #3434
3804
  {10,  1}, // #3435
3805
  {11,  2}, // #3436
3806
  {12,  3}, // #3437
3807
  { 6,  2}, // #3438
3808
  { 8,  2}, // #3439
3809
  { 9,  2}, // #3440
3810
  {11,  2}, // #3441
3811
  {12,  2}, // #3442
3812
  {10,  1}, // #3443
3813
  {11, 10}, // #3444
3814
  {12, 11}, // #3445
3815
  {11, 11}, // #3446
3816
  {12, 11}, // #3447
3817
  { 4,  1}, // #3448
3818
  { 7,  1}, // #3449
3819
  { 8,  1}, // #3450
3820
  { 9,  1}, // #3451
3821
  {10,  1}, // #3452
3822
  {11,  2}, // #3453
3823
  {12,  3}, // #3454
3824
  { 4,  1}, // #3455
3825
  { 7,  1}, // #3456
3826
  { 8,  1}, // #3457
3827
  { 9,  1}, // #3458
3828
  {11,  2}, // #3459
3829
  {12,  2}, // #3460
3830
  { 8,  1}, // #3461
3831
  {10,  1}, // #3462
3832
  {11,  1}, // #3463
3833
  {12,  2}, // #3464
3834
  { 8,  2}, // #3465
3835
  {10,  1}, // #3466
3836
  {11,  2}, // #3467
3837
  {12,  3}, // #3468
3838
  { 8,  2}, // #3469
3839
  {11,  2}, // #3470
3840
  {12,  2}, // #3471
3841
  { 5,  1}, // #3472
3842
  { 6,  1}, // #3473
3843
  { 8,  2}, // #3474
3844
  { 9,  1}, // #3475
3845
  {10,  2}, // #3476
3846
  {11,  3}, // #3477
3847
  {12,  6}, // #3478
3848
  { 5,  1}, // #3479
3849
  { 8,  1}, // #3480
3850
  {10,  2}, // #3481
3851
  {11,  1}, // #3482
3852
  {12,  4}, // #3483
3853
  { 8,  2}, // #3484
3854
  {10,  1}, // #3485
3855
  {11,  3}, // #3486
3856
  {12,  4}, // #3487
3857
  { 8,  2}, // #3488
3858
  {11,  3}, // #3489
3859
  {12,  3}, // #3490
3860
  { 6,  2}, // #3491
3861
  { 8,  3}, // #3492
3862
  { 9,  2}, // #3493
3863
  {11,  3}, // #3494
3864
  {12,  3}, // #3495
3865
  { 8,  1}, // #3496
3866
  {11,  4}, // #3497
3867
  {12,  4}, // #3498
3868
  { 4,  1}, // #3499
3869
  { 6,  1}, // #3500
3870
  { 7,  1}, // #3501
3871
  { 8,  1}, // #3502
3872
  { 9,  2}, // #3503
3873
  {10,  1}, // #3504
3874
  {11,  2}, // #3505
3875
  {12,  3}, // #3506
3876
  { 4,  1}, // #3507
3877
  { 6,  1}, // #3508
3878
  { 7,  1}, // #3509
3879
  { 8,  1}, // #3510
3880
  { 9,  2}, // #3511
3881
  {11,  2}, // #3512
3882
  {12,  2}, // #3513
3883
  { 3,  1}, // #3514
3884
  { 7,  1}, // #3515
3885
  { 8,  1}, // #3516
3886
  {10,  1}, // #3517
3887
  {11,  1}, // #3518
3888
  {12,  2}, // #3519
3889
  { 3,  1}, // #3520
3890
  { 6,  1}, // #3521
3891
  { 7,  1}, // #3522
3892
  { 8,  2}, // #3523
3893
  { 9,  1}, // #3524
3894
  {11,  2}, // #3525
3895
  {12,  2}, // #3526
3896
  { 3,  1}, // #3527
3897
  { 4,  1}, // #3528
3898
  { 7,  2}, // #3529
3899
  { 8,  1}, // #3530
3900
  { 9,  1}, // #3531
3901
  {10,  1}, // #3532
3902
  {11,  2}, // #3533
3903
  {12,  3}, // #3534
3904
  { 3,  1}, // #3535
3905
  { 4,  1}, // #3536
3906
  { 7,  2}, // #3537
3907
  { 8,  1}, // #3538
3908
  { 9,  1}, // #3539
3909
  {11,  2}, // #3540
3910
  {12,  2}, // #3541
3911
  { 4,  1}, // #3542
3912
  { 6,  2}, // #3543
3913
  { 7,  1}, // #3544
3914
  { 8,  2}, // #3545
3915
  { 9,  3}, // #3546
3916
  {11,  3}, // #3547
3917
  {12,  3}, // #3548
3918
  { 3,  1}, // #3549
3919
  { 7,  1}, // #3550
3920
  { 8,  1}, // #3551
3921
  {11,  1}, // #3552
3922
  {12,  1}, // #3553
3923
  { 1, 10}, // #3554
3924
  { 3,  1}, // #3555
3925
  { 7,  1}, // #3556
3926
  { 8,  1}, // #3557
3927
  {10,  1}, // #3558
3928
  {11,  1}, // #3559
3929
  {12,  2}, // #3560
3930
  { 1, 10}, // #3561
3931
  { 3,  1}, // #3562
3932
  { 7,  1}, // #3563
3933
  { 8,  1}, // #3564
3934
  {11,  1}, // #3565
3935
  {12,  1}, // #3566
3936
  { 2, 22}, // #3567
3937
  { 3,  1}, // #3568
3938
  { 7,  1}, // #3569
3939
  { 8,  1}, // #3570
3940
  {10,  1}, // #3571
3941
  {11,  1}, // #3572
3942
  {12,  2}, // #3573
3943
  { 2, 22}, // #3574
3944
  { 3,  1}, // #3575
3945
  { 7,  1}, // #3576
3946
  { 8,  1}, // #3577
3947
  {11,  1}, // #3578
3948
  {12,  1}, // #3579
3949
  { 2, 14}, // #3580
3950
  { 3,  1}, // #3581
3951
  { 7,  1}, // #3582
3952
  { 8,  1}, // #3583
3953
  {10,  1}, // #3584
3954
  {11,  1}, // #3585
3955
  {12,  2}, // #3586
3956
  { 2, 14}, // #3587
3957
  { 3,  1}, // #3588
3958
  { 7,  1}, // #3589
3959
  { 8,  1}, // #3590
3960
  {11,  1}, // #3591
3961
  {12,  1}, // #3592
3962
  { 3,  1}, // #3593
3963
  { 4,  1}, // #3594
3964
  { 6,  1}, // #3595
3965
  { 7,  2}, // #3596
3966
  { 8,  2}, // #3597
3967
  { 9,  2}, // #3598
3968
  {10,  1}, // #3599
3969
  {11,  3}, // #3600
3970
  {12,  4}, // #3601
3971
  { 3,  1}, // #3602
3972
  { 4,  1}, // #3603
3973
  { 6,  1}, // #3604
3974
  { 7,  2}, // #3605
3975
  { 8,  2}, // #3606
3976
  { 9,  2}, // #3607
3977
  {11,  3}, // #3608
3978
  {12,  3}, // #3609
3979
  { 3,  1}, // #3610
3980
  { 4,  2}, // #3611
3981
  { 6,  1}, // #3612
3982
  { 7,  3}, // #3613
3983
  { 8,  2}, // #3614
3984
  { 9,  3}, // #3615
3985
  {10,  1}, // #3616
3986
  {11,  4}, // #3617
3987
  {12,  5}, // #3618
3988
  { 3,  1}, // #3619
3989
  { 4,  2}, // #3620
3990
  { 6,  1}, // #3621
3991
  { 7,  3}, // #3622
3992
  { 8,  2}, // #3623
3993
  { 9,  3}, // #3624
3994
  {11,  4}, // #3625
3995
  {12,  4}, // #3626
3996
  { 5,  1}, // #3627
3997
  { 9,  1}, // #3628
3998
  {10,  1}, // #3629
3999
  {11,  1}, // #3630
4000
  {12,  3}, // #3631
4001
  { 3,  1}, // #3632
4002
  { 7,  1}, // #3633
4003
  { 8,  1}, // #3634
4004
  { 9,  1}, // #3635
4005
  {11,  2}, // #3636
4006
  {12,  2}, // #3637
4007
  {11, 31}, // #3638
4008
  {12, 31}, // #3639
4009
  { 4,  1}, // #3640
4010
  { 6,  2}, // #3641
4011
  { 7,  1}, // #3642
4012
  { 8,  2}, // #3643
4013
  { 9,  3}, // #3644
4014
  {10,  1}, // #3645
4015
  {11,  3}, // #3646
4016
  {12,  4}, // #3647
4017
  { 4,  1}, // #3648
4018
  { 7,  1}, // #3649
4019
  { 8,  1}, // #3650
4020
  { 9,  1}, // #3651
4021
  {10,  1}, // #3652
4022
  {11,  4}, // #3653
4023
  {12,  5}, // #3654
4024
  { 4,  1}, // #3655
4025
  { 7,  1}, // #3656
4026
  { 8,  1}, // #3657
4027
  { 9,  1}, // #3658
4028
  {11,  4}, // #3659
4029
  {12,  4}, // #3660
4030
  { 4,  1}, // #3661
4031
  { 7,  1}, // #3662
4032
  { 9,  1}, // #3663
4033
  {10,  1}, // #3664
4034
  {11,  2}, // #3665
4035
  {12,  3}, // #3666
4036
  { 4,  1}, // #3667
4037
  { 7,  1}, // #3668
4038
  { 9,  1}, // #3669
4039
  {11,  2}, // #3670
4040
  {12,  2}, // #3671
4041
  { 4,  1}, // #3672
4042
  { 7,  1}, // #3673
4043
  { 8,  1}, // #3674
4044
  { 9,  1}, // #3675
4045
  {10,  1}, // #3676
4046
  {11,  3}, // #3677
4047
  {12,  4}, // #3678
4048
  { 4,  1}, // #3679
4049
  { 7,  1}, // #3680
4050
  { 8,  1}, // #3681
4051
  { 9,  1}, // #3682
4052
  {11,  3}, // #3683
4053
  {12,  3}, // #3684
4054
  { 3,  1}, // #3685
4055
  { 5,  1}, // #3686
4056
  { 6,  1}, // #3687
4057
  { 7,  1}, // #3688
4058
  { 8,  2}, // #3689
4059
  { 9,  1}, // #3690
4060
  {10,  1}, // #3691
4061
  {11,  2}, // #3692
4062
  {12,  4}, // #3693
4063
  { 6,  1}, // #3694
4064
  { 8,  1}, // #3695
4065
  { 9,  2}, // #3696
4066
  {11,  2}, // #3697
4067
  {12,  2}, // #3698
4068
  { 3,  1}, // #3699
4069
  { 7,  1}, // #3700
4070
  { 8,  1}, // #3701
4071
  { 9,  2}, // #3702
4072
  {10,  1}, // #3703
4073
  {11,  3}, // #3704
4074
  {12,  4}, // #3705
4075
  { 3,  1}, // #3706
4076
  { 7,  1}, // #3707
4077
  { 8,  1}, // #3708
4078
  { 9,  2}, // #3709
4079
  {11,  3}, // #3710
4080
  {12,  3}, // #3711
4081
  {10,  1}, // #3712
4082
  {11, 17}, // #3713
4083
  {12, 18}, // #3714
4084
  {11, 18}, // #3715
4085
  {12, 18}, // #3716
4086
  {10,  1}, // #3717
4087
  {11,  7}, // #3718
4088
  {12,  8}, // #3719
4089
  {11,  8}, // #3720
4090
  {12,  8}, // #3721
4091
  { 3,  3}, // #3722
4092
  { 7,  3}, // #3723
4093
  { 8,  3}, // #3724
4094
  {10,  1}, // #3725
4095
  {11,  3}, // #3726
4096
  {12,  4}, // #3727
4097
  { 3,  3}, // #3728
4098
  { 7,  3}, // #3729
4099
  { 8,  3}, // #3730
4100
  {11,  3}, // #3731
4101
  {12,  3}, // #3732
4102
  { 5,  1}, // #3733
4103
  {10,  2}, // #3734
4104
  {12,  3}, // #3735
4105
  { 3,  1}, // #3736
4106
  { 7,  1}, // #3737
4107
  { 8,  1}, // #3738
4108
  { 9,  1}, // #3739
4109
  {10,  1}, // #3740
4110
  {11,  2}, // #3741
4111
  {12,  3}, // #3742
4112
  { 3,  1}, // #3743
4113
  { 6,  1}, // #3744
4114
  { 7,  1}, // #3745
4115
  { 8,  2}, // #3746
4116
  { 9,  1}, // #3747
4117
  {10,  1}, // #3748
4118
  {11,  2}, // #3749
4119
  {12,  3}, // #3750
4120
  { 5,  1}, // #3751
4121
  { 8,  2}, // #3752
4122
  {10,  2}, // #3753
4123
  {11,  2}, // #3754
4124
  {12,  5}, // #3755
4125
  { 5,  1}, // #3756
4126
  { 8,  3}, // #3757
4127
  {10,  2}, // #3758
4128
  {11,  3}, // #3759
4129
  {12,  6}, // #3760
4130
  { 5,  1}, // #3761
4131
  { 8,  1}, // #3762
4132
  {10,  1}, // #3763
4133
  {11,  1}, // #3764
4134
  {12,  3}, // #3765
4135
  { 5,  1}, // #3766
4136
  { 8,  3}, // #3767
4137
  {10,  2}, // #3768
4138
  {11,  4}, // #3769
4139
  {12,  7}, // #3770
4140
  { 5,  1}, // #3771
4141
  { 8,  1}, // #3772
4142
  {10,  2}, // #3773
4143
  {11,  2}, // #3774
4144
  {12,  5}, // #3775
4145
  { 2, 21}, // #3776
4146
  { 3,  1}, // #3777
4147
  { 7,  1}, // #3778
4148
  { 8,  1}, // #3779
4149
  {10,  1}, // #3780
4150
  {11,  1}, // #3781
4151
  {12,  2}, // #3782
4152
  { 2, 21}, // #3783
4153
  { 3,  1}, // #3784
4154
  { 7,  1}, // #3785
4155
  { 8,  1}, // #3786
4156
  {11,  1}, // #3787
4157
  {12,  1}, // #3788
4158
  { 2, 24}, // #3789
4159
  { 3,  1}, // #3790
4160
  { 7,  1}, // #3791
4161
  { 8,  1}, // #3792
4162
  {11,  1}, // #3793
4163
  {12,  1}, // #3794
4164
  { 7,  1}, // #3795
4165
  {10,  1}, // #3796
4166
  {11,  1}, // #3797
4167
  {12,  2}, // #3798
4168
  { 4,  1}, // #3799
4169
  { 5,  1}, // #3800
4170
  { 7,  1}, // #3801
4171
  { 9,  1}, // #3802
4172
  {10,  1}, // #3803
4173
  {11,  1}, // #3804
4174
  {12,  3}, // #3805
4175
  { 2, 44}, // #3806
4176
  { 3,  2}, // #3807
4177
  { 7,  2}, // #3808
4178
  { 8,  3}, // #3809
4179
  {10,  1}, // #3810
4180
  {11,  3}, // #3811
4181
  {12,  4}, // #3812
4182
  { 2, 44}, // #3813
4183
  { 3,  2}, // #3814
4184
  { 7,  2}, // #3815
4185
  { 8,  3}, // #3816
4186
  {11,  3}, // #3817
4187
  {12,  3}, // #3818
4188
  { 2, 28}, // #3819
4189
  { 3,  2}, // #3820
4190
  { 7,  2}, // #3821
4191
  { 8,  3}, // #3822
4192
  {10,  1}, // #3823
4193
  {11,  3}, // #3824
4194
  {12,  4}, // #3825
4195
  { 2, 28}, // #3826
4196
  { 3,  2}, // #3827
4197
  { 7,  2}, // #3828
4198
  { 8,  3}, // #3829
4199
  {11,  3}, // #3830
4200
  {12,  3}, // #3831
4201
  { 5,  1}, // #3832
4202
  { 7,  1}, // #3833
4203
  {10,  1}, // #3834
4204
  {11,  1}, // #3835
4205
  {12,  3}, // #3836
4206
  { 8,  7}, // #3837
4207
  {10,  4}, // #3838
4208
  {11,  7}, // #3839
4209
  {12, 11}, // #3840
4210
  { 5,  1}, // #3841
4211
  {10,  2}, // #3842
4212
  {11,  2}, // #3843
4213
  {12,  5}, // #3844
4214
  { 6,  1}, // #3845
4215
  { 7,  1}, // #3846
4216
  { 8,  1}, // #3847
4217
  { 9,  1}, // #3848
4218
  {10,  1}, // #3849
4219
  {11,  2}, // #3850
4220
  {12,  3}, // #3851
4221
  { 5,  1}, // #3852
4222
  { 6,  2}, // #3853
4223
  { 8,  2}, // #3854
4224
  { 9,  2}, // #3855
4225
  {10,  2}, // #3856
4226
  {11,  2}, // #3857
4227
  {12,  5}, // #3858
4228
  { 4,  1}, // #3859
4229
  { 5,  1}, // #3860
4230
  { 7,  1}, // #3861
4231
  { 9,  1}, // #3862
4232
  {10,  2}, // #3863
4233
  {11,  1}, // #3864
4234
  {12,  4}, // #3865
4235
  { 5,  1}, // #3866
4236
  { 6,  1}, // #3867
4237
  { 8,  1}, // #3868
4238
  { 9,  1}, // #3869
4239
  {10,  2}, // #3870
4240
  {11,  1}, // #3871
4241
  {12,  4}, // #3872
4242
  { 6,  1}, // #3873
4243
  { 8,  1}, // #3874
4244
  { 9,  1}, // #3875
4245
  {11,  4}, // #3876
4246
  {12,  4}, // #3877
4247
  { 5,  1}, // #3878
4248
  { 6,  2}, // #3879
4249
  { 7,  1}, // #3880
4250
  { 8,  2}, // #3881
4251
  { 9,  2}, // #3882
4252
  {10,  1}, // #3883
4253
  {11,  3}, // #3884
4254
  {12,  5}, // #3885
4255
  { 3,  1}, // #3886
4256
  { 7,  1}, // #3887
4257
  { 8,  1}, // #3888
4258
  {11,  2}, // #3889
4259
  {12,  2}, // #3890
4260
  { 8,  8}, // #3891
4261
  {11,  8}, // #3892
4262
  {12,  8}, // #3893
4263
  { 5,  1}, // #3894
4264
  { 6,  1}, // #3895
4265
  { 8,  1}, // #3896
4266
  { 9,  1}, // #3897
4267
  {10,  1}, // #3898
4268
  {11,  1}, // #3899
4269
  {12,  3}, // #3900
4270
  { 5,  1}, // #3901
4271
  {10,  1}, // #3902
4272
  {11,  1}, // #3903
4273
  {12,  3}, // #3904
4274
  { 5,  1}, // #3905
4275
  { 8,  2}, // #3906
4276
  {10,  1}, // #3907
4277
  {11,  2}, // #3908
4278
  {12,  4}, // #3909
4279
  { 3,  1}, // #3910
4280
  { 5,  1}, // #3911
4281
  { 7,  1}, // #3912
4282
  { 8,  1}, // #3913
4283
  { 9,  1}, // #3914
4284
  {10,  1}, // #3915
4285
  {11,  2}, // #3916
4286
  {12,  4}, // #3917
4287
  { 5,  1}, // #3918
4288
  { 6,  1}, // #3919
4289
  { 7,  1}, // #3920
4290
  { 8,  1}, // #3921
4291
  { 9,  1}, // #3922
4292
  {10,  1}, // #3923
4293
  {11,  2}, // #3924
4294
  {12,  4}, // #3925
4295
  { 3,  1}, // #3926
4296
  { 5,  1}, // #3927
4297
  { 7,  1}, // #3928
4298
  { 8,  1}, // #3929
4299
  {10,  2}, // #3930
4300
  {11,  1}, // #3931
4301
  {12,  4}, // #3932
4302
  { 4,  1}, // #3933
4303
  { 6,  2}, // #3934
4304
  { 7,  1}, // #3935
4305
  { 8,  2}, // #3936
4306
  { 9,  3}, // #3937
4307
  {11,  4}, // #3938
4308
  {12,  4}, // #3939
4309
  {10,  2}, // #3940
4310
  {11,  3}, // #3941
4311
  {12,  5}, // #3942
4312
  { 5,  1}, // #3943
4313
  { 6,  1}, // #3944
4314
  { 7,  1}, // #3945
4315
  { 8,  1}, // #3946
4316
  { 9,  1}, // #3947
4317
  {10,  2}, // #3948
4318
  {11,  2}, // #3949
4319
  {12,  5}, // #3950
4320
  { 5,  1}, // #3951
4321
  { 8,  2}, // #3952
4322
  {10,  2}, // #3953
4323
  {11,  3}, // #3954
4324
  {12,  6}, // #3955
4325
  { 4,  2}, // #3956
4326
  { 7,  2}, // #3957
4327
  { 9,  2}, // #3958
4328
  {10,  1}, // #3959
4329
  {11,  2}, // #3960
4330
  {12,  3}, // #3961
4331
  {14,  1}, // #3962
4332
  {17,  1}, // #3963
4333
  {20,  1}, // #3964
4334
  {21,  1}, // #3965
4335
  {22,  3}, // #3966
4336
  {23,  4}, // #3967
4337
  { 3,  1}, // #3968
4338
  { 4,  1}, // #3969
4339
  { 8,  1}, // #3970
4340
  { 9,  1}, // #3971
4341
  {11,  2}, // #3972
4342
  {12,  1}, // #3973
4343
  {13,  2}, // #3974
4344
  {14,  2}, // #3975
4345
  {15,  2}, // #3976
4346
  {16,  2}, // #3977
4347
  {18,  2}, // #3978
4348
  {19,  3}, // #3979
4349
  {20,  3}, // #3980
4350
  {22,  4}, // #3981
4351
  {23,  4}, // #3982
4352
  { 4,  1}, // #3983
4353
  { 9,  1}, // #3984
4354
  {11,  1}, // #3985
4355
  {14,  1}, // #3986
4356
  {15,  1}, // #3987
4357
  {16,  2}, // #3988
4358
  {17,  1}, // #3989
4359
  {18,  1}, // #3990
4360
  {19,  1}, // #3991
4361
  {20,  1}, // #3992
4362
  {21,  1}, // #3993
4363
  {22,  2}, // #3994
4364
  {23,  3}, // #3995
4365
  { 4,  1}, // #3996
4366
  { 9,  1}, // #3997
4367
  {11,  1}, // #3998
4368
  {14,  1}, // #3999
4369
  {15,  1}, // #4000
4370
  {16,  2}, // #4001
4371
  {18,  1}, // #4002
4372
  {19,  1}, // #4003
4373
  {20,  1}, // #4004
4374
  {22,  2}, // #4005
4375
  {23,  2}, // #4006
4376
  { 2, 17}, // #4007
4377
  { 3,  1}, // #4008
4378
  {11,  1}, // #4009
4379
  {12,  1}, // #4010
4380
  {13,  1}, // #4011
4381
  {14,  1}, // #4012
4382
  {19,  1}, // #4013
4383
  {20,  1}, // #4014
4384
  {22,  1}, // #4015
4385
  {23,  1}, // #4016
4386
  { 4,  1}, // #4017
4387
  { 7,  1}, // #4018
4388
  { 8,  1}, // #4019
4389
  {11,  1}, // #4020
4390
  {12,  1}, // #4021
4391
  {13,  1}, // #4022
4392
  {15,  2}, // #4023
4393
  {16,  1}, // #4024
4394
  {18,  1}, // #4025
4395
  {19,  2}, // #4026
4396
  {20,  1}, // #4027
4397
  {21,  1}, // #4028
4398
  {22,  2}, // #4029
4399
  {23,  4}, // #4030
4400
  { 2, 28}, // #4031
4401
  { 3,  2}, // #4032
4402
  {11,  2}, // #4033
4403
  {12,  2}, // #4034
4404
  {13,  2}, // #4035
4405
  {14,  2}, // #4036
4406
  {15,  1}, // #4037
4407
  {17,  1}, // #4038
4408
  {19,  3}, // #4039
4409
  {20,  2}, // #4040
4410
  {21,  1}, // #4041
4411
  {22,  3}, // #4042
4412
  {23,  4}, // #4043
4413
  { 2, 28}, // #4044
4414
  { 3,  2}, // #4045
4415
  {11,  2}, // #4046
4416
  {12,  2}, // #4047
4417
  {13,  2}, // #4048
4418
  {14,  2}, // #4049
4419
  {15,  1}, // #4050
4420
  {19,  3}, // #4051
4421
  {20,  2}, // #4052
4422
  {22,  3}, // #4053
4423
  {23,  3}, // #4054
4424
  { 2, 14}, // #4055
4425
  { 3,  2}, // #4056
4426
  {11,  2}, // #4057
4427
  {12,  2}, // #4058
4428
  {13,  2}, // #4059
4429
  {14,  2}, // #4060
4430
  {15,  1}, // #4061
4431
  {17,  1}, // #4062
4432
  {19,  3}, // #4063
4433
  {20,  2}, // #4064
4434
  {21,  1}, // #4065
4435
  {22,  3}, // #4066
4436
  {23,  4}, // #4067
4437
  { 2, 14}, // #4068
4438
  { 3,  2}, // #4069
4439
  {11,  2}, // #4070
4440
  {12,  2}, // #4071
4441
  {13,  2}, // #4072
4442
  {14,  2}, // #4073
4443
  {15,  1}, // #4074
4444
  {19,  3}, // #4075
4445
  {20,  2}, // #4076
4446
  {22,  3}, // #4077
4447
  {23,  3}, // #4078
4448
  { 4,  2}, // #4079
4449
  {11,  2}, // #4080
4450
  {15,  2}, // #4081
4451
  {16,  2}, // #4082
4452
  {19,  2}, // #4083
4453
  {22,  2}, // #4084
4454
  {23,  2}, // #4085
4455
  { 3,  2}, // #4086
4456
  { 4,  1}, // #4087
4457
  { 8,  2}, // #4088
4458
  { 9,  4}, // #4089
4459
  {11,  5}, // #4090
4460
  {12,  2}, // #4091
4461
  {13,  4}, // #4092
4462
  {14,  6}, // #4093
4463
  {15,  3}, // #4094
4464
  {16,  5}, // #4095
4465
  {18,  6}, // #4096
4466
  {19,  7}, // #4097
4467
  {20,  8}, // #4098
4468
  {22, 15}, // #4099
4469
  {23, 15}, // #4100
4470
  { 7,  1}, // #4101
4471
  {12,  1}, // #4102
4472
  {17,  2}, // #4103
4473
  {21,  2}, // #4104
4474
  {22,  2}, // #4105
4475
  {23,  5}, // #4106
4476
  {17,  1}, // #4107
4477
  {21,  1}, // #4108
4478
  {22, 14}, // #4109
4479
  {23, 15}, // #4110
4480
  {17,  2}, // #4111
4481
  {21,  2}, // #4112
4482
  {22,  3}, // #4113
4483
  {23,  5}, // #4114
4484
  { 9,  2}, // #4115
4485
  {14,  2}, // #4116
4486
  {16,  2}, // #4117
4487
  {17,  1}, // #4118
4488
  {18,  2}, // #4119
4489
  {19,  1}, // #4120
4490
  {20,  2}, // #4121
4491
  {21,  1}, // #4122
4492
  {22,  3}, // #4123
4493
  {23,  4}, // #4124
4494
  {17,  1}, // #4125
4495
  {19, 16}, // #4126
4496
  {21,  1}, // #4127
4497
  {22, 16}, // #4128
4498
  {23, 17}, // #4129
4499
  { 3,  2}, // #4130
4500
  { 8,  2}, // #4131
4501
  {11,  2}, // #4132
4502
  {12,  2}, // #4133
4503
  {13,  4}, // #4134
4504
  {14,  4}, // #4135
4505
  {15,  3}, // #4136
4506
  {17,  2}, // #4137
4507
  {18,  2}, // #4138
4508
  {19,  8}, // #4139
4509
  {20,  6}, // #4140
4510
  {21,  2}, // #4141
4511
  {22, 10}, // #4142
4512
  {23, 12}, // #4143
4513
  { 3,  5}, // #4144
4514
  { 8,  3}, // #4145
4515
  {11,  5}, // #4146
4516
  {12,  5}, // #4147
4517
  {13,  8}, // #4148
4518
  {14,  9}, // #4149
4519
  {15,  4}, // #4150
4520
  {17,  4}, // #4151
4521
  {18,  3}, // #4152
4522
  {19, 14}, // #4153
4523
  {20, 12}, // #4154
4524
  {21,  4}, // #4155
4525
  {22, 18}, // #4156
4526
  {23, 22}, // #4157
4527
  { 3,  3}, // #4158
4528
  { 8,  3}, // #4159
4529
  {11,  3}, // #4160
4530
  {12,  3}, // #4161
4531
  {13,  6}, // #4162
4532
  {14,  7}, // #4163
4533
  {15,  4}, // #4164
4534
  {17,  4}, // #4165
4535
  {18,  3}, // #4166
4536
  {19, 12}, // #4167
4537
  {20, 10}, // #4168
4538
  {21,  4}, // #4169
4539
  {22, 16}, // #4170
4540
  {23, 20}, // #4171
4541
  { 3,  5}, // #4172
4542
  { 8,  3}, // #4173
4543
  {11,  5}, // #4174
4544
  {12,  5}, // #4175
4545
  {13,  8}, // #4176
4546
  {14, 13}, // #4177
4547
  {15,  4}, // #4178
4548
  {17,  8}, // #4179
4549
  {18,  3}, // #4180
4550
  {19, 18}, // #4181
4551
  {20, 16}, // #4182
4552
  {21,  8}, // #4183
4553
  {22, 26}, // #4184
4554
  {23, 34}, // #4185
4555
  { 3,  3}, // #4186
4556
  { 8,  3}, // #4187
4557
  {11,  3}, // #4188
4558
  {12,  3}, // #4189
4559
  {13,  6}, // #4190
4560
  {14,  5}, // #4191
4561
  {15,  4}, // #4192
4562
  {17,  2}, // #4193
4563
  {18,  3}, // #4194
4564
  {19, 10}, // #4195
4565
  {20,  8}, // #4196
4566
  {21,  2}, // #4197
4567
  {22, 12}, // #4198
4568
  {23, 14}, // #4199
4569
  { 3,  3}, // #4200
4570
  { 8,  3}, // #4201
4571
  {11,  3}, // #4202
4572
  {12,  3}, // #4203
4573
  {13,  6}, // #4204
4574
  {14,  5}, // #4205
4575
  {15,  4}, // #4206
4576
  {17,  2}, // #4207
4577
  {18,  3}, // #4208
4578
  {19, 11}, // #4209
4579
  {20,  8}, // #4210
4580
  {21,  2}, // #4211
4581
  {22, 13}, // #4212
4582
  {23, 15}, // #4213
4583
  { 5,  1}, // #4214
4584
  { 6,  1}, // #4215
4585
  {10,  1}, // #4216
4586
  { 4,  5}, // #4217
4587
  { 6,  5}, // #4218
4588
  {10,  1}, // #4219
4589
  { 4,  1}, // #4220
4590
  { 6,  1}, // #4221
4591
  {10,  1}, // #4222
4592
  { 9, 20}, // #4223
4593
  {10,  1}, // #4224
4594
  { 1, 25}, // #4225
4595
  { 9,  1}, // #4226
4596
  {10,  1}, // #4227
4597
  { 2, 69}, // #4228
4598
  { 4,  1}, // #4229
4599
  { 6,  1}, // #4230
4600
  {10,  1}, // #4231
4601
  { 2, 39}, // #4232
4602
  { 4,  1}, // #4233
4603
  { 6,  1}, // #4234
4604
  {10,  1}, // #4235
4605
  { 2, 17}, // #4236
4606
  { 4,  1}, // #4237
4607
  { 6,  1}, // #4238
4608
  {10,  1}, // #4239
4609
  { 2, 32}, // #4240
4610
  { 4,  1}, // #4241
4611
  { 6,  1}, // #4242
4612
  {10,  1}, // #4243
4613
  { 4,  1}, // #4244
4614
  { 6,  1}, // #4245
4615
  {10,  2}, // #4246
4616
  { 6, 10}, // #4247
4617
  { 6,  2}, // #4248
4618
  {10,  1}, // #4249
4619
  { 3,  2}, // #4250
4620
  { 4,  1}, // #4251
4621
  { 6,  1}, // #4252
4622
  {10,  1}, // #4253
4623
  { 4,  1}, // #4254
4624
  { 6,  1}, // #4255
4625
  { 8,  1}, // #4256
4626
  { 9,  1}, // #4257
4627
  {10,  1}, // #4258
4628
  { 4, 10}, // #4259
4629
  { 6, 10}, // #4260
4630
  {10,  1}, // #4261
4631
  { 4, 21}, // #4262
4632
  { 6, 21}, // #4263
4633
  {10,  1}, // #4264
4634
  { 4, 17}, // #4265
4635
  { 6, 17}, // #4266
4636
  {10,  1}, // #4267
4637
  { 4, 13}, // #4268
4638
  { 6, 13}, // #4269
4639
  {10,  1}, // #4270
4640
  { 2, 70}, // #4271
4641
  { 4,  1}, // #4272
4642
  { 6,  1}, // #4273
4643
  {10,  1}, // #4274
4644
  { 2, 40}, // #4275
4645
  { 4,  1}, // #4276
4646
  { 6,  1}, // #4277
4647
  {10,  1}, // #4278
4648
  { 2, 35}, // #4279
4649
  { 4,  1}, // #4280
4650
  { 6,  1}, // #4281
4651
  {10,  1}, // #4282
4652
  { 2, 20}, // #4283
4653
  { 4,  1}, // #4284
4654
  { 6,  1}, // #4285
4655
  {10,  1}, // #4286
4656
  { 8,  1}, // #4287
4657
  {11,  2}, // #4288
4658
  {13,  1}, // #4289
4659
  {15,  1}, // #4290
4660
  {17,  1}, // #4291
4661
  {18,  1}, // #4292
4662
  {19,  3}, // #4293
4663
  {20,  1}, // #4294
4664
  {21,  1}, // #4295
4665
  {22,  3}, // #4296
4666
  {23,  4}, // #4297
4667
  { 8,  1}, // #4298
4668
  {11,  2}, // #4299
4669
  {13,  1}, // #4300
4670
  {15,  1}, // #4301
4671
  {18,  1}, // #4302
4672
  {19,  3}, // #4303
4673
  {20,  1}, // #4304
4674
  {22,  3}, // #4305
4675
  {23,  3}, // #4306
4676
  { 8,  1}, // #4307
4677
  {11,  3}, // #4308
4678
  {13,  1}, // #4309
4679
  {15,  1}, // #4310
4680
  {17,  1}, // #4311
4681
  {18,  1}, // #4312
4682
  {19,  4}, // #4313
4683
  {20,  1}, // #4314
4684
  {21,  1}, // #4315
4685
  {22,  4}, // #4316
4686
  {23,  5}, // #4317
4687
  { 8,  1}, // #4318
4688
  {11,  3}, // #4319
4689
  {13,  1}, // #4320
4690
  {15,  1}, // #4321
4691
  {18,  1}, // #4322
4692
  {19,  4}, // #4323
4693
  {20,  1}, // #4324
4694
  {22,  4}, // #4325
4695
  {23,  4}, // #4326
4696
  { 3,  1}, // #4327
4697
  { 8,  1}, // #4328
4698
  {11,  2}, // #4329
4699
  {12,  1}, // #4330
4700
  {13,  2}, // #4331
4701
  {14,  1}, // #4332
4702
  {15,  1}, // #4333
4703
  {18,  1}, // #4334
4704
  {19,  3}, // #4335
4705
  {20,  2}, // #4336
4706
  {22,  3}, // #4337
4707
  {23,  3}, // #4338
4708
  { 3,  1}, // #4339
4709
  { 8,  1}, // #4340
4710
  {11,  2}, // #4341
4711
  {12,  1}, // #4342
4712
  {13,  2}, // #4343
4713
  {14,  1}, // #4344
4714
  {15,  1}, // #4345
4715
  {17,  1}, // #4346
4716
  {18,  1}, // #4347
4717
  {19,  3}, // #4348
4718
  {20,  2}, // #4349
4719
  {21,  1}, // #4350
4720
  {22,  3}, // #4351
4721
  {23,  4}, // #4352
4722
  {22, 16}, // #4353
4723
  {23, 16}, // #4354
4724
  { 3,  1}, // #4355
4725
  {11,  2}, // #4356
4726
  {12,  1}, // #4357
4727
  {13,  1}, // #4358
4728
  {14,  1}, // #4359
4729
  {19,  2}, // #4360
4730
  {20,  1}, // #4361
4731
  {22,  2}, // #4362
4732
  {23,  2}, // #4363
4733
  { 7,  1}, // #4364
4734
  { 9, 11}, // #4365
4735
  {12,  1}, // #4366
4736
  {14, 11}, // #4367
4737
  {16, 11}, // #4368
4738
  {17,  1}, // #4369
4739
  {18, 11}, // #4370
4740
  {20, 11}, // #4371
4741
  {21,  2}, // #4372
4742
  {22, 41}, // #4373
4743
  {23, 44}, // #4374
4744
  { 1,  1}, // #4375
4745
  { 4,  1}, // #4376
4746
  {11,  1}, // #4377
4747
  {15,  1}, // #4378
4748
  {18,  1}, // #4379
4749
  {20,  1}, // #4380
4750
  {21,  1}, // #4381
4751
  {22,  1}, // #4382
4752
  { 1,  2}, // #4383
4753
  { 4,  1}, // #4384
4754
  { 1,  1}, // #4385
4755
  {11,  1}, // #4386
4756
  {12,  1}, // #4387
4757
  {16,  1}, // #4388
4758
  {17,  1}, // #4389
4759
  {18,  1}, // #4390
4760
  {22,  1}, // #4391
4761
  { 1,  1}, // #4392
4762
  {11,  1}, // #4393
4763
  {16,  1}, // #4394
4764
  {22,  1}, // #4395
4765
  { 4,  4}, // #4396
4766
  { 1,  1}, // #4397
4767
  {11,  1}, // #4398
4768
  {15,  1}, // #4399
4769
  {18,  1}, // #4400
4770
  {20,  1}, // #4401
4771
  {21,  1}, // #4402
4772
  {22,  1}, // #4403
4773
  { 1,  1}, // #4404
4774
  {11,  2}, // #4405
4775
  {18,  2}, // #4406
4776
  {22,  2}, // #4407
4777
  { 1,  1}, // #4408
4778
  {11,  2}, // #4409
4779
  {15,  2}, // #4410
4780
  {18,  2}, // #4411
4781
  {20,  2}, // #4412
4782
  {21,  2}, // #4413
4783
  {22,  2}, // #4414
4784
  { 1,  1}, // #4415
4785
  { 4,  1}, // #4416
4786
  { 7,  1}, // #4417
4787
  {10, 17}, // #4418
4788
  { 1,  1}, // #4419
4789
  { 4,  1}, // #4420
4790
  { 7,  1}, // #4421
4791
  {10, 25}, // #4422
4792
  { 1,  1}, // #4423
4793
  { 4,  1}, // #4424
4794
  { 7,  1}, // #4425
4795
  {10, 41}, // #4426
4796
  { 1,  1}, // #4427
4797
  { 4,  1}, // #4428
4798
  { 7,  1}, // #4429
4799
  {10, 15}, // #4430
4800
  { 1,  1}, // #4431
4801
  {11,  5}, // #4432
4802
  {14,  3}, // #4433
4803
  {17,  3}, // #4434
4804
  {19,  5}, // #4435
4805
  {21,  3}, // #4436
4806
  {11,  3}, // #4437
4807
  {14,  2}, // #4438
4808
  {17,  2}, // #4439
4809
  {19,  3}, // #4440
4810
  {21,  2}, // #4441
4811
  { 1,  1}, // #4442
4812
  { 4,  1}, // #4443
4813
  { 6,  1}, // #4444
4814
  {23,  1}, // #4445
4815
  { 1,  1}, // #4446
4816
  {11,  1}, // #4447
4817
  {19,  1}, // #4448
4818
  { 1,  1}, // #4449
4819
  {11,  1}, // #4450
4820
  {20,  1}, // #4451
4821
  {22,  1}, // #4452
4822
  {11,  1}, // #4453
4823
  {14,  1}, // #4454
4824
  {17,  1}, // #4455
4825
  {19,  1}, // #4456
4826
  {21,  1}, // #4457
4827
  { 1,  1}, // #4458
4828
  {11,  1}, // #4459
4829
  {14,  1}, // #4460
4830
  {17,  1}, // #4461
4831
  {19,  1}, // #4462
4832
  {21,  1}, // #4463
4833
  { 1,  1}, // #4464
4834
  { 4,  2}, // #4465
4835
  { 6,  2}, // #4466
4836
  {23,  2}, // #4467
4837
  { 1,  1}, // #4468
4838
  {11,  2}, // #4469
4839
  {19,  2}, // #4470
4840
  { 1,  1}, // #4471
4841
  {11,  2}, // #4472
4842
  {17,  2}, // #4473
4843
  { 1,  1}, // #4474
4844
  {11, 20}, // #4475
4845
  {15, 20}, // #4476
4846
  {18, 20}, // #4477
4847
  {20, 20}, // #4478
4848
  {21, 20}, // #4479
4849
  {22, 20}, // #4480
4850
  { 1,  1}, // #4481
4851
  {11,  1}, // #4482
4852
  {18,  1}, // #4483
4853
  {22,  1}, // #4484
4854
  { 1,  1}, // #4485
4855
  {11, 22}, // #4486
4856
  {15, 22}, // #4487
4857
  {18, 22}, // #4488
4858
  {20, 22}, // #4489
4859
  {21, 22}, // #4490
4860
  {22, 22}, // #4491
4861
  {11, 15}, // #4492
4862
  {15, 15}, // #4493
4863
  {18, 15}, // #4494
4864
  {20, 15}, // #4495
4865
  {21, 15}, // #4496
4866
  {22, 15}, // #4497
4867
  { 1,  1}, // #4498
4868
  {11, 19}, // #4499
4869
  {15, 19}, // #4500
4870
  {18, 19}, // #4501
4871
  {20, 19}, // #4502
4872
  {21, 19}, // #4503
4873
  {22, 19}, // #4504
4874
  {11, 12}, // #4505
4875
  {15, 12}, // #4506
4876
  {18, 12}, // #4507
4877
  {20, 12}, // #4508
4878
  {21, 12}, // #4509
4879
  {22, 12}, // #4510
4880
  { 1,  1}, // #4511
4881
  {11,  2}, // #4512
4882
  {16,  2}, // #4513
4883
  {22,  2}, // #4514
4884
  { 1,  1}, // #4515
4885
  {11,  3}, // #4516
4886
  {16,  3}, // #4517
4887
  {22,  3}, // #4518
4888
  {11,  2}, // #4519
4889
  {14,  2}, // #4520
4890
  {17,  2}, // #4521
4891
  {19,  2}, // #4522
4892
  {21,  2}, // #4523
4893
  { 1,  1}, // #4524
4894
  {11,  2}, // #4525
4895
  {12,  2}, // #4526
4896
  {16,  2}, // #4527
4897
  {17,  2}, // #4528
4898
  {18,  2}, // #4529
4899
  {22,  2}, // #4530
4900
  { 1,  1}, // #4531
4901
  {11, 40}, // #4532
4902
  {15, 40}, // #4533
4903
  {18, 40}, // #4534
4904
  {20, 40}, // #4535
4905
  {21, 40}, // #4536
4906
  {22, 40}, // #4537
4907
  { 1,  1}, // #4538
4908
  {11, 28}, // #4539
4909
  {15, 28}, // #4540
4910
  {18, 28}, // #4541
4911
  {20, 28}, // #4542
4912
  {21, 28}, // #4543
4913
  {22, 28}, // #4544
4914
  {11,  1}, // #4545
4915
  {21,  1}, // #4546
4916
  { 1,  1}, // #4547
4917
  {11,  1}, // #4548
4918
  {21,  1}, // #4549
4919
  {11,  2}, // #4550
4920
  {15,  1}, // #4551
4921
  {18,  1}, // #4552
4922
  {19,  1}, // #4553
4923
  {20,  1}, // #4554
4924
  {21,  1}, // #4555
4925
  {22,  1}, // #4556
4926
  { 1,  1}, // #4557
4927
  {11,  2}, // #4558
4928
  {15,  1}, // #4559
4929
  {18,  1}, // #4560
4930
  {19,  1}, // #4561
4931
  {20,  1}, // #4562
4932
  {21,  1}, // #4563
4933
  {22,  1}, // #4564
4934
  { 1,  1}, // #4565
4935
  {11,  1}, // #4566
4936
  {17,  1}, // #4567
4937
  { 1,  5}, // #4568
4938
  {11,  3}, // #4569
4939
  {14,  2}, // #4570
4940
  {17,  2}, // #4571
4941
  {19,  3}, // #4572
4942
  {21,  2}, // #4573
4943
  { 1,  1}, // #4574
4944
  {11,  2}, // #4575
4945
  {22,  2}, // #4576
4946
  { 1,  1}, // #4577
4947
  {11,  2}, // #4578
4948
  {14,  1}, // #4579
4949
  {15,  1}, // #4580
4950
  {17,  1}, // #4581
4951
  {18,  1}, // #4582
4952
  {19,  1}, // #4583
4953
  {20,  1}, // #4584
4954
  {21,  2}, // #4585
4955
  {22,  1}, // #4586
4956
  { 1,  1}, // #4587
4957
  {11,  3}, // #4588
4958
  {18,  3}, // #4589
4959
  {22,  3}, // #4590
4960
  {11,  2}, // #4591
4961
  {15,  1}, // #4592
4962
  {18,  1}, // #4593
4963
  {20,  1}, // #4594
4964
  {21,  1}, // #4595
4965
  {22,  2}, // #4596
4966
  { 1,  1}, // #4597
4967
  {11,  2}, // #4598
4968
  {13,  2}, // #4599
4969
  {16,  2}, // #4600
4970
  {19,  2}, // #4601
4971
  {20,  2}, // #4602
4972
  {22,  2}, // #4603
4973
  { 4,  1}, // #4604
4974
  { 6,  1}, // #4605
4975
  {23,  2}, // #4606
4976
  { 1,  1}, // #4607
4977
  { 4,  1}, // #4608
4978
  { 9,  1}, // #4609
4979
  {11,  1}, // #4610
4980
  {22,  1}, // #4611
4981
  { 1,  1}, // #4612
4982
  {11,  1}, // #4613
4983
  {22,  1}, // #4614
4984
  {11,  2}, // #4615
4985
  {14,  1}, // #4616
4986
  {17,  1}, // #4617
4987
  {19,  2}, // #4618
4988
  {21,  1}, // #4619
4989
  {11,  2}, // #4620
4990
  {13,  1}, // #4621
4991
  {16,  1}, // #4622
4992
  {18,  1}, // #4623
4993
  {19,  1}, // #4624
4994
  {20,  1}, // #4625
4995
  {22,  2}, // #4626
4996
  {11,  1}, // #4627
4997
  {13,  1}, // #4628
4998
  {16,  1}, // #4629
4999
  {19,  1}, // #4630
5000
  {20,  1}, // #4631
5001
  {22,  1}, // #4632
5002
  { 1,  1}, // #4633
5003
  {11,  1}, // #4634
5004
  {13,  1}, // #4635
5005
  {16,  1}, // #4636
5006
  {19,  1}, // #4637
5007
  {20,  1}, // #4638
5008
  {22,  1} // #4639
5009
}; // X86WriteProcResTable
5010
5011
// {Cycles, WriteResourceID}
5012
extern const llvm::MCWriteLatencyEntry X86WriteLatencyTable[] = {
5013
  { 0,  0}, // Invalid
5014
  { 1,  0}, // #1 WriteZero_WriteVecALU_WriteCMPXCHGRMW_WriteJumpLd_WriteALU_WriteMove_WriteFStoreX_WriteFLoadX_WriteFSign_WriteADC_AtomWrite0_1_WriteADCLd_WriteALULd_WriteFLogicLd_WriteBSWAP32_WriteBSWAP64_WriteBitTestImmLd_WriteBitTestSet_WriteLoad_WriteCMOV2Ld_WriteCMOVLd_WriteNop_WriteVecExtractSt_WriteVecALUX_WriteVecALUXLd_WriteFShuffleLd_WriteStore_WriteVecLogicX_WriteShuffle_WriteVecLoadX_WriteFLD0_WriteLEA_WriteFence_WriteVecStoreX_WriteVecMoveFromGpr_WriteVecMoveX_WriteVecStoreNT_WriteVecALULd_WriteShuffleLd_WriteVecLogicLd_WriteVecInsertLd_WriteVarShuffleLd_WriteVecShiftImm_WriteFMoveX_WriteVecLoadNT_WriteStoreNT_WriteFStoreNTX_WriteShuffleXLd_WriteVecLogicXLd_WriteVecShiftImmX_WriteVecTestLd_WriteRotate_WriteRotateCL_WriteRMW_WriteShiftLd_WriteShiftCL_WriteSETCC_WriteVecMaskedStore_WriteVecShiftImmXLd_WriteFTestLd_AtomWrite1_1_AtomWrite0_1_1_AtomWrite01_1_WriteFStoreY_WriteBZHI_WriteFCMOV_WriteFCom_WriteSETCCStore_WriteFSqrt80_WriteSTMXCSR_WriteShuffle256_WriteVarShuffle256_WriteVecStoreY_WriteVecTestY_WriteFTestY_WriteXCHG_PdWriteTST_F_UCOM_FPPr_PdWriteSETGEmSETGmSETLEmSETLm_PdWriteVMOVUPDYmrVMOVUPSYmr_PdWriteVMOVDQUYmr_WriteFBlend_WriteBLS_WriteFLDC_WriteLAHFSAHF_WriteFLD1_WriteVecMoveToGpr_WriteMMXMOVMSK_WriteBlend_WriteVarShuffleX_WriteShuffleY_WriteFLogicY_WriteFBlendY_WriteVecALUY_WriteFMoveY_WriteFShuffleY_WriteVecMoveY_WriteVecStoreNTY_WriteFStoreNTY_WriteVecLogicY_WriteBlendY_WriteFVarShuffleY_WriteVecShiftImmY_WriteVarShuffleY_BWWriteResGroup10_BWWriteResGroup2_BWWriteResGroup5_BWWriteResGroup6_BWWriteResGroup3_BWWriteResGroup4_BWWriteResGroup7_BWWriteResGroup8_BWWriteResGroup9_WriteBEXTR_WriteLZCNT_WritePHAdd_WritePOPCNT_WriteFShuffle256_JWriteVecExtractF128_JWriteZeroIdiomYmm_WriteShuffleZ_WriteFLogicZ_WriteVecALUZ_WriteFShuffleZ_WriteVecLogicZ_WriteFVarShuffleZ_WriteVecShiftImmZ_WriteVarVecShift_WriteVarVecShiftY_WriteVarVecShiftZ_WriteVarShuffleZ_SKXWriteResGroup9_SKXWriteResGroup10_SKXWriteResGroup11_SKXWriteResGroup3_SKXWriteResGroup6_SKXWriteResGroup7_SKXWriteResGroup4_SKXWriteResGroup8_WriteCvtSS2SD_WriteFVarShuffle256_SBWriteResGroup2_SBWriteResGroup1_SBWriteResGroup4_SBWriteResGroup5_SBWriteResGroupVzeroupper_WriteBitTestRegLd_HWWriteBTRSCmr_HWWrite2P1_HWWriteP01_HWWrite2P01_HWWrite2P0156_P23_HWWriteResGroup10_HWWriteINTO_HWWritePushA_HWWritePopA_HWWriteP1_HWWriteBOUND_HWWriteResGroup3_HWWriteResGroup6_HWWriteResGroup7_HWWrite3P01_HWWriteP0156_P23_HWWriteRETI_HWWriteRDPMC_HWWriteRDRAND_HWWriteFNSAVE_HWWriteFRSTOR_HWWriteResGroup2_HWWriteResGroup4_HWWriteResGroup5_HWWriteResGroup8_HWWriteResGroup9_WriteFVarBlend_WriteVarBlend_WritePHAddX_WriteVecShiftX_WriteSHDrrcl_WriteSHDrri_WriteFMaskedStoreY_WritePHAddY_WriteVecMaskedStoreY_WriteVecShiftY_SKLWriteResGroup9_SKLWriteResGroup10_SKLWriteResGroup11_SKLWriteResGroup3_SKLWriteResGroup6_SKLWriteResGroup7_SKLWriteResGroup4_SKLWriteResGroup8_WriteFMOVMSK_WriteVecMOVMSK_WriteFVarBlendY_WriteVarBlendY_ZnWriteFPU3Lat1_ZnWriteFLDr_ZnWriteFPU0Lat1_ZnWriteFXCH_ZnWritePShift_ZnWriteJCXZ_ZnWriteLD_F80m_ZnWriteLOOPE_ZnWriteCMPXCHG8B_ZnWriteRET_ZnWritePCMPGTQr_ZnWriteFPU01Y_ZnWriteFPU12m_ZnWriteCALLr_ZnXADD_ZnWriteFPU12Y_ZnWriteFPU013_ZnWriteSHA1MSG2r_ZnWriteSHA1NEXTEr
5015
  {100,  0}, // #2 WriteSystem_WriteMicrocoded_ZnWriteMicrocoded_WriteFShuffle256_WriteFVarShuffle256
5016
  { 7,  0}, // #3 WriteFAdd64XLd_WriteFCmp64XLd_WriteCvtI2PD_WriteCvtI2PSLd_WriteCvtPD2I_WriteCvtPD2PS_WriteCvtPS2ILd_WriteCvtPS2PD_WriteCvtSD2SSLd_WriteCvtI2SDLd_WriteCvtI2SSLd_WriteCvtSS2SDLd_WriteIMul16_WriteIMul16RegLd_WriteIMul16ImmLd_WriteIMul32Ld_WriteIMul8Ld_WritePHAddX_WritePHAddY_AtomWrite01_7_WriteFLogicLd_WriteFBlendLd_WriteFVarBlendLd_WriteBSFLd_WriteRMW_WriteFCmpXLd_WriteFCmp64Ld_WriteFCmpLd_WriteCRC32Ld_WriteVecALUXLd_WriteFShuffleLd_WriteVecALULd_WriteShuffleLd_WriteVecLogicLd_WriteShuffleXLd_WriteVecLogicXLd_WriteVarBlendLd_WriteBlendLd_WritePHAddXLd_WriteShuffleYLd_WriteFLogicYLd_WriteFVarBlendYLd_WriteFBlendYLd_WriteFShuffle256Ld_WriteFCmp64YLd_WriteFCmpYLd_WriteFShuffleYLd_WriteVecShiftImmXLd_PdWriteVBROADCASTF128_PdWriteVEXTRACTF128mr_PdWriteRCL32rCLRCL64rCL_PdWriteRCR64rCL_PdWriteRCR32rCL_PdWriteRCR32riRCR64ri_WriteAESDecEnc_WriteBEXTRLd_WriteCMOV2Ld_WriteLDMXCSR_WriteMPSAD_WriteVecShiftXLd_WriteVecTestLd_WriteCvtPS2PHYSt_WriteVecALUYLd_WriteFMaskedLoad_WriteMPSADY_WriteVecLogicYLd_WriteBlendYLd_WriteFVarShuffleYLd_WriteVecMaskedLoad_WriteVecShiftImmYLd_WriteVarShuffleYLd_WriteVecShiftYLd_WriteFTestYLd_BWWriteResGroup80_BWWriteResGroup82_BWWriteResGroup90_BWWriteResGroup84_BWWriteResGroup89_BWWriteResGroup87_BWWriteResGroup88_BWWriteResGroup73_BWWriteResGroup77_BWWriteResGroup79_BWWriteResGroup74_WriteAESIMCLd_WriteAESKeyGenLd_WriteCvtPS2PDLd_WriteCvtSD2I_WriteCvtSS2I_WriteVecIMulLd_WritePSADBWLd_WriteVarShuffleLd_WriteFMulXLd_WriteFMulLd_WriteCLMulLd_WritePCmpIStrI_WritePHMINPOSLd_WriteVecIMulXLd_WritePSADBWXLd_WriteVarShuffleXLd_WriteFRcpXLd_WriteFRcpLd_WriteFRsqrtXLd_WriteFRsqrtLd_WriteCvtPS2PDYLd_WriteFMulYLd_WriteFRcpYLd_WriteFRsqrtYLd_WriteFLoadY_WriteFComLd_WriteCvtPH2PSY_WriteCvtPH2PSZ_WriteCvtPS2PHZ_WriteVecLoadY_WriteVecLoadNTY_WriteFVarShuffleLd_WriteVarVecShiftLd_SKXWriteResGroup99_SKXWriteResGroup95_SKXWriteResGroup89_SKXWriteResGroup101_SKXWriteResGroup100_SKXWriteResGroup111_SKXWriteResGroup104_SKXWriteResGroup109_SKXWriteResGroup107_SKXWriteResGroup108_SKXWriteResGroup96_SKXWriteResGroup93_SKXWriteResGroup90_SKXWriteResGroup92_SKXWriteResGroup93z_SKXWriteResGroup97_SKXWriteResGroup103_SKXWriteResGroup106_SKXWriteResGroup110_SKXWriteResGroup112_SKXWriteResGroup113_SKXWriteResGroup114_WriteADCLd_WriteCMOVLd_WriteVecInsertLd_WriteCvtPS2PDZLd_WriteFRcpZ_WriteFRsqrtZ_WriteFTestLd_SBWriteResGroup69_SBWriteResGroup25_1_SBWriteResGroup63_SBWriteResGroup68_SBWriteResGroup54_SBWriteResGroup58_SBWriteResGroup59_SBWriteResGroup62_SBWriteResGroup64_SBWriteResGroup66_SBWriteResGroup67_WriteCvtPH2PSYLd_WriteCvtPH2PSZLd_WriteCvtPS2PHZSt_HWWriteResGroup25_HWWriteResGroup37_HWWriteResGroup26_HWWriteResGroup0_1_HWWriteResGroup39_HWWriteXLAT_HWWriteResGroup114_HWWriteResGroup41_HWWriteResGroup17_HWWriteResGroup11_1_HWWriteResGroup36_2_WriteCvtI2PDLd_WriteCvtPD2ILd_WriteCvtPD2PSLd_WriteCvtSD2ILd_WriteCvtSS2ILd_WritePMULLDLd_WriteCvtI2PDYLd_WriteCvtI2PSYLd_WriteCvtPD2IYLd_WriteCvtPD2PSYLd_WriteCvtPS2IYLd_WritePSADBWYLd_WriteVecIMulYLd_WritePMULLDYLd_SKLWriteResGroup94_SKLWriteResGroup91_SKLWriteResGroup85_SKLWriteResGroup96_SKLWriteResGroup95_SKLWriteResGroup103_SKLWriteResGroup98_SKLWriteResGroup102_SKLWriteResGroup100_SKLWriteResGroup101_SKLWriteResGroup92_SKLWriteResGroup89_SKLWriteResGroup86_WriteBSRLd
5017
  { 6,  0}, // #4 WriteFAdd64X_WriteFCmp64X_WriteCvtI2PS_WriteCvtPS2I_WriteCvtSD2SS_WriteCvtI2SD_WriteCvtI2SS_WriteCvtSS2SD_WriteIMul16Reg_WriteIMul16Imm_WriteIMul32_WriteFLD1_AtomWrite01_6_WriteRMW_WriteBEXTRLd_WriteBLSLd_WriteFComLd_WriteIMul64_WriteIMul64Reg_WriteIMul64Imm_WriteLZCNTLd_WriteVecInsertLd_WritePCmpIStrM_WriteStore_WriteVecTestLd_WriteTZCNTLd_WriteShuffle256Ld_WriteVarShuffle256Ld_WriteFMaskedStoreY_WriteFMaskedLoadY_WriteVecMaskedStoreY_WriteVecMaskedLoadY_WriteVecTestYLd_WriteFTestYLd_WriteFTestLd_PdWriteXLAT_PdWriteVBROADCASTYLd_PdWriteXADDm_WriteMMX_CVTPD2PIirrMMX_CVTPI2PDirr_PdWriteFCOMPm_PdWriteLXADD_PdWriteBMI1m_PdWriteCRC32r32r32_PdWriteMMX_CVTTPD2PIirr_WriteJumpLd_WriteFLoadY_WriteADCLd_WriteALULd_WriteFLogicLd_WriteFBlendLd_WriteBitTestImmLd_WriteBitTestRegLd_WriteBZHILd_WriteCMOVLd_WriteVecALUXLd_WriteFShuffleLd_WriteVecALULd_WriteShuffleLd_WriteVecLogicLd_WriteVarShuffleLd_WriteVecShiftLd_WriteShuffleXLd_WriteVecLogicXLd_WriteBlendLd_WriteVarShuffleXLd_WriteShiftLd_WriteFRnd_WriteSHDrrcl_WriteCvtPH2PSYLd_WriteCvtPH2PSLd_WriteCvtPS2PHY_WriteFRndY_WriteVecLoadY_WriteVecLoadNTY_WriteFVarShuffleLd_WriteVecShiftImmXLd_BWWriteResGroup69_BWWriteResGroup66_BWWriteResGroup70_BWWriteResGroup58_BWWriteResGroup71_BWWriteResGroup65_BWWriteResGroup62_BWWriteResGroup68_BWWriteResGroup59_BWWriteResGroup64_BWWriteResGroup60_WriteCRC32Ld_WriteIMul16Ld_WriteIMul16RegLd_WriteIMul16ImmLd_WriteIMul32Ld_WriteIMul32RegLd_WriteIMul32ImmLd_WriteIMul8Ld_WritePHAddLd_WriteFLogicYLd_WriteFBlendYLd_WriteFShuffle256Ld_WriteCvtPD2IY_WriteCvtPD2PSY_WriteFShuffleYLd_JWriteVBROADCASTYLd_WriteFLoadX_WriteCvtSD2I_WriteCvtSS2I_WriteFHAdd_WriteVecLoadX_WriteCLMul_WriteCvtPS2PHSt_WriteFHAddY_SKXWriteResGroup86_SKXWriteResGroup72_SKXWriteResGroup81_SKXWriteResGroup87_SKXWriteResGroup88_SKXWriteResGroup71_SKXWriteResGroup76_SKXWriteResGroup84_SKXWriteResGroup92a_SKXWriteResGroup79_SKXWriteResGroup82_SKXWriteResGroup73_SKXWriteResGroup80_SBWriteResGroup48_SBWriteResGroup53_SBWriteResGroup81_SBWriteResGroup49_SBWriteResGroup51_SBWriteResGroup52_WriteCvtPS2PHZ_WriteFRndZ_HWWriteResGroup18_HWWriteResGroup108_HWWriteResGroup0_HWWriteResGroup14_HWWriteResGroup107_HWWriteResGroup11_HWWriteResGroup13_HWWriteResGroup16_HWWriteResGroup102_WriteFAdd64XLd_WriteFAddXLd_WriteFAdd64Ld_WriteFAddLd_WriteFCmp64XLd_WriteFCmpXLd_WriteFCmp64Ld_WriteFCmpLd_WriteDPPDLd_WriteDPPSLd_WriteFHAddLd_WriteIMul64Ld_WriteIMul64RegLd_WriteIMul64ImmLd_WritePOPCNTLd_WriteFRndLd_WriteFAdd64YLd_WriteFAddYLd_WriteFCmp64YLd_WriteFCmpYLd_WriteDPPSYLd_WriteFRndYLd_WriteFHAddYLd_SKLWriteResGroup82_SKLWriteResGroup68_SKLWriteResGroup76_SKLWriteResGroup83_SKLWriteResGroup84_SKLWriteResGroup67_SKLWriteResGroup72_SKLWriteResGroup80_SKLWriteResGroup88_SKLWriteResGroup75_SKLWriteResGroup70_SKLWriteResGroup78_SKLWriteResGroup69_ZnWriteALULat2Ld_ZnWriteBTRSCm_ZnWriteSHA1RNDS4r
5018
  { 5,  0}, // #5 WriteFAddXLd_WriteFAdd64Ld_WriteFAddLd_WriteFCmpXLd_WriteFCmp64Ld_WriteFCmpLd_WriteFComLd_WriteEMMS_WriteIMul32RegLd_WriteIMul32ImmLd_WriteLDMXCSR_WriteFMulXLd_WriteFMul64Ld_WriteVecIMulXLd_WritePSADBWXLd_WriteVarShuffleXLd_WriteFRndLd_AtomWrite1_5_AtomWrite0_1_5_AtomWrite01_5_WriteJumpLd_WriteFLoadX_WriteFLoadY_WriteADCLd_WriteALULd_WriteFAdd64X_WriteAESIMC_WriteAESKeyGen_WriteBitTestImmLd_WriteBitTestRegLd_WriteBZHILd_WriteLoad_WriteCMOV2Ld_WriteCMOVLd_WriteIMul16Imm_WriteVecLoadX_WritePHAdd_WriteVecLoadNT_WriteFMul64X_WritePMULLD_WriteFRcpX_WriteShiftLd_WriteFRsqrtX_WriteFAdd64Y_WriteFAddY_WriteFMAY_WriteFMAX_WriteVecLoadY_WriteVecLoadNTY_WriteFMul64Y_WriteFMulY_WriteFRcpY_WriteFRsqrtY_PdWriteCRC32r32r16_WriteCMPXCHG_WriteFHAdd_WriteCLMul_WritePHMINPOS_WriteCvtPS2PHSt_WritePSADBWY_WriteVecIMulY_WriteFHAddY_WriteFMaskedStoreY_WriteVecMaskedStoreY_BWWriteResGroup49_BWWriteResGroup54_BWWriteResGroup57_BWWriteResGroup47_BWWriteResGroup50_BWWriteResGroup51_BWWriteResGroup55_WriteRMW_WriteBLSLd_WriteBSR_WriteTZCNTLd_WriteCvtPH2PS_SKXWriteResGroup61_SKXWriteResGroup58_SKXWriteResGroup69_SKXWriteResGroup63_SKXWriteResGroup67_SKXWriteResGroup62_SKXWriteResGroup65_SKXWriteResGroup66_WriteCvtSD2I_WriteCvtI2SS_WriteCvtSS2I_WriteVecExtractSt_WriteSTMXCSR_WritePSADBWZ_WriteFMAZ_WriteVecIMulZ_WriteFMul64Z_WriteFMulZ_WritePMULLDY_WritePMULLDZ_SBWriteResGroup33_SBWriteResGroup31_SBWriteResGroup41_SBWriteResGroup47_SBWriteResGroup76_SBWriteResGroup35_SBWriteResGroup35_2_SBWriteResGroup36_SBWriteResGroup40_SBWriteResGroup45_SBWriteResGroup46_SBWriteResGroup30_HWWriteResGroup0_2_HWWriteResGroup99_HWWriteResGroup88_HWWriteResGroup89_HWWriteResGroup93_HWWriteResGroup94_HWWriteResGroup100_SKLWriteResGroup60_SKLWriteResGroup58_SKLWriteResGroup65_SKLWriteResGroup59_SKLWriteResGroup61_SKLWriteResGroup63_WriteBEXTRLd_WriteCvtI2PD_WriteCvtI2PS_WriteCvtPD2I_WriteCvtPS2I_WriteCvtI2SD_WritePOPCNTLd_ZnWriteRSQRTSSr_WriteCvtI2PDY_WriteCvtI2PSY_WriteCvtPD2IY_ZnWriteCVTPD2PSYr_WriteCvtPS2IY_ZnWriteRSQRTPSYr_ZnWriteSTr_ZnWriteXCHGrm_ZnWriteST_FP80m_ZnWriteCVTPD2DQr_ZnWriteEXTRACTPSm_ZnWriteMOVBE_ZnWriteCVSTSI2SIr_ZnWriteCVTDQ2PDr_ZnWriteCVSTSI2SDr_ZnWritePop16r
5019
  {16,  0}, // #6 WriteBSFLd_WriteBSRLd_WriteDiv8Ld_WriteFHAddLd_WriteIDiv8Ld_WriteFHAddYLd_WriteFDivXLd_BWWriteResGroup150_WritePCmpIStrILd_WritePCmpIStrMLd_WriteFSqrt64X_WriteFSqrtXLd_WriteFSqrtLd_WritePMULLDYLd_BWWriteResGroup153_WriteDPPSLd_WriteFDivLd_WritePMULLDLd_WriteFRsqrtZLd_SKXWriteResGroup199_HWWriteResGroup120_SKLWriteResGroup177_SKLWriteResGroup178
5020
  { 9,  0}, // #7 WriteBitTestRegLd_WriteFCMOV_WriteCvtSD2ILd_WriteCvtSS2ILd_WriteFHAddLd_WriteFMul64X_WriteFRcpX_WriteFRsqrtX_WriteFHAddYLd_AtomWrite01_9_WriteAESDecEnc_WriteCvtI2PSLd_WriteCvtPS2ILd_WriteCvtSD2SSLd_WriteCvtI2SDLd_WriteCvtI2SSLd_WriteCvtSS2SDLd_WriteFDiv64X_WriteFDivX_WriteIMul16ImmLd_WriteVecIMulLd_WritePSADBWLd_WriteMPSAD_WritePHMINPOSLd_WriteVecIMulXLd_WritePSADBWXLd_WriteFRndLd_WriteFSqrt64X_WriteFSqrtX_WriteCvtI2PSYLd_WriteCvtPS2IYLd_WriteFDiv64Y_WriteFDivY_WriteFRndYLd_WriteFSqrt64Y_WriteFSqrtY_PdWriteRCR16rCL_WriteCvtI2PDLd_WriteDPPD_WriteIMul16Ld_WriteIMul32Ld_WriteIMul64Ld_WriteSHDmri_WriteFAdd64YLd_WriteFAddYLd_WriteShuffle256Ld_WriteFShuffle256Ld_WriteFCmp64YLd_WriteFCmpYLd_WriteVarShuffle256Ld_WriteCvtI2PDYLd_WriteFMul64YLd_WriteFMulYLd_WriteFVarShuffle256Ld_WritePHAddYLd_WriteVarVecShiftYLd_BWWriteResGroup101_BWWriteResGroup105_BWWriteResGroup112_BWWriteResGroup106_BWWriteResGroup107_BWWriteResGroup108_BWWriteResGroup113_WriteIMul64RegLd_WriteIMul64ImmLd_WriteFMul64XLd_WriteFMul64Ld_WritePMULLDLd_WriteSHDmrcl_WriteFVarShuffleYLd_WriteVecTestYLd_WriteFTestYLd_WriteFAdd64Ld_WriteFAddLd_WriteFCmp64Ld_WriteFCmpLd_WriteFMulLd_WritePHAddXLd_WriteVecTestLd_WriteFRcpLd_WriteFRsqrtLd_WriteFMALd_WriteFVarBlendYLd_WriteFVarBlendZLd_WriteCvtI2PDZLd_WriteCvtI2PSZLd_WriteCvtPH2PSLd_WriteFRsqrtZ_SKXWriteResGroup135_SKXWriteResGroup137_SKXWriteResGroup136_SKXWriteResGroup146_SKXWriteResGroup143_SBWriteResGroup98_WriteFAdd64XLd_WriteFAddXLd_SBWriteResGroup100_WriteRMW_WriteFCmp64XLd_WriteFCmpXLd_WritePOPCNTLd_WriteFMaskedLoadY_WriteVarBlendYLd_WriteVarBlendZLd_WriteVecMaskedLoadY_SBWriteResGroup97_2_SBWriteResGroup95_SBWriteResGroup93_SBWriteResGroup99_SBWriteResGroupVzeroall_WriteCMPXCHGRMW_HWWriteResGroup69_WriteVarVecShiftLd_HWWriteResGroup66_HWWriteResGroup68_HWWriteResGroup76_HWWriteResGroup52_HWWriteResGroup53_1_HWWriteResGroup78_1_HWWriteResGroup80_HWWriteResGroup87_SKLWriteResGroup120_SKLWriteResGroup123_SKLWriteResGroup121_SKLWriteResGroup131_SKLWriteResGroup128_ZnWriteMul64Ld_WriteStore_WriteVecShiftYLd_ZnWriteFPU02_ZnWriteVINSERT128Ld_ZnWriteFPU01Op2Y_ZnWriteFPU013LdY_ZnWriteSHA1MSG1Ld
5021
  { 2,  0}, // #8 AtomWrite01_2_WriteLAHFSAHF_WriteVecShift_WriteStore_WriteVecShiftX_WriteSETCCStore_WriteSHDrrcl_WriteSHDrri_WriteXCHG_WriteVecALU_WriteFLogic_WriteBEXTR_WriteFBlend_WriteFVarBlend_WriteBLS_WriteBitTestSet_WriteFCmp64X_WriteFCmpX_WriteVecALUX_WriteEMMS_WriteFShuffle_WriteVecLogicX_WriteShuffle_WriteLZCNT_WriteVecStore_WriteVecMoveX_WriteVecStoreNT_WriteVecInsert_WriteVecShiftImm_WriteFStore_WriteShuffleX_WriteVarBlend_WriteBlend_WritePHAddX_WriteVecShiftImmX_WriteTZCNT_WriteShuffleY_WriteFLogicY_WriteFVarBlendY_WriteFBlendY_WriteFShuffle256_WriteFCmp64Y_WriteFCmpY_WriteFMoveY_WriteFShuffleY_WriteVecMoveY_WriteVecStoreNTY_PdWriteXADD_PdWriteVEXTRACTF128rr_PdWriteBMI1_PdWriteXCHG16rr_WriteSAHF_PdWriteMOVHPm_WriteBSWAP64_WriteCMOV2_WriteVecExtractSt_WriteVecTest_WriteRotate_WriteSTMXCSR_WriteCvtPH2PSY_WriteVarBlendY_BWWriteResGroup14_BWWriteResGroup20_BWWriteResGroup22_BWWriteResGroup12_BWWriteResGroup17_BWWriteResGroup25_BWWriteResGroup16_BWWriteResGroup18_BWWriteResGroup24_BWWriteResGroup15_WriteFSign_WriteAESIMC_WriteAESKeyGen_WriteCvtPS2PD_WriteVecIMul_WritePSADBW_WriteVarShuffle_WriteFMulX_WriteCLMul_WritePHMINPOS_WriteVecIMulX_WritePSADBWX_WriteVarShuffleX_WriteFRcpX_WriteFRsqrtX_WriteCvtPS2PDY_WriteFMulY_WriteFRcpY_WriteFRsqrtY_JWriteINSERTQ_JWrite3OpsLEA_WriteFCom_WriteVecMoveToGpr_WriteMMXMOVMSK_WriteFMOVMSK_WriteVecMOVMSK_WriteFVarBlendZ_WriteFMaskedStoreY_WriteVarBlendZ_WriteVecMaskedStoreY_WriteVecMOVMSKY_WriteFTestY_SKXWriteResGroup17_SKXWriteResGroup23_SKXWriteResGroup25_SKXWriteResGroup14_SKXWriteResGroup15_SKXWriteResGroup28_SKXWriteResGroup20_SKXWriteResGroup13_SKXWriteResGroup21_SKXWriteResGroup27_SKXWriteResGroup29_WriteADC_WriteCvtPS2PDZ_WriteVecTestY_SBWriteResGroup18_SBWriteResGroup9_SBWriteResGroup11_SBWriteResGroup12_SBWriteResGroup15_SBWriteResGroup23_WriteCvtPH2PSZ_HWWriteResGroup30_HWWriteResGroup35_HWWriteResGroup21_HWWriteResGroup28_HWWriteResGroup33_HWWriteResGroup24_HWWriteResGroup32_HWWriteResGroup19_HWWriteResGroup23_HWWriteResGroup23_16_HWWriteResGroup31_SKLWriteResGroup17_SKLWriteResGroup23_SKLWriteResGroup25_SKLWriteResGroup14_SKLWriteResGroup15_SKLWriteResGroup28_SKLWriteResGroup20_SKLWriteResGroup13_SKLWriteResGroup21_SKLWriteResGroup27_ZnWriteALULat2_WriteShuffle256_WriteVarShuffle256_WriteVecShiftY_ZnWriteEXTRACTPSr_ZnWriteFPU013Y_ZnWritePShiftY_ZnWriteVINSERT128r_ZnWriteEXTRQ_ZnWriteSHA1MSG1r
5022
  {11,  0}, // #9 AtomWrite01_11_WriteFHAdd_WritePCmpIStrMLd_WriteFHAddY_PdWriteRCR8rCL_PdWriteRCL16ri_WriteFDivX_BWWriteResGroup122_1_WritePCmpIStrI_WriteFRndLd_WriteSHDmrcl_WriteFSqrtX_WritePSADBWYLd_WriteFMAYLd_WriteVecIMulYLd_WriteFHAddYLd_WriteFRcpY_WriteFRsqrtY_BWWriteResGroup133_BWWriteResGroup123_BWWriteResGroup128_BWWriteResGroup131_BWWriteResGroup132_WriteDPPS_WriteCvtPD2IYLd_WriteCvtPD2PSYLd_WriteCvtSD2ILd_WriteCvtSS2ILd_SKXWriteResGroup159_WriteFMAZLd_WriteFAdd64YLd_WriteFAdd64ZLd_WriteFAddYLd_WriteFAddZLd_WriteFCmp64YLd_WriteFCmpYLd_WriteFCmpZLd_WriteFDivY_WriteVecIMulZLd_WriteFCmp64ZLd_WriteMPSADYLd_WriteFMul64YLd_WriteFMul64ZLd_WriteFMulYLd_WriteFMulZLd_WriteFRcpYLd_WriteFRcpZLd_WriteFRsqrtYLd_SKXWriteResGroup171_SKXWriteResGroup162_SKXWriteResGroup160_SKXWriteResGroup161_SKXWriteResGroup166_SKXWriteResGroup164_SKXWriteResGroup169_SKXWriteResGroup170_SKXWriteResGroup163_SKXWriteResGroup167_WriteFHAddLd_WriteFMul64XLd_WriteFMulXLd_WriteFMul64Ld_WriteFMulLd_WritePCmpEStrMLd_WritePHMINPOSLd_WriteVecIMulXLd_WritePMULLDLd_WritePSADBWXLd_WriteFRcpXLd_WriteFRcpLd_WriteFRsqrtXLd_WriteFRsqrtLd_WriteCvtPD2IZLd_WriteCvtPD2PSZLd_WriteVecShiftYLd_WriteVecShiftZLd_SBWriteResGroup108_SBWriteResGroup104_SBWriteResGroup106_WriteCLMul_WriteFMAXLd_WriteVecTestYLd_WriteFRsqrtZ_HWWriteResGroup131_HWWriteFRNDINT_HWWriteResGroup91_2_HWWriteResGroup75_HWWriteResGroup129_HWWriteResGroup130_SKLWriteResGroup145_SKLWriteResGroup156_SKLWriteResGroup151_SKLWriteResGroup149_SKLWriteResGroup146_SKLWriteResGroup147_SKLWriteResGroup152_SKLWriteResGroup150_SKLWriteResGroup154_SKLWriteResGroup155_WriteAESDecEncLd_WriteAESIMCLd_WriteAESKeyGenLd_ZnWriteCVTPD2PSLd_ZnWriteCVTSS2SDLd_ZnWriteFPU3_WriteVecIMulLd_ZnWriteCVTPD2PSYLd_WriteFRndYLd_ZnWriteFILD_ZnWriteSHA256RNDS2Ld
5023
  {15,  0}, // #10 WriteCMPXCHG_WriteSTMXCSR_WriteDiv16_WriteDPPD_WriteIDiv16_WritePCmpEStrI_WritePCmpEStrMLd_PdWriteVFRCZm_PdWriteVFRCZYm_WritePMULLDLd_BWWriteResGroup149_BWWriteResGroup147_WriteDiv8Ld_WriteIDiv8Ld_WriteDPPDLd_WriteFRndYLd_WriteFRndZLd_SKXWriteResGroup195_SKXWriteResGroup191_SKXWriteResGroup194_SBWriteResGroup119_HWWriteResGroup115_HWWriteFXTRACT_SKLWriteResGroup174_SKLWriteResGroup171_WriteFDiv64X_WriteFDivX_ZnWriteVDIVPDY
5024
  { 8,  0}, // #11 WriteCvtI2PDLd_WriteCvtPD2ILd_WriteCvtPD2PSLd_WriteCvtPS2PDLd_WriteCvtSD2I_WriteCvtSS2I_WriteFHAdd_WriteIMul16Ld_WritePHAddXLd_WriteFHAddY_WritePHAddYLd_AtomWrite01_8_WriteBSRLd_WriteIMul16RegLd_WriteIMul32Ld_WriteIMul32RegLd_WriteIMul32ImmLd_WriteIMul8Ld_WriteVarShuffleLd_WriteVecShiftLd_WritePOPCNTLd_WriteVarShuffleXLd_WriteVecShiftXLd_WriteCvtI2PDY_WriteCvtPD2IY_WriteCvtPD2PSY_WriteCvtPH2PSY_WriteCvtPS2PDY_WriteCvtPS2PHY_WriteFVarShuffleYLd_WriteFVarShuffleLd_WriteVarVecShiftLd_PdWriteVPERM2F128rm_PdWriteRCL3264ri_WriteCMPXCHGRMW_BWWriteResGroup100_WriteFAdd64XLd_WriteFAddXLd_WriteFAdd64Ld_WriteFAddLd_WriteBSFLd_WriteFCmp64XLd_WriteFCmpXLd_WriteFCmp64Ld_WriteFCmpLd_WriteFComLd_WriteCRC32Ld_WriteCvtPS2ILd_WriteCvtSD2ILd_WriteCvtSD2SSLd_WriteCvtSS2SDLd_WriteCvtSS2ILd_WriteIMul16ImmLd_WriteIMul64RegLd_WriteIMul64ImmLd_WriteLZCNTLd_WritePHAddLd_WriteFMul64XLd_WriteFMulXLd_WriteFMul64Ld_WriteFMulLd_WriteTZCNTLd_WriteFVarBlendYLd_WriteCvtPD2IYLd_WriteCvtPD2PSYLd_WriteCvtPS2IYLd_WriteCvtPS2PDYLd_WriteFMaskedLoadY_WriteVarBlendYLd_WriteVecMaskedLoadY_BWWriteResGroup97_BWWriteResGroup91_BWWriteResGroup99_BWWriteResGroup154_BWWriteResGroup92_WriteAESDecEncLd_WriteCvtI2PSLd_WriteVecMoveFromGpr_WriteMPSADLd_WritePCmpIStrM_WriteVecTestLd_WriteFRndLd_WriteFAdd64YLd_WriteFAddYLd_WriteCvtI2PDYLd_WriteCvtI2PSYLd_WriteCvtPH2PSYLd_WriteCvtPH2PSLd_WriteFRndYLd_WriteFTestLd_SKXWriteResGroup130_WriteAESIMC_WriteFVarBlendLd_WritePSADBWLd_WriteVarBlendLd_WriteShuffleYLd_WriteShuffleZLd_WriteFLogicYLd_WriteFLogicZLd_WriteFBlendYLd_WriteCvtPD2IZLd_WriteCvtPD2PSZLd_WriteCvtPS2IZLd_WriteCvtPS2PDZLd_WriteCvtPS2PHYSt_WriteCvtPS2PHZSt_WriteFRndZ_WriteVecALUYLd_WriteVecALUZLd_WriteFShuffleYLd_WriteFShuffleZLd_WriteVecLogicYLd_WriteVecLogicZLd_WriteBlendYLd_WriteVarBlendZLd_WriteFVarShuffleZLd_WriteVecShiftImmYLd_WriteVecShiftImmZLd_WriteVarVecShiftYLd_WriteVarVecShiftZLd_WriteVarShuffleYLd_WriteVarShuffleZLd_WriteVecShiftYLd_WriteVecShiftZLd_SKXWriteResGroup127_SKXWriteResGroup128_SKXWriteResGroup118_SKXWriteResGroup119_SKXWriteResGroup121_SKXWriteResGroup123_SKXWriteResGroup131_SKXWriteResGroup132_SKXWriteResGroup133_SKXWriteResGroup134_WriteAESKeyGenLd_WriteCMOV2Ld_WriteVecALULd_WriteSHDmri_WriteShuffle256Ld_WriteFShuffle256Ld_WriteVarShuffle256Ld_WriteCvtPH2PSZLd_WriteFVarShuffle256Ld_WriteFTestYLd_SBWriteResGroup86_SBWriteResGroup84_SBWriteResGroup77_SBWriteResGroup83_SBWriteResGroup85_SBWriteResGroup87_HWWriteResGroup12_HWWriteResGroup48_HWWriteResGroup46_HWWriteResGroup47_HWWriteResGroup145_HWWriteResGroup11_2_HWWriteResGroup13_1_HWWriteResGroup17_2_WriteAESIMCLd_WriteFRcpXLd_WriteFRcpLd_WriteFRsqrtXLd_WriteFRsqrtLd_WriteFMul64YLd_WriteFMulYLd_WriteFRcpYLd_WriteFRsqrtYLd_SKLWriteResGroup119_SKLWriteResGroup116_SKLWriteResGroup117_SKLWriteResGroup107_SKLWriteResGroup108_SKLWriteResGroup110_SKLWriteResGroup112_WriteFLoadX_WriteFLoadY_WriteFLogicLd_WriteFBlendLd_WriteLoad_WriteVecALUXLd_ZnWriteMul16Ld_ZnWriteMul32Ld_WriteFShuffleLd_WriteVecLoadX_ZnWriteFPU13_WriteShuffleLd_WriteVecLogicLd_WriteVecInsertLd_WriteVecLoadNT_WriteFStoreNT_WriteShuffleXLd_WriteVecLogicXLd_WriteBlendLd_WriteVecLoadY_WriteVecLoadNTY_WriteVecShiftImmXLd_WriteVecTestYLd_ZnWriteLEAVE_ZnWritePushA_ZnWritePCMPGTQm_ZnWriteBROADCAST_ZnWriteFPU12Ym_ZnWriteFPU01Op2_ZnWriteVPBROADCAST256Ld_ZnWritePCMPGTQYm_ZnWriteFPU0Lat1Ld_ZnWriteMulX32Ld_ZnWriteMulX64Ld_ZnWriteFPU013Ld_ZnWriteVPBROADCAST128Ld_ZnWriteFPU013m_ZnWriteSHA1MSG2Ld_ZnWriteSHA1NEXTELd
5025
  {50,  0}, // #12 WriteDiv16Ld_WriteDiv32Ld_WriteDiv8
5026
  {130,  0}, // #13 WriteDiv64Ld_WriteIDiv64Ld_AtomWrite01_130
5027
  {68,  0}, // #14 WriteDiv8Ld_AtomWrite01_68
5028
  {125,  0}, // #15 WriteFDiv64XLd_WriteFSqrt64XLd
5029
  {70,  0}, // #16 WriteFDivXLd_WriteFSqrtXLd
5030
  {34,  0}, // #17 WriteFDivLd_WriteFSqrtLd_WriteDiv16Ld_WriteDiv32Ld_WriteDiv64Ld_WriteDiv8Ld_BWWriteResGroup191_SBWriteResGroup131_WriteAESKeyGenLd_HWWriteResGroup166_WriteFDiv64
5031
  {62,  0}, // #18 WriteFDiv64Ld_WriteIDiv16Ld_WriteIDiv32Ld_WriteIDiv8Ld_WriteFSqrt64Ld_SKXWriteResGroup258_SKLWriteResGroup217
5032
  {10,  0}, // #19 AtomWrite01_10_WriteFMul64XLd_WriteFRcpXLd_WriteFRsqrtXLd_WriteFAdd64XLd_WriteFAddXLd_WriteFAdd64Ld_WriteFAddLd_WriteAESIMCLd_WriteAESKeyGenLd_WriteIMul64Ld_WriteIMul64RegLd_WriteIMul64ImmLd_WriteVecMoveToGpr_WriteVecMoveFromGpr_WritePHAddLd_WriteMMXMOVMSK_WriteFMOVMSK_WriteFMulXLd_WriteFMul64Ld_WriteFMulLd_WritePCmpEStrM_WritePMULLDLd_WriteFRcpLd_WriteFRsqrtLd_WriteFMALd_WriteFAdd64YLd_WriteFAddYLd_WriteFMAYLd_WriteFMAXLd_WriteFMul64YLd_WriteFMulYLd_WriteFRcpYLd_WriteFRsqrtYLd_PdWriteCRC32r64r64_PdWriteRCL16rCL_PdWriteRCR16ri_PdWriteVFRCZ_PdWriteVFRCZY_WriteFHAddLd_WriteVecIMulLd_WritePSADBWLd_WriteCLMulLd_WritePHMINPOSLd_WriteVecIMulXLd_WritePSADBWXLd_WritePMULLDY_WriteVecTestYLd_BWWriteResGroup120_BWWriteResGroup115_BWWriteResGroup117_WriteAESDecEncLd_WriteFCmp64XLd_WriteFCmpXLd_WriteEMMS_WriteMPSADLd_WritePCmpIStrI_WritePCmpIStrM_WriteShuffle256Ld_WriteFShuffle256Ld_WriteVarShuffle256Ld_WriteCvtPH2PSYLd_WriteCvtPH2PSZLd_WritePSADBWYLd_WritePSADBWZLd_WriteFVarShuffle256Ld_WritePHAddYLd_WritePMULLDZ_SKXWriteResGroup148_SKXWriteResGroup157_SKXWriteResGroup149_SKXWriteResGroup153_SKXWriteResGroup154_SKXWriteResGroup151_WriteCvtI2PDLd_WriteCvtPD2ILd_WriteCvtPD2PSLd_WriteCvtSD2ILd_WriteCvtSD2SSLd_WriteCvtI2SSLd_WriteCvtSS2ILd_WriteSHDmrcl_WriteFMAZLd_WriteFAdd64ZLd_WriteFAddZLd_WriteFCmp64YLd_WriteFCmpYLd_WriteFCmpZLd_WriteCvtI2PDYLd_WriteCvtI2PDZLd_WriteCvtI2PSYLd_WriteCvtI2PSZLd_WriteCvtPS2IYLd_WriteCvtPS2IZLd_WriteFRndYLd_WriteFRndZLd_WriteFCmp64ZLd_SBWriteResGroup101_WriteSHDmri_WriteVarVecShiftYLd_WriteVarVecShiftZLd_HWWriteResGroup52_1_HWWriteResGroup97_HWWriteResGroup77_HWWriteResGroup78_WriteBSF_WriteBSR_WriteMPSADYLd_SKLWriteResGroup133_SKLWriteResGroup143_SKLWriteResGroup134_SKLWriteResGroup138_SKLWriteResGroup139_SKLWriteResGroup140_WriteFCmp64Ld_WriteFCmpLd_WriteFComLd_WriteCRC32Ld_ZnWriteCVTPS2PDLd
5033
  {12,  0}, // #20 WriteIMul64Ld_WriteIMul64RegLd_WriteDiv8_WriteIDiv8_WriteCLMul_PdWriteRCL8rCL_PdWriteRCR8ri_WriteAESDecEncLd_WriteMPSADLd_WriteFRndYLd_BWWriteResGroup135_WriteCvtSD2ILd_WriteCvtSD2SSLd_WriteCvtSS2SDLd_WriteCvtSS2ILd_WritePCmpIStrILd_WriteDPPSY_WriteFHAddLd_WriteCLMulLd_WriteFSqrtX_WriteFSqrtY_SKXWriteResGroup179_SKXWriteResGroup200_SKXWriteResGroup174_SKXWriteResGroup174z_SKXWriteResGroup175_SKXWriteResGroup176_SKXWriteResGroup177_WriteAESIMC_WritePSADBWYLd_WritePSADBWZLd_WriteVecIMulYLd_WriteVecIMulZLd_WriteFHAddYLd_WriteFMul64YLd_WriteFMul64ZLd_WriteFMulYLd_WriteFMulZLd_WritePMULLDYLd_WritePMULLDZLd_SBWriteResGroup111_WriteFRndLd_WriteSHDmrcl_WriteFMAZLd_WriteFMAYLd_HWWriteResGroup91_3_HWWriteResGroup104_SKLWriteResGroup160_WriteCvtI2PDLd_WriteCvtI2PSLd_WriteCvtPD2ILd_WriteCvtPS2ILd_WriteCvtI2SDLd_WriteCvtI2SSLd_WriteFRcpXLd_WriteFRcpLd_WriteFRsqrtXLd_ZnWriteRSQRTSSLd_WriteFMALd_WriteCvtI2PDYLd_WriteCvtI2PSYLd_WriteCvtPD2IYLd_WriteCvtPS2IYLd_ZnWriteVDIVPSYr_WriteFMAXLd_WriteFRcpYLd_ZnWriteRSQRTPSYLd_ZnWriteFIST_ZnWriteCVTPD2DQLd_ZnWriteCVSTSI2SILd_ZnWriteFPU03
5034
  {14,  0}, // #21 WriteIMul64ImmLd_AtomWrite01_14_WriteAESDecEncLd_WriteDiv32_WriteDiv64_WriteFDiv64XLd_WriteFDivXLd_WriteFDivLd_WriteFDiv64Ld_WriteIDiv32_WriteIDiv64_WriteMPSADLd_WritePCmpIStrI_WriteFSqrt64XLd_WriteFSqrtXLd_WriteFSqrt64Ld_WriteFSqrtLd_WriteFDiv64YLd_WriteFDivYLd_WriteFSqrt64YLd_WriteFSqrtYLd_WriteAESIMC_BWWriteResGroup139_1_WriteDPPDLd_WriteDPPS_WriteDPPSY_BWWriteResGroup146_BWWriteResGroup145_BWWriteResGroup141_BWWriteResGroup144_WritePCmpEStrI_WritePCmpEStrM_WriteAESIMCLd_SKXWriteResGroup184_WriteFRndLd_SKXWriteResGroup184_1_SKXWriteResGroup190_SKXWriteResGroup187_SKXWriteResGroup188_SKXWriteResGroup189_WriteCLMulLd_WriteMPSADYLd_WriteFRcpYLd_WriteFRcpZLd_WriteFRsqrtYLd_WriteFRsqrtZLd_HWWriteResGroup142_SKLWriteResGroup166_SKLWriteResGroup166_1_SKLWriteResGroup170_SKLWriteResGroup169
5035
  { 3,  0}, // #22 WriteVecMoveToGpr_WritePHAdd_WriteMMXMOVMSK_WriteVecShiftLd_WriteFMOVMSK_WriteVecMOVMSK_WriteVecShiftXLd_AtomWrite01_3_WriteCMPXCHGRMW_WriteBSF_WriteCRC32_WriteFLDC_WriteFLD0_WriteFLD1_WriteVarShuffle_WriteFStoreNTX_WriteVarShuffleX_WriteFStoreNTY_WriteFVarShuffleY_WriteVarVecShift_PdWriteCMPXCHG8rm_PdWriteCMPXCHG8rr_PdWriteCMPXCHG16rm_CMPXCHG32rm_CMPXCHG64rm_PdWriteCMPXCHG8B_PdWriteCMPXCHG16B_PdWriteEXTRQ_PdWriteINSERTQ_PdWriteSHLD32rri8SHRD16rri8_WriteFAdd64X_WriteFAddX_WriteBSR_WriteFCMOV_WriteFCmp64X_WriteFCmpX_WriteFCom_WriteCvtPD2I_WriteCvtPD2PS_WriteCvtPS2I_WriteCvtPS2PD_WriteCvtSD2I_WriteCvtSD2SS_WriteCvtSS2SD_WriteCvtSS2I_WriteIMul16Reg_WriteIMul32Reg_WriteIMul32Imm_WriteIMul64Reg_WriteIMul64Imm_WriteIMul8_WriteLZCNT_WriteFMul64X_WriteFMulX_WritePHAddX_WritePOPCNT_WriteRotateCL_WriteShiftCL_WriteSHDrri_WriteTZCNT_WriteFAdd64Y_WriteFAddY_WriteShuffle256_WriteFShuffle256_WriteFCmp64Y_WriteFCmpY_WriteVarShuffle256_WriteCvtPD2IY_WriteCvtPD2PSY_WriteCvtPS2IY_WriteCvtPS2PDY_WriteFMul64Y_WriteFMulY_WriteFVarShuffle256_WritePHAddY_WriteVecMOVMSKY_WriteVarVecShiftY_BWWriteResGroup27_BWWriteResGroup34_BWWriteResGroup35_BWWriteResGroup38_BWWriteResGroup37_BWWriteResGroup28_BWWriteResGroup33_WriteAESDecEnc_WriteLoad_WriteCvtI2PD_WriteCvtI2PS_WriteVecExtractSt_WriteIMul16Imm_WriteLDMXCSR_WriteMPSAD_WriteVecTest_WriteFRnd_WriteFVarBlendY_WriteCvtI2PDY_WriteCvtI2PSY_WriteCvtPH2PSY_WriteCvtPS2PH_WriteFRndY_WriteFTest_JSlowLEA16r_WritePSADBW_WritePSADBWX_WriteCvtPD2IZ_WriteCvtPD2PSZ_WriteCvtPS2IZ_WriteCvtPS2PDZ_WritePSADBWY_WritePSADBWZ_WriteVecTestY_SKXWriteResGroup42_SKXWriteResGroup34_SKXWriteResGroup44_SKXWriteResGroup48_SKXWriteResGroup47_SKXWriteResGroup46_SKXWriteResGroup45_SKXWriteResGroup32_SKXWriteResGroup43_SKXWriteResGroup31_SKXWriteResGroup41_SKXWriteResGroup37_SKXWriteResGroup38_SKXWriteResGroup30_WriteVecALU_WriteCMOV2_WriteFAdd64Z_WriteFAddZ_WriteFCmpZ_WriteCvtI2PSZ_WriteCvtPH2PSZ_WriteCvtPS2PHY_WriteCvtPS2PHZ_WriteFRndZ_WriteFCmp64Z_SBWriteResGroup21_SBWriteResGroup22_SBWriteResGroup26_2_SBWriteResGroup43_WriteVarVecShiftZ_HWWriteResGroup50_HWWriteResGroup58_HWWriteResGroup59_HWWriteResGroup45_HWWriteResGroup44_HWWriteResGroup51_HWWriteResGroup57_WriteFLoadX_WriteFLoadY_WriteDPPD_WriteDPPS_WriteFHAdd_WriteVecLoadX_WriteVecLoadNT_WriteDPPSY_WriteFHAddY_WriteVecLoadY_WriteFMaskedLoadY_WriteVecLoadNTY_WriteVecMaskedLoadY_SKLWriteResGroup40_SKLWriteResGroup32_SKLWriteResGroup42_SKLWriteResGroup46_SKLWriteResGroup45_SKLWriteResGroup44_SKLWriteResGroup43_SKLWriteResGroup30_SKLWriteResGroup41_SKLWriteResGroup29_SKLWriteResGroup39_SKLWriteResGroup35_SKLWriteResGroup36_ZnWriteCVTPS2PDr_ZnWriteMul16_ZnWriteMul32_WriteVecMoveFromGpr_ZnWriteVCVTPS2PDY_ZnWriteMulX32_ZnWriteMulX64
5036
  { 4,  0}, // #23 WritePHAddLd_WriteVecIMulLd_WritePSADBWLd_WriteFMulLd_WriteVarShuffleX_WriteFRcpLd_WriteFRsqrtLd_WriteSHDmrcl_WriteSHDmri_AtomWrite01_4_WriteBSR_WriteCvtI2PS_WriteCvtPS2I_WriteCvtSD2SS_WriteCvtI2SD_WriteCvtI2SS_WriteCvtSS2SD_WriteIMul16_WriteIMul16Reg_WriteIMul32_WriteIMul32Reg_WriteIMul32Imm_WriteIMul8_WritePHMINPOS_WriteVecIMulX_WritePOPCNT_WritePSADBWX_WriteFRnd_WriteSHDrrcl_WriteSHDrri_WriteCvtI2PSY_WriteCvtPS2IY_WriteCvtPS2PHYSt_WriteCvtPS2PHSt_WriteFRndY_WriteMMX_CVTPI2PSirr_PdWriteSHLD16rrCLSHLD32rrCLSHRD32rrCL_PdWriteVPERM2F128rr_JWriteVPMACS_WriteCvtI2PD_WriteIMul16Imm_WriteIMul64_WriteCvtI2PDY_WriteVecShiftY_WriteVecTestY_BWWriteResGroup42_BWWriteResGroup44_BWWriteResGroup39_BWWriteResGroup45_BWWriteResGroup41_BWWriteResGroup43_BWWriteResGroup40_WriteCMPXCHGRMW_WriteJumpLd_WriteADCLd_WriteALULd_WriteBEXTRLd_WriteBSF_WriteBitTestImmLd_WriteBitTestRegLd_WriteCMOV2Ld_WriteCMOVLd_WriteFHAdd_WriteLZCNTLd_WriteVecMoveToGpr_WriteVecInsertLd_WriteFMul64X_WritePMULLD_WriteStore_WritePOPCNTLd_WriteRotateLd_WriteRotateCLLd_WriteShiftLd_WriteShiftCLLd_WriteFHAddY_WriteFMul64Y_WriteFVarShuffleY_WriteFTestY_WriteFAdd64X_WriteFAddX_WriteAESDecEnc_WriteFCmp64X_WriteFCmpX_WriteMPSAD_WriteFMulX_WriteFRcpX_WriteFRsqrtX_WriteFAdd64Y_WriteFAdd64Z_WriteFAddY_WriteFAddZ_WriteFCmp64Y_WriteFCmpY_WriteFCmpZ_WriteCvtI2PDZ_WriteCvtI2PSZ_WriteFMAY_WriteFMAX_WriteFMAZ_WriteVecIMulY_WriteVecIMulZ_WriteFCmp64Z_WriteMPSADY_WriteFMul64Z_WriteFMulY_WriteFMulZ_WriteVecShiftZ_WriteFRcpY_WriteFRcpZ_WriteFRsqrtY_SKXWriteResGroup54_SKXWriteResGroup55_SKXWriteResGroup50_SKXWriteResGroup57_SKXWriteResGroup49_SKXWriteResGroup50z_SKXWriteResGroup51_WriteCvtPD2I_WriteCvtPD2PS_WritePCmpEStrILd_WriteCvtPD2IY_WriteCvtPD2IZ_WriteCvtPD2PSY_WriteCvtPD2PSZ_WriteCvtPS2PHZSt_SBWriteResGroup29_2_HWWriteResGroup73_HWWriteMOVS_HWWriteResGroup62_HWWriteResGroup70_HWWriteResGroup81_HWWriteResGroup72_HWWriteResGroup61_HWWriteCMPS_HWWriteResGroup71_HWWriteResGroup83_WriteFLogicLd_WriteFBlendLd_WriteFVarBlendLd_WriteRMW_WriteCvtPS2PD_WriteCvtSD2I_WriteCvtSS2I_WriteVecExtractSt_WriteVecALUXLd_WriteFShuffleLd_WriteVecALULd_WriteShuffleLd_WriteVecLogicLd_WriteMMXMOVMSK_WriteVarShuffleLd_WriteVecShiftLd_WriteFMOVMSK_WriteShuffleXLd_WriteVecLogicXLd_WriteVarBlendLd_WriteBlendLd_WritePHAddXLd_WriteVecMOVMSK_WriteVarShuffleXLd_WriteVecShiftXLd_WriteVecTestLd_WriteShuffleYLd_WriteFLogicYLd_WriteCvtPS2PDY_WritePSADBWY_WriteVecALUYLd_WriteFShuffleYLd_WriteVecLogicYLd_WriteBlendYLd_WriteFVarShuffleYLd_WriteFVarShuffleLd_WritePHAddYLd_WriteVecMOVMSKY_WritePMULLDY_WriteVecShiftImmXLd_WriteVecShiftImmYLd_WriteVarVecShiftLd_WriteVarShuffleYLd_WriteVecShiftYLd_WriteVecTestYLd_WriteFTestYLd_WriteFTestLd_SKLWriteResGroup53_SKLWriteResGroup55_SKLWriteResGroup54_SKLWriteResGroup48_SKLWriteResGroup57_SKLWriteResGroup47_WriteAESIMC_WriteAESKeyGen_ZnWriteCVTPD2PSr_ZnWriteCVTSS2SDr_ZnWriteMul64_WriteIMulH_WriteFMaskedStore_WriteVecMaskedStore_ZnWriteCVTPS2PIr_ZnWritePUSH_ZnWriteINSERTQ_ZnWriteSHA256RNDS2r
5037
  { 1,  0}, // #24 WriteRotateLd_WriteRotateCLLd_WriteShiftLd_WriteShiftCLLd_WriteALULd_WriteRMW
5038
  { 1,  0}, // #25 WriteRMW
5039
  {71,  0}, // #26 WriteFSqrt80_AtomWrite01_71_WriteFSqrt64X_WriteFSqrt64Y
5040
  {13,  0}, // #27 AtomWrite01_13_WriteCvtI2PDLd_WriteCvtPD2ILd_WriteCvtPD2PSLd_WriteCvtPS2PDLd_WriteCvtSD2I_WriteCvtSS2I_WriteVecExtractSt_WriteVecMOVMSK_WriteCvtI2PDYLd_WriteCvtPD2IYLd_WriteCvtPD2PSYLd_WriteCvtPH2PSYLd_WriteCvtPH2PSLd_WriteCvtPS2PDYLd_PdWriteRCL8ri_WriteCVTSI642SDrr_PdWriteVPCLMULQDQrr_WriteMPSADYLd_WritePCmpIStrMLd_WriteDPPS_WriteDPPSY_WriteFHAddYLd_SKXWriteResGroup180_SKXWriteResGroup181_SKXWriteResGroup183_WriteAESDecEncLd_WriteMPSADLd_SBWriteResGroup114_WriteFDivX_WriteFRndYLd_WriteFRndZLd_HWWriteResGroup103_WriteBSFLd_WriteBSRLd_SKLWriteResGroup162_SKLWriteResGroup163_ZnWriteSHA1RNDS4Ld
5041
  {17,  0}, // #28 AtomWrite01_17_WriteCLMulLd_WriteFDivY_WriteFRcpYLd_WriteFRsqrtYLd_WriteDiv16_WriteIDiv16_WriteDPPSYLd_SKXWriteResGroup201_WriteFSqrtLd_WritePMULLDYLd_WritePMULLDZLd_SKXWriteResGroup202_WritePCmpIStrILd_WritePCmpIStrMLd_WriteFSqrtXLd_HWWriteResGroup147_HWWriteResGroup132_WritePCmpEStrMLd_SKLWriteResGroup179_SKLWriteResGroup180
5042
  {18,  0}, // #29 AtomWrite01_18_WriteCvtSD2ILd_WriteCvtSS2ILd_WriteDiv32Ld_WriteDiv64Ld_WriteIDiv32Ld_WriteIDiv64Ld_WritePCmpEStrI_BWWriteResGroup160_BWWriteResGroup159_WriteFSqrt64X_WriteFSqrtXLd_WriteFDivYLd_WriteFDivZ_WriteFSqrt64Y_SKXWriteResGroup208_SKXWriteResGroup207_SKXWriteResGroup205_WriteAESIMCLd_WriteDPPSLd_WriteFDivLd_WriteFRcpYLd_WriteFRcpZLd_WriteFRsqrtYLd_WriteFRsqrtZLd_HWWriteResGroup149_SKLWriteResGroup185_SKLWriteResGroup184
5043
  {20,  0}, // #30 AtomWrite01_20_WriteDPPDLd_WritePCmpEStrILd_WriteDPPSYLd_BWWriteResGroup167_BWWriteResGroup165_WriteDiv16Ld_WriteIDiv16Ld_WriteAESKeyGen_SKXWriteResGroup216_WriteFSqrtZ_SKXWriteResGroup220_SKXWriteResGroup219_SKXWriteResGroup215_SKXWriteResGroup214_SKXWriteResGroup218_WriteFDivXLd_WriteFDivLd_WriteFSqrtXLd_WriteFSqrtLd_WriteAESIMCLd_WriteFDiv64X_WriteDPPSLd_HWWriteResGroup156_HWWriteResGroup154_SKLWriteResGroup190_SKLWriteResGroup193_SKLWriteResGroup192_SKLWriteResGroup189_WriteFSqrt64X_WriteFSqrt80
5044
  {21,  0}, // #31 AtomWrite01_21_WriteFSqrt64XLd_WriteFSqrt64Ld_WriteFSqrtY_BWWriteResGroup171_BWWriteResGroup169_WriteFSqrtX_WriteFSqrt80_SKXWriteResGroup222_WriteFDivY_WriteFDivZ_WriteDPPSYLd_WriteFSqrtZ_HWWriteResGroup144_WritePCmpEStrILd_SKLWriteResGroup195_WriteDiv16Ld_WriteIDiv16Ld
5045
  {22,  0}, // #32 AtomWrite01_22_BWWriteResGroup172_BWWriteResGroup183_1_SKXWriteResGroup223_SKXWriteResGroup224_2_SKXWriteResGroup225_WriteFDiv64X_WriteDiv8_WriteFSqrt64XLd_HWWriteResGroup146_WriteFDivLd_SKLWriteResGroup196_SKLWriteResGroup196_1_WriteFDiv64XLd_WriteFDivXLd_WriteFDiv64Ld_ZnWriteVDIVPDYLd
5046
  {23,  0}, // #33 AtomWrite01_23_WritePCmpEStrILd_WriteFSqrt80_WriteFDiv64Y_WriteFDivYLd_BWWriteResGroup176_BWWriteResGroup183_2_WriteFSqrt64Ld_WriteFDiv64Z_SKXWriteResGroup228_WriteIDiv8_HWWriteResGroup151_HWWriteResGroup190_WriteFSqrtLd_SKLWriteResGroup198
5047
  {25,  0}, // #34 AtomWrite01_25_WriteDPPS_PdWriteVDPPSrri_WriteDiv8_WriteIDiv16_WriteIDiv32_WriteIDiv64_WriteIDiv8_BWWriteResGroup183_4_WriteDiv32_WriteAESKeyGenLd_WritePCmpEStrMLd_WriteFDivZLd_WriteFSqrt64YLd_SKXWriteResGroup233_SKXWriteResGroup224_3_SKXWriteResGroup234_WriteDiv16_WriteDiv64_WriteFDiv64Ld_HWWriteResGroup187_HWWriteResGroup192_SKLWriteResGroup202_SKLWriteResGroup196_2
5048
  {26,  0}, // #35 AtomWrite01_26_BWWriteResGroup180_BWWriteResGroup183_5_BWWriteResGroup183_6_WriteFSqrtXLd_WriteFSqrtLd_SKXWriteResGroup238_WriteFDiv64XLd_HWWriteResGroup184
5049
  {29,  0}, // #36 AtomWrite01_29_WriteAESKeyGen_WriteFDiv64YLd_WriteFSqrt64Y_BWWriteResGroup182_BWWriteResGroup185_WriteDiv16Ld_WriteDiv32Ld_WriteDiv64Ld_WriteDiv8Ld_SKXWriteResGroup242_WriteFDivY_WriteFDivZ_WriteFSqrtY_WriteFSqrtZ_WriteIDiv16Ld_WriteIDiv32Ld_WriteIDiv64Ld_WriteIDiv8Ld
5050
  {30,  0}, // #37 AtomWrite01_30_WriteDPPSLd_BWWriteResGroup186_WriteFDiv64ZLd_SKXWriteResGroup243_SKXWriteResGroup245_WriteDiv16Ld_WriteDiv32Ld_WriteDiv64Ld_WriteDiv8Ld_WriteIDiv16Ld_WriteIDiv32Ld_WriteIDiv64Ld_WriteIDiv8Ld_HWWriteResGroup161_HWWriteResGroup164_SKLWriteResGroup208
5051
  {32,  0}, // #38 AtomWrite01_32_WriteDPPSYLd_WriteFSqrt64XLd_WriteFSqrt64Ld_WriteFSqrt64Z
5052
  {45,  0}, // #39 AtomWrite01_45_WriteFDiv64Y_WriteFDiv64Z_WriteFSqrt64Y_WriteFSqrt64Z_WriteDiv64Ld_WriteIDiv64Ld
5053
  {46,  0}, // #40 AtomWrite01_46_PdWriteVZEROUPPER_JWriteJVZEROUPPER_SKLWriteResGroup216
5054
  {48,  0}, // #41 AtomWrite01_48
5055
  {55,  0}, // #42 AtomWrite01_55
5056
  {59,  0}, // #43 AtomWrite01_59_WriteFSqrt64YLd
5057
  {63,  0}, // #44 AtomWrite01_63_BWWriteResGroup199_BWWriteResGroup198_SKXWriteResGroup260_SKXWriteResGroup259_SKLWriteResGroup219_SKLWriteResGroup218
5058
  {72,  0}, // #45 AtomWrite01_72_WriteFDiv64XLd_WriteFDiv64YLd
5059
  {74,  0}, // #46 AtomWrite01_74_SKXWriteResGroup262_WriteFSqrt64XLd_WriteFSqrt64YLd
5060
  {77,  0}, // #47 AtomWrite01_77
5061
  {78,  0}, // #48 AtomWrite01_78
5062
  {79,  0}, // #49 AtomWrite01_79
5063
  {92,  0}, // #50 AtomWrite01_92
5064
  {94,  0}, // #51 AtomWrite01_94
5065
  {99,  0}, // #52 AtomWrite01_99
5066
  {121,  0}, // #53 AtomWrite01_121
5067
  {127,  0}, // #54 AtomWrite01_127
5068
  {140,  0}, // #55 AtomWrite01_140_SKXWriteResGroup267
5069
  {141,  0}, // #56 AtomWrite01_141
5070
  {146,  0}, // #57 AtomWrite01_146
5071
  {147,  0}, // #58 AtomWrite01_147
5072
  {168,  0}, // #59 AtomWrite01_168
5073
  {174,  0}, // #60 AtomWrite01_174
5074
  {183,  0}, // #61 AtomWrite01_183
5075
  {202,  0}, // #62 AtomWrite01_202
5076
  {19,  0}, // #63 WriteDiv16Ld_WriteIDiv16Ld_WritePCmpIStrILd_WriteAESIMCLd_WriteFDiv64XLd_BWWriteResGroup161_WriteDPPSLd_WritePCmpEStrM_WriteFDivX_WritePCmpEStrILd_WritePCmpEStrMLd_SKXWriteResGroup209_WriteFSqrtYLd_SKXWriteResGroup211_WriteDPPSYLd_WriteFDivXLd_HWWriteResGroup135_HWWriteResGroup143_HWWriteFPREM_SKLWriteResGroup186_WriteDiv8Ld_WriteIDiv8Ld_ZnWriteVDIVPSYLd
5077
  { 5,  0}, // #64 WriteRotateLd_WriteRotateCLLd_WriteShiftLd_WriteShiftCLLd_WriteALULd
5078
  { 1,  0}, // #65 WriteRMW
5079
  {27,  0}, // #66 WriteDPPSY_WriteFSqrtYLd_BWWriteResGroup183_7_WriteFSqrt64X_WriteFSqrtZLd_SKXWriteResGroup239_SKXWriteResGroup240_WriteFSqrt64XLd_WriteFSqrt64Ld_HWWriteFPREM1_HWWriteResGroup155_HWWriteResGroup188_HWWriteResGroup189_SKLWriteResGroup206_WriteFSqrtXLd_WriteFSqrtLd
5080
  {90,  0}, // #67 PdWriteVZEROALL_JWriteJVZEROALL
5081
  {184,  0}, // #68 PdWriteLARrr
5082
  {33,  0}, // #69 WriteAESKeyGenLd
5083
  {80,  0}, // #70 WriteDiv16_WriteDiv32_WriteDiv64
5084
  {31,  0}, // #71 WriteEMMS_SBWriteResGroup130_HWWriteResGroup163_HWWriteResGroup165
5085
  {35,  0}, // #72 WriteIDiv16Ld_WriteIDiv32Ld_WriteIDiv64Ld_WriteIDiv8Ld_WriteFSqrt64YLd_BWWriteResGroup194_WriteFSqrt80_SKXWriteResGroup248_SKXWriteResGroup247_WriteFDiv64Y_WriteFDiv64Z_WriteFSqrt64Z_HWWriteResGroup170_SKLWriteResGroup210_SKLWriteResGroup209_WriteFSqrtYLd
5086
  { 9,  0}, // #73 WriteIMul32Ld_WriteIMul64Ld
5087
  { 3,  0}, // #74 WriteIMulH
5088
  { 4,  0}, // #75 WriteIMul32_WriteIMul64
5089
  { 3,  0}, // #76 WriteIMulH
5090
  {24,  0}, // #77 WritePCmpEStrMLd_BWWriteResGroup177_BWWriteResGroup183_3_WriteFDiv64XLd_WriteFDivXLd_WriteFDivLd_WriteFDiv64Ld_WritePCmpEStrILd_WriteFSqrt64XLd_WriteFSqrt80_HWWriteResGroup162_HWWriteResGroup185
5091
  { 7,  0}, // #78 WriteRotateLd
5092
  { 1,  0}, // #79 WriteRMW
5093
  { 8,  0}, // #80 WriteRotateCLLd_WriteShiftCLLd
5094
  { 1,  0}, // #81 WriteRMW
5095
  { 6,  0}, // #82 WriteShiftLd_WriteALULd_WriteIMul32Ld_WriteIMul64Ld
5096
  { 1,  0}, // #83 WriteRMW_WriteIMulH
5097
  {42,  0}, // #84 BWWriteResGroup196_WriteFSqrtY_SKXWriteResGroup254_SKXWriteResGroup255_WriteFDiv64YLd_WriteFDiv64ZLd_WriteFSqrt64YLd_WriteFSqrt64ZLd_HWWriteResGroup176_WriteFDivXLd_WriteFDivYLd_SKLWriteResGroup214_SKLWriteResGroup215
5098
  {75,  0}, // #85 BWWriteResGroup200_SKXWriteResGroup263_HWWriteResGroup180_HWWriteFSCALE_SKLWriteResGroup220
5099
  {60,  0}, // #86 BWWriteResGroup197
5100
  {115,  0}, // #87 BWWriteResGroup202_HWWriteResGroup183
5101
  {28,  0}, // #88 WriteDiv32Ld_WriteIDiv32Ld_WriteIDiv16Ld_WriteIDiv64Ld_WriteIDiv8Ld_WriteFDiv64XLd_WriteFDiv64Ld_WriteFDivYLd_WriteFDivZLd_WriteFSqrtYLd_WriteFSqrtZLd_HWWriteResGroup186_HWWriteResGroup191
5102
  {44,  0}, // #89 WriteDiv64Ld_WriteIDiv64Ld_SKXWriteResGroup256_WriteFSqrtXLd_WriteFSqrtYLd
5103
  {41,  0}, // #90 WriteDiv64_WriteIDiv64_SKXWriteResGroup253_HWWriteResGroup175_WriteFSqrtX_WriteFSqrtY_SKLWriteResGroup213
5104
  { 6,  0}, // #91 WriteIMul32Ld_WriteIMul64
5105
  { 6,  0}, // #92 WriteIMulH
5106
  { 3,  0}, // #93 WriteIMul32
5107
  { 6,  0}, // #94 WriteIMulH
5108
  { 9,  0}, // #95 WriteIMul64Ld
5109
  { 6,  0}, // #96 WriteIMulH
5110
  {43,  0}, // #97 WriteFDiv64YLd_WriteFDivYLd
5111
  {38,  0}, // #98 WriteFDiv64Y_WriteFDivY_WriteFSqrt64Ld
5112
  {54,  0}, // #99 WriteFSqrt64Y
5113
  {47,  0}, // #100 WriteFSqrtYLd_HWWriteFBLD_WriteFSqrt64YLd
5114
  {76,  0}, // #101 WriteDiv16_WriteDiv32_WriteDiv64
5115
  {102,  0}, // #102 WriteIDiv16_WriteIDiv32_WriteIDiv64
5116
  {39,  0}, // #103 WriteFSqrt64ZLd_WriteFDivX_WriteFDivY
5117
  {37,  0}, // #104 SKXWriteResGroup250_SKXWriteResGroup249_WriteFDiv64Ld_SKLWriteResGroup211
5118
  {40,  0}, // #105 SKXWriteResGroup252_WriteFSqrt80_SKLWriteResGroup212_WriteFSqrt64Y
5119
  {106,  0}, // #106 SKXWriteResGroup266_SKLWriteResGroup223
5120
  {67,  0}, // #107 SKXWriteResGroup261
5121
  {52,  0}, // #108 WriteFDiv64YLd_WriteFDiv64ZLd_WriteFSqrt64YLd_WriteFSqrt64ZLd
5122
  {36,  0}, // #109 WriteFDivYLd_WriteFDivZLd_WriteFSqrtYLd_WriteFSqrtZLd_HWWriteResGroup171
5123
  {98,  0}, // #110 WriteDiv16_WriteDiv32_WriteDiv64
5124
  {112,  0}, // #111 WriteIDiv16_WriteIDiv32_WriteIDiv64
5125
  {64,  0}, // #112 HWWriteResGroup179_HWWriteResGroup178
5126
  {61,  0}, // #113 HWWriteResGroup177
5127
  {69,  0}, // #114 WriteFDiv64X_WriteFDiv64Y
5128
  { 3,  0}, // #115 WriteIMul32_WriteIMul64
5129
  { 1,  0}, // #116 WriteIMulH
5130
  { 8,  0}, // #117 ZnWriteMul32Ld
5131
  { 4,  0}, // #118 WriteIMulH
5132
  { 9,  0}, // #119 ZnWriteMul64Ld
5133
  { 4,  0}, // #120 WriteIMulH
5134
  { 4,  0}, // #121 ZnWriteMul64
5135
  { 4,  0}, // #122 WriteIMulH
5136
  {107,  0} // #123 WriteFShuffle256Ld_WriteFVarShuffle256Ld
5137
}; // X86WriteLatencyTable
5138
5139
// {UseIdx, WriteResourceID, Cycles}
5140
extern const llvm::MCReadAdvanceEntry X86ReadAdvanceTable[] = {
5141
  {0,  0,  0}, // Invalid
5142
  {0,  0,  3}, // #1
5143
  {5,  0,  3}, // #2
5144
  {1,  0,  0}, // #3
5145
  {5,  0,  3}, // #4
5146
  {6,  0,  3}, // #5
5147
  {0,  0,  3}, // #6
5148
  {6,  0,  3}, // #7
5149
  {0,  0,  3}, // #8
5150
  {1,  0,  3}, // #9
5151
  {0,  0,  4}, // #10
5152
  {0,  0,  5}, // #11
5153
  {5,  0,  4}, // #12
5154
  {0,  0, -10}, // #13
5155
  {1,  0, -10}, // #14
5156
  {5,  0,  4}, // #15
5157
  {6,  0,  4}, // #16
5158
  {0,  0,  5}, // #17
5159
  {6,  0,  5}, // #18
5160
  {0,  0,  5}, // #19
5161
  {1,  0,  5}, // #20
5162
  {5,  0,  5}, // #21
5163
  {5,  0,  5}, // #22
5164
  {6,  0,  5}, // #23
5165
  {0,  0,  6}, // #24
5166
  {0,  0,  6}, // #25
5167
  {6,  0,  6}, // #26
5168
  {0,  0,  6}, // #27
5169
  {1,  0,  6}, // #28
5170
  {0,  0, -6}, // #29
5171
  {1,  0, -6}, // #30
5172
  {0,  0,  7}, // #31
5173
  {0,  0,  7}, // #32
5174
  {6,  0,  7}, // #33
5175
  {0,  0,  7}, // #34
5176
  {1,  0,  7}, // #35
5177
  {0,  0,  8}, // #36
5178
  {0,  0,  8}, // #37
5179
  {6,  0,  8}, // #38
5180
  {0,  0,  8}, // #39
5181
  {1,  0,  8} // #40
5182
}; // X86ReadAdvanceTable
5183
5184
// {Name, NumMicroOps, BeginGroup, EndGroup, WriteProcResIdx,#, WriteLatencyIdx,#, ReadAdvanceIdx,#}
5185
static const llvm::MCSchedClassDesc AtomModelSchedClasses[] = {
5186
  {DBGFIELD("InvalidSchedClass")  16383, false, false,  0, 0,  0, 0,  0, 0},
5187
  {DBGFIELD("WriteZero")          1, false, false,  0, 0,  1, 1,  0, 0}, // #1
5188
  {DBGFIELD("WriteVecALU")        1, false, false,  1, 1,  1, 1,  0, 0}, // #2
5189
  {DBGFIELD("WriteCMPXCHGRMW")    1, false, false,  2, 2,  1, 1,  0, 0}, // #3
5190
  {DBGFIELD("WriteJumpLd")        1, false, false,  4, 2,  1, 1,  0, 0}, // #4
5191
  {DBGFIELD("WriteALU")           1, false, false,  1, 1,  1, 1,  0, 0}, // #5
5192
  {DBGFIELD("WriteMove")          1, false, false,  1, 1,  1, 1,  0, 0}, // #6
5193
  {DBGFIELD("WriteJump")          1, false, false,  4, 2,  1, 1,  0, 0}, // #7
5194
  {DBGFIELD("WriteSystem")        1, false, false,  1, 1,  2, 1,  0, 0}, // #8
5195
  {DBGFIELD("WriteFStoreX")       1, false, false,  6, 2,  1, 1,  0, 0}, // #9
5196
  {DBGFIELD("WriteFLoadX")        1, false, false,  6, 2,  1, 1,  0, 0}, // #10
5197
  {DBGFIELD("WriteFStoreY")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #11
5198
  {DBGFIELD("WriteFLoadY")        16383, false, false,  0, 0,  0, 0,  0, 0}, // #12
5199
  {DBGFIELD("WriteMicrocoded")    1, false, false,  1, 1,  2, 1,  0, 0}, // #13
5200
  {DBGFIELD("WriteFSign")         1, false, false,  4, 2,  1, 1,  0, 0}, // #14
5201
  {DBGFIELD("WriteADC")           1, false, false,  1, 1,  1, 1,  0, 0}, // #15
5202
  {DBGFIELD("WriteADCRMW")        1, false, false,  6, 2,  1, 1,  0, 0}, // #16
5203
  {DBGFIELD("WriteADCLd_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #17
5204
  {DBGFIELD("WriteALURMW")        1, false, false,  6, 2,  1, 1,  0, 0}, // #18
5205
  {DBGFIELD("WriteALULd_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #19
5206
  {DBGFIELD("WriteFAdd64XLd_ReadAfterVecXLd") 1, false, false,  8, 1,  3, 1,  1, 1}, // #20
5207
  {DBGFIELD("WriteFAdd64X")       1, false, false,  9, 1,  4, 1,  0, 0}, // #21
5208
  {DBGFIELD("WriteFAddXLd_ReadAfterVecXLd") 1, false, false, 10, 2,  5, 1,  1, 1}, // #22
5209
  {DBGFIELD("WriteFAddX")         1, false, false, 10, 2,  5, 1,  0, 0}, // #23
5210
  {DBGFIELD("WriteFAdd64Ld_ReadAfterVecLd") 1, false, false, 10, 2,  5, 1,  1, 1}, // #24
5211
  {DBGFIELD("WriteFAdd64")        1, false, false, 10, 2,  5, 1,  0, 0}, // #25
5212
  {DBGFIELD("WriteFAddLd_ReadAfterVecLd") 1, false, false, 10, 2,  5, 1,  1, 1}, // #26
5213
  {DBGFIELD("WriteFAdd")          1, false, false, 10, 2,  5, 1,  0, 0}, // #27
5214
  {DBGFIELD("WriteFAddLd")        1, false, false, 10, 2,  5, 1,  0, 0}, // #28
5215
  {DBGFIELD("WriteAESDecEncLd_ReadAfterVecXLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #29
5216
  {DBGFIELD("WriteAESDecEnc")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #30
5217
  {DBGFIELD("WriteAESIMCLd")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #31
5218
  {DBGFIELD("WriteAESIMC")        16383, false, false,  0, 0,  0, 0,  0, 0}, // #32
5219
  {DBGFIELD("WriteAESKeyGenLd")   16383, false, false,  0, 0,  0, 0,  0, 0}, // #33
5220
  {DBGFIELD("WriteAESKeyGen")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #34
5221
  {DBGFIELD("WriteFLogicLd_ReadAfterVecXLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #35
5222
  {DBGFIELD("WriteFLogic")        1, false, false,  1, 1,  1, 1,  0, 0}, // #36
5223
  {DBGFIELD("WriteBEXTRLd_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #37
5224
  {DBGFIELD("WriteBEXTR")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #38
5225
  {DBGFIELD("WriteBEXTRLd")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #39
5226
  {DBGFIELD("WriteALULd")         1, false, false,  6, 2,  1, 1,  0, 0}, // #40
5227
  {DBGFIELD("WriteFBlendLd_ReadAfterVecXLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #41
5228
  {DBGFIELD("WriteFBlend")        16383, false, false,  0, 0,  0, 0,  0, 0}, // #42
5229
  {DBGFIELD("WriteFVarBlendLd_ReadAfterVecXLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #43
5230
  {DBGFIELD("WriteFVarBlend")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #44
5231
  {DBGFIELD("WriteBLSLd")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #45
5232
  {DBGFIELD("WriteBLS")           16383, false, false,  0, 0,  0, 0,  0, 0}, // #46
5233
  {DBGFIELD("WriteBSFLd")         1, false, false, 12, 1,  6, 1,  0, 0}, // #47
5234
  {DBGFIELD("WriteBSF")           1, false, false, 12, 1,  6, 1,  0, 0}, // #48
5235
  {DBGFIELD("WriteBSRLd")         1, false, false, 12, 1,  6, 1,  0, 0}, // #49
5236
  {DBGFIELD("WriteBSR")           1, false, false, 12, 1,  6, 1,  0, 0}, // #50
5237
  {DBGFIELD("WriteBSWAP32")       1, false, false,  6, 2,  1, 1,  0, 0}, // #51
5238
  {DBGFIELD("WriteBSWAP64")       1, false, false,  6, 2,  1, 1,  0, 0}, // #52
5239
  {DBGFIELD("WriteBitTestImmLd")  1, false, false,  6, 2,  1, 1,  0, 0}, // #53
5240
  {DBGFIELD("WriteBitTestRegLd")  1, false, false, 13, 1,  7, 1,  0, 0}, // #54
5241
  {DBGFIELD("WriteBitTest")       1, false, false,  4, 2,  1, 1,  0, 0}, // #55
5242
  {DBGFIELD("WriteBitTestSetImmRMW") 1, false, false,  3, 1,  8, 1,  0, 0}, // #56
5243
  {DBGFIELD("WriteBitTestSetRegRMW") 1, false, false, 14, 1,  9, 1,  0, 0}, // #57
5244
  {DBGFIELD("WriteBitTestSet")    1, false, false,  4, 2,  1, 1,  0, 0}, // #58
5245
  {DBGFIELD("WriteBZHILd_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #59
5246
  {DBGFIELD("WriteBZHI")          16383, false, false,  0, 0,  0, 0,  0, 0}, // #60
5247
  {DBGFIELD("WriteLoad")          1, false, false,  6, 2,  1, 1,  0, 0}, // #61
5248
  {DBGFIELD("WriteCMOV2Ld_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #62
5249
  {DBGFIELD("WriteCMOV2")         1, false, false,  1, 1,  1, 1,  0, 0}, // #63
5250
  {DBGFIELD("WriteCMOVLd_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #64
5251
  {DBGFIELD("WriteCMOV")          1, false, false,  1, 1,  1, 1,  0, 0}, // #65
5252
  {DBGFIELD("WriteFCMOV")         1, false, false, 13, 1,  7, 1,  0, 0}, // #66
5253
  {DBGFIELD("WriteALULd_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  2, 1}, // #67
5254
  {DBGFIELD("WriteFCmp64XLd_ReadAfterVecXLd") 1, false, false,  8, 1,  3, 1,  1, 1}, // #68
5255
  {DBGFIELD("WriteFCmp64X")       1, false, false,  9, 1,  4, 1,  0, 0}, // #69
5256
  {DBGFIELD("WriteFCmpXLd_ReadAfterVecXLd") 1, false, false, 10, 2,  5, 1,  1, 1}, // #70
5257
  {DBGFIELD("WriteFCmpX")         1, false, false, 10, 2,  5, 1,  0, 0}, // #71
5258
  {DBGFIELD("WriteFCmp64Ld_ReadAfterVecLd") 1, false, false, 10, 2,  5, 1,  1, 1}, // #72
5259
  {DBGFIELD("WriteFCmp64")        1, false, false, 10, 2,  5, 1,  0, 0}, // #73
5260
  {DBGFIELD("WriteFCmpLd_ReadAfterVecLd") 1, false, false, 10, 2,  5, 1,  1, 1}, // #74
5261
  {DBGFIELD("WriteFCmp")          1, false, false, 10, 2,  5, 1,  0, 0}, // #75
5262
  {DBGFIELD("WriteCMPXCHG")       1, false, false, 15, 1, 10, 1,  0, 0}, // #76
5263
  {DBGFIELD("WriteFComLd_ReadAfterVecLd") 1, false, false, 10, 2,  5, 1,  1, 1}, // #77
5264
  {DBGFIELD("WriteFCom")          1, false, false, 10, 2,  5, 1,  0, 0}, // #78
5265
  {DBGFIELD("WriteCRC32Ld_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #79
5266
  {DBGFIELD("WriteCRC32")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #80
5267
  {DBGFIELD("WriteNop")           1, false, false,  1, 1,  1, 1,  0, 0}, // #81
5268
  {DBGFIELD("WriteCvtI2PDLd")     1, false, false, 16, 1, 11, 1,  0, 0}, // #82
5269
  {DBGFIELD("WriteCvtI2PD")       1, false, false,  8, 1,  3, 1,  0, 0}, // #83
5270
  {DBGFIELD("WriteCvtI2PSLd")     1, false, false,  8, 1,  3, 1,  0, 0}, // #84
5271
  {DBGFIELD("WriteCvtI2PS")       1, false, false,  9, 1,  4, 1,  0, 0}, // #85
5272
  {DBGFIELD("WriteCvtPD2ILd")     1, false, false, 16, 1, 11, 1,  0, 0}, // #86
5273
  {DBGFIELD("WriteCvtPD2I")       1, false, false,  8, 1,  3, 1,  0, 0}, // #87
5274
  {DBGFIELD("WriteCvtPD2PSLd")    1, false, false, 16, 1, 11, 1,  0, 0}, // #88
5275
  {DBGFIELD("WriteCvtPD2PS")      1, false, false,  8, 1,  3, 1,  0, 0}, // #89
5276
  {DBGFIELD("WriteCvtPS2ILd")     1, false, false,  8, 1,  3, 1,  0, 0}, // #90
5277
  {DBGFIELD("WriteCvtPS2I")       1, false, false,  9, 1,  4, 1,  0, 0}, // #91
5278
  {DBGFIELD("WriteCvtPS2PDLd")    1, false, false, 16, 1, 11, 1,  0, 0}, // #92
5279
  {DBGFIELD("WriteCvtPS2PD")      1, false, false,  8, 1,  3, 1,  0, 0}, // #93
5280
  {DBGFIELD("WriteCvtSD2ILd")     1, false, false, 13, 1,  7, 1,  0, 0}, // #94
5281
  {DBGFIELD("WriteCvtSD2I")       1, false, false, 16, 1, 11, 1,  0, 0}, // #95
5282
  {DBGFIELD("WriteCvtSD2SSLd")    1, false, false,  8, 1,  3, 1,  0, 0}, // #96
5283
  {DBGFIELD("WriteCvtSD2SSLd_ReadAfterVecLd") 1, false, false,  8, 1,  3, 1,  1, 1}, // #97
5284
  {DBGFIELD("WriteCvtSD2SS")      1, false, false,  9, 1,  4, 1,  0, 0}, // #98
5285
  {DBGFIELD("WriteCvtI2SDLd")     1, false, false,  8, 1,  3, 1,  0, 0}, // #99
5286
  {DBGFIELD("WriteCvtI2SDLd_ReadAfterVecLd") 1, false, false,  8, 1,  3, 1,  1, 1}, // #100
5287
  {DBGFIELD("WriteCvtI2SD_ReadInt2Fpu") 1, false, false,  9, 1,  4, 1,  0, 1}, // #101
5288
  {DBGFIELD("WriteCvtI2SD_ReadDefault_ReadInt2Fpu") 1, false, false,  9, 1,  4, 1,  3, 1}, // #102
5289
  {DBGFIELD("WriteCvtI2SSLd")     1, false, false,  8, 1,  3, 1,  0, 0}, // #103
5290
  {DBGFIELD("WriteCvtI2SSLd_ReadAfterVecLd") 1, false, false,  8, 1,  3, 1,  1, 1}, // #104
5291
  {DBGFIELD("WriteCvtI2SS_ReadInt2Fpu") 1, false, false,  9, 1,  4, 1,  0, 1}, // #105
5292
  {DBGFIELD("WriteCvtI2SS_ReadDefault_ReadInt2Fpu") 1, false, false,  9, 1,  4, 1,  3, 1}, // #106
5293
  {DBGFIELD("WriteCvtSS2SDLd")    1, false, false,  8, 1,  3, 1,  0, 0}, // #107
5294
  {DBGFIELD("WriteCvtSS2SDLd_ReadAfterVecLd") 1, false, false,  8, 1,  3, 1,  1, 1}, // #108
5295
  {DBGFIELD("WriteCvtSS2SD")      1, false, false,  9, 1,  4, 1,  0, 0}, // #109
5296
  {DBGFIELD("WriteCvtSS2ILd")     1, false, false, 13, 1,  7, 1,  0, 0}, // #110
5297
  {DBGFIELD("WriteCvtSS2I")       1, false, false, 16, 1, 11, 1,  0, 0}, // #111
5298
  {DBGFIELD("WriteCvtSD2I_ReadDefault") 1, false, false, 16, 1, 11, 1,  0, 0}, // #112
5299
  {DBGFIELD("WriteCvtSS2I_ReadDefault") 1, false, false, 16, 1, 11, 1,  0, 0}, // #113
5300
  {DBGFIELD("WriteDiv16Ld_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd_ReadAfterLd") 1, false, false, 17, 1, 12, 1,  4, 2}, // #114
5301
  {DBGFIELD("WriteDiv16")         1, false, false, 17, 1, 12, 1,  0, 0}, // #115
5302
  {DBGFIELD("WriteDiv32Ld_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd_ReadAfterLd") 1, false, false, 17, 1, 12, 1,  4, 2}, // #116
5303
  {DBGFIELD("WriteDiv32")         1, false, false, 17, 1, 12, 1,  0, 0}, // #117
5304
  {DBGFIELD("WriteDiv64Ld_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd_ReadAfterLd") 1, false, false, 18, 1, 13, 1,  4, 2}, // #118
5305
  {DBGFIELD("WriteDiv64")         1, false, false, 18, 1, 13, 1,  0, 0}, // #119
5306
  {DBGFIELD("WriteDiv8Ld_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd_ReadAfterLd") 1, false, false, 19, 1, 14, 1,  4, 2}, // #120
5307
  {DBGFIELD("WriteDiv8")          1, false, false, 17, 1, 12, 1,  0, 0}, // #121
5308
  {DBGFIELD("WriteFDiv64XLd_ReadAfterVecXLd") 1, false, false, 20, 1, 15, 1,  1, 1}, // #122
5309
  {DBGFIELD("WriteFDiv64X")       1, false, false, 20, 1, 15, 1,  0, 0}, // #123
5310
  {DBGFIELD("WriteFDivXLd_ReadAfterVecXLd") 1, false, false, 21, 1, 16, 1,  1, 1}, // #124
5311
  {DBGFIELD("WriteFDivX")         1, false, false, 21, 1, 16, 1,  0, 0}, // #125
5312
  {DBGFIELD("WriteFDivLd")        1, false, false, 22, 1, 17, 1,  0, 0}, // #126
5313
  {DBGFIELD("WriteFDiv")          1, false, false, 22, 1, 17, 1,  0, 0}, // #127
5314
  {DBGFIELD("WriteFDiv64Ld_ReadAfterVecLd") 1, false, false, 23, 1, 18, 1,  1, 1}, // #128
5315
  {DBGFIELD("WriteFDiv64")        1, false, false, 23, 1, 18, 1,  0, 0}, // #129
5316
  {DBGFIELD("WriteFDivLd_ReadAfterVecLd") 1, false, false, 22, 1, 17, 1,  1, 1}, // #130
5317
  {DBGFIELD("WriteDPPDLd_ReadAfterVecXLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #131
5318
  {DBGFIELD("WriteDPPD")          16383, false, false,  0, 0,  0, 0,  0, 0}, // #132
5319
  {DBGFIELD("WriteDPPSLd_ReadAfterVecXLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #133
5320
  {DBGFIELD("WriteDPPS")          16383, false, false,  0, 0,  0, 0,  0, 0}, // #134
5321
  {DBGFIELD("WriteVecExtractSt")  1, false, false,  6, 2,  1, 1,  0, 0}, // #135
5322
  {DBGFIELD("WriteVecExtract")    1, false, false,  6, 2,  1, 1,  0, 0}, // #136
5323
  {DBGFIELD("WriteVecALUX")       1, false, false,  1, 1,  1, 1,  0, 0}, // #137
5324
  {DBGFIELD("WriteFComLd")        1, false, false, 10, 2,  5, 1,  0, 0}, // #138
5325
  {DBGFIELD("WriteEMMS")          1, false, false, 11, 1,  5, 1,  0, 0}, // #139
5326
  {DBGFIELD("WriteFLDC")          1, false, false, 24, 1, 19, 1,  0, 0}, // #140
5327
  {DBGFIELD("WriteVecALUXLd_ReadAfterVecXLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #141
5328
  {DBGFIELD("WriteFHAddLd_ReadAfterVecXLd") 1, false, false, 13, 1,  7, 1,  1, 1}, // #142
5329
  {DBGFIELD("WriteFHAdd")         1, false, false, 16, 1, 11, 1,  0, 0}, // #143
5330
  {DBGFIELD("WriteIDiv16Ld_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd_ReadAfterLd") 1, false, false, 23, 1, 18, 1,  4, 2}, // #144
5331
  {DBGFIELD("WriteIDiv16")        1, false, false, 23, 1, 18, 1,  0, 0}, // #145
5332
  {DBGFIELD("WriteIDiv32Ld_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd_ReadAfterLd") 1, false, false, 23, 1, 18, 1,  4, 2}, // #146
5333
  {DBGFIELD("WriteIDiv32")        1, false, false, 23, 1, 18, 1,  0, 0}, // #147
5334
  {DBGFIELD("WriteIDiv64Ld_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd_ReadAfterLd") 1, false, false, 18, 1, 13, 1,  4, 2}, // #148
5335
  {DBGFIELD("WriteIDiv64")        1, false, false, 18, 1, 13, 1,  0, 0}, // #149
5336
  {DBGFIELD("WriteIDiv8Ld_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd_ReadAfterLd") 1, false, false, 23, 1, 18, 1,  4, 2}, // #150
5337
  {DBGFIELD("WriteIDiv8")         1, false, false, 23, 1, 18, 1,  0, 0}, // #151
5338
  {DBGFIELD("WriteIMul16Ld_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd_ReadAfterLd") 1, false, false, 16, 1, 11, 1,  4, 2}, // #152
5339
  {DBGFIELD("WriteIMul16")        1, false, false,  8, 1,  3, 1,  0, 0}, // #153
5340
  {DBGFIELD("WriteIMul16RegLd_ReadAfterLd") 1, false, false,  8, 1,  3, 1,  1, 1}, // #154
5341
  {DBGFIELD("WriteIMul16ImmLd")   1, false, false,  8, 1,  3, 1,  0, 0}, // #155
5342
  {DBGFIELD("WriteIMul16Reg")     1, false, false,  9, 1,  4, 1,  0, 0}, // #156
5343
  {DBGFIELD("WriteIMul16Imm")     1, false, false,  9, 1,  4, 1,  0, 0}, // #157
5344
  {DBGFIELD("WriteIMul32Ld_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd_ReadAfterLd") 1, false, false,  8, 1,  3, 1,  4, 2}, // #158
5345
  {DBGFIELD("WriteIMul32")        1, false, false,  9, 1,  4, 1,  0, 0}, // #159
5346
  {DBGFIELD("WriteIMul32RegLd_ReadAfterLd") 1, false, false, 10, 2,  5, 1,  1, 1}, // #160
5347
  {DBGFIELD("WriteIMul32ImmLd")   1, false, false, 10, 2,  5, 1,  0, 0}, // #161
5348
  {DBGFIELD("WriteIMul32Reg")     1, false, false, 10, 2,  5, 1,  0, 0}, // #162
5349
  {DBGFIELD("WriteIMul32Imm")     1, false, false, 10, 2,  5, 1,  0, 0}, // #163
5350
  {DBGFIELD("WriteIMul64Ld_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd_ReadAfterLd") 1, false, false, 25, 1, 20, 1,  4, 2}, // #164
5351
  {DBGFIELD("WriteIMul64")        1, false, false, 25, 1, 20, 1,  0, 0}, // #165
5352
  {DBGFIELD("WriteIMul64RegLd_ReadAfterLd") 1, false, false, 25, 1, 20, 1,  1, 1}, // #166
5353
  {DBGFIELD("WriteIMul64ImmLd")   1, false, false, 26, 1, 21, 1,  0, 0}, // #167
5354
  {DBGFIELD("WriteIMul64Reg")     1, false, false, 25, 1, 20, 1,  0, 0}, // #168
5355
  {DBGFIELD("WriteIMul64Imm")     1, false, false, 26, 1, 21, 1,  0, 0}, // #169
5356
  {DBGFIELD("WriteIMul8Ld_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd_ReadAfterLd") 1, false, false,  8, 1,  3, 1,  4, 2}, // #170
5357
  {DBGFIELD("WriteIMul8")         1, false, false,  8, 1,  3, 1,  0, 0}, // #171
5358
  {DBGFIELD("WriteFShuffleLd_ReadAfterVecXLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #172
5359
  {DBGFIELD("WriteFShuffle")      1, false, false,  6, 2,  1, 1,  0, 0}, // #173
5360
  {DBGFIELD("WriteStore")         1, false, false,  6, 2,  1, 1,  0, 0}, // #174
5361
  {DBGFIELD("WriteVecLogicX")     1, false, false,  1, 1,  1, 1,  0, 0}, // #175
5362
  {DBGFIELD("WriteShuffle")       1, false, false,  6, 2,  1, 1,  0, 0}, // #176
5363
  {DBGFIELD("WriteLAHFSAHF")      1, false, false,  3, 1,  8, 1,  0, 0}, // #177
5364
  {DBGFIELD("WriteVecLoadX")      1, false, false,  6, 2,  1, 1,  0, 0}, // #178
5365
  {DBGFIELD("WriteLDMXCSR")       1, false, false, 11, 1,  5, 1,  0, 0}, // #179
5366
  {DBGFIELD("WriteFLD0")          1, false, false,  1, 1,  1, 1,  0, 0}, // #180
5367
  {DBGFIELD("WriteFLD1")          1, false, false,  9, 1,  4, 1,  0, 0}, // #181
5368
  {DBGFIELD("WriteLEA")           1, false, false,  4, 2,  1, 1,  0, 0}, // #182
5369
  {DBGFIELD("WriteFence")         1, false, false,  6, 2,  1, 1,  0, 0}, // #183
5370
  {DBGFIELD("WriteLZCNTLd")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #184
5371
  {DBGFIELD("WriteLZCNT")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #185
5372
  {DBGFIELD("WriteVecStoreX")     1, false, false,  6, 2,  1, 1,  0, 0}, // #186
5373
  {DBGFIELD("WriteVecStore")      1, false, false,  6, 2,  1, 1,  0, 0}, // #187
5374
  {DBGFIELD("WriteVecMoveToGpr")  1, false, false, 27, 2, 22, 1,  0, 0}, // #188
5375
  {DBGFIELD("WriteVecLoad")       1, false, false,  6, 2,  1, 1,  0, 0}, // #189
5376
  {DBGFIELD("WriteVecMoveFromGpr") 1, false, false,  6, 2,  1, 1,  0, 0}, // #190
5377
  {DBGFIELD("WriteVecMoveX")      1, false, false,  1, 1,  1, 1,  0, 0}, // #191
5378
  {DBGFIELD("WriteVecStoreNT")    1, false, false,  6, 2,  1, 1,  0, 0}, // #192
5379
  {DBGFIELD("WriteVecMove")       1, false, false,  6, 2,  1, 1,  0, 0}, // #193
5380
  {DBGFIELD("WriteVecALULd")      1, false, false,  6, 2,  1, 1,  0, 0}, // #194
5381
  {DBGFIELD("WriteShuffleLd_ReadAfterVecLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #195
5382
  {DBGFIELD("WriteVecALULd_ReadAfterVecLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #196
5383
  {DBGFIELD("WriteVecLogicLd_ReadAfterVecLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #197
5384
  {DBGFIELD("WriteVecLogic")      1, false, false,  1, 1,  1, 1,  0, 0}, // #198
5385
  {DBGFIELD("WritePHAddLd_ReadAfterVecLd") 1, false, false, 29, 1, 23, 1,  1, 1}, // #199
5386
  {DBGFIELD("WritePHAdd")         1, false, false, 28, 1, 22, 1,  0, 0}, // #200
5387
  {DBGFIELD("WriteVecInsertLd_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #201
5388
  {DBGFIELD("WriteVecInsert_ReadDefault_ReadInt2Fpu") 1, false, false,  6, 2,  1, 1,  3, 1}, // #202
5389
  {DBGFIELD("WriteVecIMulLd_ReadAfterVecLd") 1, false, false, 30, 2, 23, 1,  1, 1}, // #203
5390
  {DBGFIELD("WriteVecIMul")       1, false, false, 30, 2, 23, 1,  0, 0}, // #204
5391
  {DBGFIELD("WriteMMXMOVMSK")     1, false, false, 27, 2, 22, 1,  0, 0}, // #205
5392
  {DBGFIELD("WritePSADBWLd_ReadAfterVecLd") 1, false, false, 29, 1, 23, 1,  1, 1}, // #206
5393
  {DBGFIELD("WritePSADBW")        1, false, false, 29, 1, 23, 1,  0, 0}, // #207
5394
  {DBGFIELD("WriteVarShuffleLd_ReadAfterVecLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #208
5395
  {DBGFIELD("WriteVarShuffle")    1, false, false,  6, 2,  1, 1,  0, 0}, // #209
5396
  {DBGFIELD("WriteShuffleLd")     1, false, false,  6, 2,  1, 1,  0, 0}, // #210
5397
  {DBGFIELD("WriteVecShiftImm")   1, false, false,  1, 1,  1, 1,  0, 0}, // #211
5398
  {DBGFIELD("WriteVecShiftLd_ReadAfterVecLd") 1, false, false, 28, 1, 22, 1,  1, 1}, // #212
5399
  {DBGFIELD("WriteVecShift")      1, false, false,  3, 1,  8, 1,  0, 0}, // #213
5400
  {DBGFIELD("WriteFMoveX")        1, false, false,  1, 1,  1, 1,  0, 0}, // #214
5401
  {DBGFIELD("WriteFShuffleLd")    1, false, false,  6, 2,  1, 1,  0, 0}, // #215
5402
  {DBGFIELD("WriteFStore")        1, false, false,  6, 2,  1, 1,  0, 0}, // #216
5403
  {DBGFIELD("WriteFMOVMSK")       1, false, false, 27, 2, 22, 1,  0, 0}, // #217
5404
  {DBGFIELD("WriteVecLoadNT")     1, false, false,  6, 2,  1, 1,  0, 0}, // #218
5405
  {DBGFIELD("WriteStoreNT")       1, false, false,  6, 2,  1, 1,  0, 0}, // #219
5406
  {DBGFIELD("WriteFStoreNTX")     1, false, false,  6, 2,  1, 1,  0, 0}, // #220
5407
  {DBGFIELD("WriteFStoreNT")      1, false, false,  6, 2,  1, 1,  0, 0}, // #221
5408
  {DBGFIELD("WriteFLoad")         1, false, false,  6, 2,  1, 1,  0, 0}, // #222
5409
  {DBGFIELD("WriteMPSADLd_ReadAfterVecXLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #223
5410
  {DBGFIELD("WriteMPSAD")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #224
5411
  {DBGFIELD("WriteFMul64XLd_ReadAfterVecXLd") 1, false, false, 24, 1, 19, 1,  1, 1}, // #225
5412
  {DBGFIELD("WriteFMul64X")       1, false, false, 13, 1,  7, 1,  0, 0}, // #226
5413
  {DBGFIELD("WriteFMulXLd_ReadAfterVecXLd") 1, false, false, 10, 2,  5, 1,  1, 1}, // #227
5414
  {DBGFIELD("WriteFMulX")         1, false, false, 10, 2,  5, 1,  0, 0}, // #228
5415
  {DBGFIELD("WriteFMul64Ld_ReadAfterVecLd") 1, false, false, 10, 2,  5, 1,  1, 1}, // #229
5416
  {DBGFIELD("WriteFMul64")        1, false, false, 10, 2,  5, 1,  0, 0}, // #230
5417
  {DBGFIELD("WriteFMulLd_ReadAfterVecLd") 1, false, false, 30, 2, 23, 1,  1, 1}, // #231
5418
  {DBGFIELD("WriteFMul")          1, false, false, 30, 2, 23, 1,  0, 0}, // #232
5419
  {DBGFIELD("WriteIMul32Ld_WriteIMulH") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #233
5420
  {DBGFIELD("WriteIMul32_WriteIMulH") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #234
5421
  {DBGFIELD("WriteIMul64Ld_WriteIMulH") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #235
5422
  {DBGFIELD("WriteIMul64_WriteIMulH") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #236
5423
  {DBGFIELD("WriteFMulLd")        1, false, false, 30, 2, 23, 1,  0, 0}, // #237
5424
  {DBGFIELD("WriteVecALUXLd")     1, false, false,  6, 2,  1, 1,  0, 0}, // #238
5425
  {DBGFIELD("WriteShuffleXLd_ReadAfterVecXLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #239
5426
  {DBGFIELD("WriteShuffleX")      1, false, false,  6, 2,  1, 1,  0, 0}, // #240
5427
  {DBGFIELD("WriteVecLogicXLd_ReadAfterVecXLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #241
5428
  {DBGFIELD("WriteVarBlendLd_ReadAfterVecXLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #242
5429
  {DBGFIELD("WriteVarBlend")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #243
5430
  {DBGFIELD("WriteBlendLd_ReadAfterVecXLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #244
5431
  {DBGFIELD("WriteBlend")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #245
5432
  {DBGFIELD("WriteCLMulLd_ReadAfterVecXLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #246
5433
  {DBGFIELD("WriteCLMul")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #247
5434
  {DBGFIELD("WritePCmpEStrILd_ReadAfterVecXLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #248
5435
  {DBGFIELD("WritePCmpEStrI")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #249
5436
  {DBGFIELD("WritePCmpEStrMLd_ReadAfterVecXLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #250
5437
  {DBGFIELD("WritePCmpEStrM")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #251
5438
  {DBGFIELD("WritePCmpIStrILd_ReadAfterVecXLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #252
5439
  {DBGFIELD("WritePCmpIStrI")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #253
5440
  {DBGFIELD("WritePCmpIStrMLd_ReadAfterVecXLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #254
5441
  {DBGFIELD("WritePCmpIStrM")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #255
5442
  {DBGFIELD("WriteCvtPS2ILd_ReadAfterVecXLd") 1, false, false,  8, 1,  3, 1,  1, 1}, // #256
5443
  {DBGFIELD("WritePHAddXLd_ReadAfterVecXLd") 1, false, false, 16, 1, 11, 1,  1, 1}, // #257
5444
  {DBGFIELD("WritePHAddX")        1, false, false,  8, 1,  3, 1,  0, 0}, // #258
5445
  {DBGFIELD("WritePHMINPOSLd")    16383, false, false,  0, 0,  0, 0,  0, 0}, // #259
5446
  {DBGFIELD("WritePHMINPOS")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #260
5447
  {DBGFIELD("WriteCvtI2PSLd_ReadAfterVecXLd") 1, false, false,  8, 1,  3, 1,  1, 1}, // #261
5448
  {DBGFIELD("WriteVecIMulXLd_ReadAfterVecXLd") 1, false, false, 10, 2,  5, 1,  1, 1}, // #262
5449
  {DBGFIELD("WriteVecIMulX")      1, false, false, 10, 2,  5, 1,  0, 0}, // #263
5450
  {DBGFIELD("WriteVecMOVMSK")     1, false, false, 27, 2, 22, 1,  0, 0}, // #264
5451
  {DBGFIELD("WriteShuffleXLd")    1, false, false,  6, 2,  1, 1,  0, 0}, // #265
5452
  {DBGFIELD("WritePMULLDLd_ReadAfterVecXLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #266
5453
  {DBGFIELD("WritePMULLD")        16383, false, false,  0, 0,  0, 0,  0, 0}, // #267
5454
  {DBGFIELD("WriteCopy")          2, false, false, 32, 2,  8, 1,  0, 0}, // #268
5455
  {DBGFIELD("WritePOPCNTLd")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #269
5456
  {DBGFIELD("WritePOPCNT")        16383, false, false,  0, 0,  0, 0,  0, 0}, // #270
5457
  {DBGFIELD("WritePSADBWXLd_ReadAfterVecXLd") 1, false, false, 10, 2,  5, 1,  1, 1}, // #271
5458
  {DBGFIELD("WritePSADBWX")       1, false, false, 10, 2,  5, 1,  0, 0}, // #272
5459
  {DBGFIELD("WriteVarShuffleXLd_ReadAfterVecXLd") 1, false, false, 11, 1,  5, 1,  1, 1}, // #273
5460
  {DBGFIELD("WriteVarShuffleX")   1, false, false, 29, 1, 23, 1,  0, 0}, // #274
5461
  {DBGFIELD("WriteVecShiftImmX")  1, false, false,  1, 1,  1, 1,  0, 0}, // #275
5462
  {DBGFIELD("WriteVecShiftXLd_ReadAfterVecXLd") 1, false, false, 28, 1, 22, 1,  1, 1}, // #276
5463
  {DBGFIELD("WriteVecShiftX")     1, false, false,  3, 1,  8, 1,  0, 0}, // #277
5464
  {DBGFIELD("WriteVecTestLd_ReadAfterVecXLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #278
5465
  {DBGFIELD("WriteVecTest")       1, false, false,  1, 1,  1, 1,  0, 0}, // #279
5466
  {DBGFIELD("WriteRotateLd_WriteRMW") 2, false, false, 32, 2, 24, 2,  0, 0}, // #280
5467
  {DBGFIELD("WriteRotateCLLd_WriteRMW") 2, false, false, 32, 2, 24, 2,  0, 0}, // #281
5468
  {DBGFIELD("WriteRotate")        1, false, false,  6, 2,  1, 1,  0, 0}, // #282
5469
  {DBGFIELD("WriteRotateCL")      1, false, false,  6, 2,  1, 1,  0, 0}, // #283
5470
  {DBGFIELD("WriteFRcpXLd")       1, false, false, 24, 1, 19, 1,  0, 0}, // #284
5471
  {DBGFIELD("WriteFRcpX")         1, false, false, 13, 1,  7, 1,  0, 0}, // #285
5472
  {DBGFIELD("WriteFRcpLd")        1, false, false, 30, 2, 23, 1,  0, 0}, // #286
5473
  {DBGFIELD("WriteFRcpLd_ReadAfterVecLd") 1, false, false, 30, 2, 23, 1,  1, 1}, // #287
5474
  {DBGFIELD("WriteFRcp")          1, false, false, 30, 2, 23, 1,  0, 0}, // #288
5475
  {DBGFIELD("WriteRMW")           1, false, false,  6, 2,  1, 1,  0, 0}, // #289
5476
  {DBGFIELD("WriteShiftLd")       1, false, false,  6, 2,  1, 1,  0, 0}, // #290
5477
  {DBGFIELD("WriteShift")         1, false, false,  6, 2,  1, 1,  0, 0}, // #291
5478
  {DBGFIELD("WriteFRndLd")        1, false, false, 10, 2,  5, 1,  0, 0}, // #292
5479
  {DBGFIELD("WriteFRnd")          1, false, false, 10, 2,  5, 1,  0, 0}, // #293
5480
  {DBGFIELD("WriteFRndLd_ReadAfterVecXLd") 1, false, false, 10, 2,  5, 1,  1, 1}, // #294
5481
  {DBGFIELD("WriteFRsqrtXLd")     1, false, false, 24, 1, 19, 1,  0, 0}, // #295
5482
  {DBGFIELD("WriteFRsqrtX")       1, false, false, 13, 1,  7, 1,  0, 0}, // #296
5483
  {DBGFIELD("WriteFRsqrtLd")      1, false, false, 30, 2, 23, 1,  0, 0}, // #297
5484
  {DBGFIELD("WriteFRsqrtLd_ReadAfterVecLd") 1, false, false, 30, 2, 23, 1,  1, 1}, // #298
5485
  {DBGFIELD("WriteFRsqrt")        1, false, false, 30, 2, 23, 1,  0, 0}, // #299
5486
  {DBGFIELD("WriteShiftLd_WriteRMW") 2, false, false, 32, 2, 24, 2,  0, 0}, // #300
5487
  {DBGFIELD("WriteShiftCLLd_WriteRMW") 2, false, false, 32, 2, 24, 2,  0, 0}, // #301
5488
  {DBGFIELD("WriteShiftCL")       1, false, false,  6, 2,  1, 1,  0, 0}, // #302
5489
  {DBGFIELD("WriteShiftLd_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  2, 1}, // #303
5490
  {DBGFIELD("WriteSETCCStore")    1, false, false,  3, 1,  8, 1,  0, 0}, // #304
5491
  {DBGFIELD("WriteSETCC")         1, false, false,  1, 1,  1, 1,  0, 0}, // #305
5492
  {DBGFIELD("WriteSHDmrcl")       1, false, false, 29, 1, 23, 1,  0, 0}, // #306
5493
  {DBGFIELD("WriteSHDmri")        1, false, false, 29, 1, 23, 1,  0, 0}, // #307
5494
  {DBGFIELD("WriteSHDrrcl")       1, false, false,  3, 1,  8, 1,  0, 0}, // #308
5495