Submission #656143

# Submission time Handle Problem Language Result Execution time Memory
656143 2022-11-06T10:49:36 Z 600Mihnea Necklace (Subtask 1-3) (BOI19_necklace1) C++17
Compilation error
0 ms 0 KB
bool home = 0;
bool verbose = 1;

#include <bits/stdc++.h>

using namespace std;

mt19937 rng(7777);

typedef double ld;

const ld PI = 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678316527120190914;
using cd = complex<ld>;
const int N = 1 << 13;
cd c[N];
cd x[N];
cd y[N];

void fft(cd* a, bool inv) {
  swap(a[1], a[4096]); swap(a[2], a[2048]); swap(a[3], a[6144]); swap(a[4], a[1024]); swap(a[5], a[5120]); swap(a[6], a[3072]); swap(a[7], a[7168]); swap(a[8], a[512]); swap(a[9], a[4608]); swap(a[10], a[2560]); swap(a[11], a[6656]); swap(a[12], a[1536]); swap(a[13], a[5632]); swap(a[14], a[3584]); swap(a[15], a[7680]); swap(a[16], a[256]); swap(a[17], a[4352]); swap(a[18], a[2304]); swap(a[19], a[6400]); swap(a[20], a[1280]); swap(a[21], a[5376]); swap(a[22], a[3328]); swap(a[23], a[7424]); swap(a[24], a[768]); swap(a[25], a[4864]); swap(a[26], a[2816]); swap(a[27], a[6912]); swap(a[28], a[1792]); swap(a[29], a[5888]); swap(a[30], a[3840]); swap(a[31], a[7936]); swap(a[32], a[128]); swap(a[33], a[4224]); swap(a[34], a[2176]); swap(a[35], a[6272]); swap(a[36], a[1152]); swap(a[37], a[5248]); swap(a[38], a[3200]); swap(a[39], a[7296]); swap(a[40], a[640]); swap(a[41], a[4736]); swap(a[42], a[2688]); swap(a[43], a[6784]); swap(a[44], a[1664]); swap(a[45], a[5760]); swap(a[46], a[3712]); swap(a[47], a[7808]); swap(a[48], a[384]); swap(a[49], a[4480]); swap(a[50], a[2432]); swap(a[51], a[6528]); swap(a[52], a[1408]); swap(a[53], a[5504]); swap(a[54], a[3456]); swap(a[55], a[7552]); swap(a[56], a[896]); swap(a[57], a[4992]); swap(a[58], a[2944]); swap(a[59], a[7040]); swap(a[60], a[1920]); swap(a[61], a[6016]); swap(a[62], a[3968]); swap(a[63], a[8064]); swap(a[65], a[4160]); swap(a[66], a[2112]); swap(a[67], a[6208]); swap(a[68], a[1088]); swap(a[69], a[5184]); swap(a[70], a[3136]); swap(a[71], a[7232]); swap(a[72], a[576]); swap(a[73], a[4672]); swap(a[74], a[2624]); swap(a[75], a[6720]); swap(a[76], a[1600]); swap(a[77], a[5696]); swap(a[78], a[3648]); swap(a[79], a[7744]); swap(a[80], a[320]); swap(a[81], a[4416]); swap(a[82], a[2368]); swap(a[83], a[6464]); swap(a[84], a[1344]); swap(a[85], a[5440]); swap(a[86], a[3392]); swap(a[87], a[7488]); swap(a[88], a[832]); swap(a[89], a[4928]); swap(a[90], a[2880]); swap(a[91], a[6976]); swap(a[92], a[1856]); swap(a[93], a[5952]); swap(a[94], a[3904]); swap(a[95], a[8000]); swap(a[96], a[192]); swap(a[97], a[4288]); swap(a[98], a[2240]); swap(a[99], a[6336]); swap(a[100], a[1216]); swap(a[101], a[5312]); swap(a[102], a[3264]); swap(a[103], a[7360]); swap(a[104], a[704]); swap(a[105], a[4800]); swap(a[106], a[2752]); swap(a[107], a[6848]); swap(a[108], a[1728]); swap(a[109], a[5824]); swap(a[110], a[3776]); swap(a[111], a[7872]); swap(a[112], a[448]); swap(a[113], a[4544]); swap(a[114], a[2496]); swap(a[115], a[6592]); swap(a[116], a[1472]); swap(a[117], a[5568]); swap(a[118], a[3520]); swap(a[119], a[7616]); swap(a[120], a[960]); swap(a[121], a[5056]); swap(a[122], a[3008]); swap(a[123], a[7104]); swap(a[124], a[1984]); swap(a[125], a[6080]); swap(a[126], a[4032]); swap(a[127], a[8128]); swap(a[129], a[4128]); swap(a[130], a[2080]); swap(a[131], a[6176]); swap(a[132], a[1056]); swap(a[133], a[5152]); swap(a[134], a[3104]); swap(a[135], a[7200]); swap(a[136], a[544]); swap(a[137], a[4640]); swap(a[138], a[2592]); swap(a[139], a[6688]); swap(a[140], a[1568]); swap(a[141], a[5664]); swap(a[142], a[3616]); swap(a[143], a[7712]); swap(a[144], a[288]); swap(a[145], a[4384]); swap(a[146], a[2336]); swap(a[147], a[6432]); swap(a[148], a[1312]); swap(a[149], a[5408]); swap(a[150], a[3360]); swap(a[151], a[7456]); swap(a[152], a[800]); swap(a[153], a[4896]); swap(a[154], a[2848]); swap(a[155], a[6944]); swap(a[156], a[1824]); swap(a[157], a[5920]); swap(a[158], a[3872]); swap(a[159], a[7968]); swap(a[161], a[4256]); swap(a[162], a[2208]); swap(a[163], a[6304]); swap(a[164], a[1184]); swap(a[165], a[5280]); swap(a[166], a[3232]); swap(a[167], a[7328]); swap(a[168], a[672]); swap(a[169], a[4768]); swap(a[170], a[2720]); swap(a[171], a[6816]); swap(a[172], a[1696]); swap(a[173], a[5792]); swap(a[174], a[3744]); swap(a[175], a[7840]); swap(a[176], a[416]); swap(a[177], a[4512]); swap(a[178], a[2464]); swap(a[179], a[6560]); swap(a[180], a[1440]); swap(a[181], a[5536]); swap(a[182], a[3488]); swap(a[183], a[7584]); swap(a[184], a[928]); swap(a[185], a[5024]); swap(a[186], a[2976]); swap(a[187], a[7072]); swap(a[188], a[1952]); swap(a[189], a[6048]); swap(a[190], a[4000]); swap(a[191], a[8096]); swap(a[193], a[4192]); swap(a[194], a[2144]); swap(a[195], a[6240]); swap(a[196], a[1120]); swap(a[197], a[5216]); swap(a[198], a[3168]); swap(a[199], a[7264]); swap(a[200], a[608]); swap(a[201], a[4704]); swap(a[202], a[2656]); swap(a[203], a[6752]); swap(a[204], a[1632]); swap(a[205], a[5728]); swap(a[206], a[3680]); swap(a[207], a[7776]); swap(a[208], a[352]); swap(a[209], a[4448]); swap(a[210], a[2400]); swap(a[211], a[6496]); swap(a[212], a[1376]); swap(a[213], a[5472]); swap(a[214], a[3424]); swap(a[215], a[7520]); swap(a[216], a[864]); swap(a[217], a[4960]); swap(a[218], a[2912]); swap(a[219], a[7008]); swap(a[220], a[1888]); swap(a[221], a[5984]); swap(a[222], a[3936]); swap(a[223], a[8032]); swap(a[225], a[4320]); swap(a[226], a[2272]); swap(a[227], a[6368]); swap(a[228], a[1248]); swap(a[229], a[5344]); swap(a[230], a[3296]); swap(a[231], a[7392]); swap(a[232], a[736]); swap(a[233], a[4832]); swap(a[234], a[2784]); swap(a[235], a[6880]); swap(a[236], a[1760]); swap(a[237], a[5856]); swap(a[238], a[3808]); swap(a[239], a[7904]); swap(a[240], a[480]); swap(a[241], a[4576]); swap(a[242], a[2528]); swap(a[243], a[6624]); swap(a[244], a[1504]); swap(a[245], a[5600]); swap(a[246], a[3552]); swap(a[247], a[7648]); swap(a[248], a[992]); swap(a[249], a[5088]); swap(a[250], a[3040]); swap(a[251], a[7136]); swap(a[252], a[2016]); swap(a[253], a[6112]); swap(a[254], a[4064]); swap(a[255], a[8160]); swap(a[257], a[4112]); swap(a[258], a[2064]); swap(a[259], a[6160]); swap(a[260], a[1040]); swap(a[261], a[5136]); swap(a[262], a[3088]); swap(a[263], a[7184]); swap(a[264], a[528]); swap(a[265], a[4624]); swap(a[266], a[2576]); swap(a[267], a[6672]); swap(a[268], a[1552]); swap(a[269], a[5648]); swap(a[270], a[3600]); swap(a[271], a[7696]); swap(a[273], a[4368]); swap(a[274], a[2320]); swap(a[275], a[6416]); swap(a[276], a[1296]); swap(a[277], a[5392]); swap(a[278], a[3344]); swap(a[279], a[7440]); swap(a[280], a[784]); swap(a[281], a[4880]); swap(a[282], a[2832]); swap(a[283], a[6928]); swap(a[284], a[1808]); swap(a[285], a[5904]); swap(a[286], a[3856]); swap(a[287], a[7952]); swap(a[289], a[4240]); swap(a[290], a[2192]); swap(a[291], a[6288]); swap(a[292], a[1168]); swap(a[293], a[5264]); swap(a[294], a[3216]); swap(a[295], a[7312]); swap(a[296], a[656]); swap(a[297], a[4752]); swap(a[298], a[2704]); swap(a[299], a[6800]); swap(a[300], a[1680]); swap(a[301], a[5776]); swap(a[302], a[3728]); swap(a[303], a[7824]); swap(a[304], a[400]); swap(a[305], a[4496]); swap(a[306], a[2448]); swap(a[307], a[6544]); swap(a[308], a[1424]); swap(a[309], a[5520]); swap(a[310], a[3472]); swap(a[311], a[7568]); swap(a[312], a[912]); swap(a[313], a[5008]); swap(a[314], a[2960]); swap(a[315], a[7056]); swap(a[316], a[1936]); swap(a[317], a[6032]); swap(a[318], a[3984]); swap(a[319], a[8080]); swap(a[321], a[4176]); swap(a[322], a[2128]); swap(a[323], a[6224]); swap(a[324], a[1104]); swap(a[325], a[5200]); swap(a[326], a[3152]); swap(a[327], a[7248]); swap(a[328], a[592]); swap(a[329], a[4688]); swap(a[330], a[2640]); swap(a[331], a[6736]); swap(a[332], a[1616]); swap(a[333], a[5712]); swap(a[334], a[3664]); swap(a[335], a[7760]); swap(a[337], a[4432]); swap(a[338], a[2384]); swap(a[339], a[6480]); swap(a[340], a[1360]); swap(a[341], a[5456]); swap(a[342], a[3408]); swap(a[343], a[7504]); swap(a[344], a[848]); swap(a[345], a[4944]); swap(a[346], a[2896]); swap(a[347], a[6992]); swap(a[348], a[1872]); swap(a[349], a[5968]); swap(a[350], a[3920]); swap(a[351], a[8016]); swap(a[353], a[4304]); swap(a[354], a[2256]); swap(a[355], a[6352]); swap(a[356], a[1232]); swap(a[357], a[5328]); swap(a[358], a[3280]); swap(a[359], a[7376]); swap(a[360], a[720]); swap(a[361], a[4816]); swap(a[362], a[2768]); swap(a[363], a[6864]); swap(a[364], a[1744]); swap(a[365], a[5840]); swap(a[366], a[3792]); swap(a[367], a[7888]); swap(a[368], a[464]); swap(a[369], a[4560]); swap(a[370], a[2512]); swap(a[371], a[6608]); swap(a[372], a[1488]); swap(a[373], a[5584]); swap(a[374], a[3536]); swap(a[375], a[7632]); swap(a[376], a[976]); swap(a[377], a[5072]); swap(a[378], a[3024]); swap(a[379], a[7120]); swap(a[380], a[2000]); swap(a[381], a[6096]); swap(a[382], a[4048]); swap(a[383], a[8144]); swap(a[385], a[4144]); swap(a[386], a[2096]); swap(a[387], a[6192]); swap(a[388], a[1072]); swap(a[389], a[5168]); swap(a[390], a[3120]); swap(a[391], a[7216]); swap(a[392], a[560]); swap(a[393], a[4656]); swap(a[394], a[2608]); swap(a[395], a[6704]); swap(a[396], a[1584]); swap(a[397], a[5680]); swap(a[398], a[3632]); swap(a[399], a[7728]); swap(a[401], a[4400]); swap(a[402], a[2352]); swap(a[403], a[6448]); swap(a[404], a[1328]); swap(a[405], a[5424]); swap(a[406], a[3376]); swap(a[407], a[7472]); swap(a[408], a[816]); swap(a[409], a[4912]); swap(a[410], a[2864]); swap(a[411], a[6960]); swap(a[412], a[1840]); swap(a[413], a[5936]); swap(a[414], a[3888]); swap(a[415], a[7984]); swap(a[417], a[4272]); swap(a[418], a[2224]); swap(a[419], a[6320]); swap(a[420], a[1200]); swap(a[421], a[5296]); swap(a[422], a[3248]); swap(a[423], a[7344]); swap(a[424], a[688]); swap(a[425], a[4784]); swap(a[426], a[2736]); swap(a[427], a[6832]); swap(a[428], a[1712]); swap(a[429], a[5808]); swap(a[430], a[3760]); swap(a[431], a[7856]); swap(a[433], a[4528]); swap(a[434], a[2480]); swap(a[435], a[6576]); swap(a[436], a[1456]); swap(a[437], a[5552]); swap(a[438], a[3504]); swap(a[439], a[7600]); swap(a[440], a[944]); swap(a[441], a[5040]); swap(a[442], a[2992]); swap(a[443], a[7088]); swap(a[444], a[1968]); swap(a[445], a[6064]); swap(a[446], a[4016]); swap(a[447], a[8112]); swap(a[449], a[4208]); swap(a[450], a[2160]); swap(a[451], a[6256]); swap(a[452], a[1136]); swap(a[453], a[5232]); swap(a[454], a[3184]); swap(a[455], a[7280]); swap(a[456], a[624]); swap(a[457], a[4720]); swap(a[458], a[2672]); swap(a[459], a[6768]); swap(a[460], a[1648]); swap(a[461], a[5744]); swap(a[462], a[3696]); swap(a[463], a[7792]); swap(a[465], a[4464]); swap(a[466], a[2416]); swap(a[467], a[6512]); swap(a[468], a[1392]); swap(a[469], a[5488]); swap(a[470], a[3440]); swap(a[471], a[7536]); swap(a[472], a[880]); swap(a[473], a[4976]); swap(a[474], a[2928]); swap(a[475], a[7024]); swap(a[476], a[1904]); swap(a[477], a[6000]); swap(a[478], a[3952]); swap(a[479], a[8048]); swap(a[481], a[4336]); swap(a[482], a[2288]); swap(a[483], a[6384]); swap(a[484], a[1264]); swap(a[485], a[5360]); swap(a[486], a[3312]); swap(a[487], a[7408]); swap(a[488], a[752]); swap(a[489], a[4848]); swap(a[490], a[2800]); swap(a[491], a[6896]); swap(a[492], a[1776]); swap(a[493], a[5872]); swap(a[494], a[3824]); swap(a[495], a[7920]); swap(a[497], a[4592]); swap(a[498], a[2544]); swap(a[499], a[6640]); swap(a[500], a[1520]); swap(a[501], a[5616]); swap(a[502], a[3568]); swap(a[503], a[7664]); swap(a[504], a[1008]); swap(a[505], a[5104]); swap(a[506], a[3056]); swap(a[507], a[7152]); swap(a[508], a[2032]); swap(a[509], a[6128]); swap(a[510], a[4080]); swap(a[511], a[8176]); swap(a[513], a[4104]); swap(a[514], a[2056]); swap(a[515], a[6152]); swap(a[516], a[1032]); swap(a[517], a[5128]); swap(a[518], a[3080]); swap(a[519], a[7176]); swap(a[521], a[4616]); swap(a[522], a[2568]); swap(a[523], a[6664]); swap(a[524], a[1544]); swap(a[525], a[5640]); swap(a[526], a[3592]); swap(a[527], a[7688]); swap(a[529], a[4360]); swap(a[530], a[2312]); swap(a[531], a[6408]); swap(a[532], a[1288]); swap(a[533], a[5384]); swap(a[534], a[3336]); swap(a[535], a[7432]); swap(a[536], a[776]); swap(a[537], a[4872]); swap(a[538], a[2824]); swap(a[539], a[6920]); swap(a[540], a[1800]); swap(a[541], a[5896]); swap(a[542], a[3848]); swap(a[543], a[7944]); swap(a[545], a[4232]); swap(a[546], a[2184]); swap(a[547], a[6280]); swap(a[548], a[1160]); swap(a[549], a[5256]); swap(a[550], a[3208]); swap(a[551], a[7304]); swap(a[552], a[648]); swap(a[553], a[4744]); swap(a[554], a[2696]); swap(a[555], a[6792]); swap(a[556], a[1672]); swap(a[557], a[5768]); swap(a[558], a[3720]); swap(a[559], a[7816]); swap(a[561], a[4488]); swap(a[562], a[2440]); swap(a[563], a[6536]); swap(a[564], a[1416]); swap(a[565], a[5512]); swap(a[566], a[3464]); swap(a[567], a[7560]); swap(a[568], a[904]); swap(a[569], a[5000]); swap(a[570], a[2952]); swap(a[571], a[7048]); swap(a[572], a[1928]); swap(a[573], a[6024]); swap(a[574], a[3976]); swap(a[575], a[8072]); swap(a[577], a[4168]); swap(a[578], a[2120]); swap(a[579], a[6216]); swap(a[580], a[1096]); swap(a[581], a[5192]); swap(a[582], a[3144]); swap(a[583], a[7240]); swap(a[585], a[4680]); swap(a[586], a[2632]); swap(a[587], a[6728]); swap(a[588], a[1608]); swap(a[589], a[5704]); swap(a[590], a[3656]); swap(a[591], a[7752]); swap(a[593], a[4424]); swap(a[594], a[2376]); swap(a[595], a[6472]); swap(a[596], a[1352]); swap(a[597], a[5448]); swap(a[598], a[3400]); swap(a[599], a[7496]); swap(a[600], a[840]); swap(a[601], a[4936]); swap(a[602], a[2888]); swap(a[603], a[6984]); swap(a[604], a[1864]); swap(a[605], a[5960]); swap(a[606], a[3912]); swap(a[607], a[8008]); swap(a[609], a[4296]); swap(a[610], a[2248]); swap(a[611], a[6344]); swap(a[612], a[1224]); swap(a[613], a[5320]); swap(a[614], a[3272]); swap(a[615], a[7368]); swap(a[616], a[712]); swap(a[617], a[4808]); swap(a[618], a[2760]); swap(a[619], a[6856]); swap(a[620], a[1736]); swap(a[621], a[5832]); swap(a[622], a[3784]); swap(a[623], a[7880]); swap(a[625], a[4552]); swap(a[626], a[2504]); swap(a[627], a[6600]); swap(a[628], a[1480]); swap(a[629], a[5576]); swap(a[630], a[3528]); swap(a[631], a[7624]); swap(a[632], a[968]); swap(a[633], a[5064]); swap(a[634], a[3016]); swap(a[635], a[7112]); swap(a[636], a[1992]); swap(a[637], a[6088]); swap(a[638], a[4040]); swap(a[639], a[8136]); swap(a[641], a[4136]); swap(a[642], a[2088]); swap(a[643], a[6184]); swap(a[644], a[1064]); swap(a[645], a[5160]); swap(a[646], a[3112]); swap(a[647], a[7208]); swap(a[649], a[4648]); swap(a[650], a[2600]); swap(a[651], a[6696]); swap(a[652], a[1576]); swap(a[653], a[5672]); swap(a[654], a[3624]); swap(a[655], a[7720]); swap(a[657], a[4392]); swap(a[658], a[2344]); swap(a[659], a[6440]); swap(a[660], a[1320]); swap(a[661], a[5416]); swap(a[662], a[3368]); swap(a[663], a[7464]); swap(a[664], a[808]); swap(a[665], a[4904]); swap(a[666], a[2856]); swap(a[667], a[6952]); swap(a[668], a[1832]); swap(a[669], a[5928]); swap(a[670], a[3880]); swap(a[671], a[7976]); swap(a[673], a[4264]); swap(a[674], a[2216]); swap(a[675], a[6312]); swap(a[676], a[1192]); swap(a[677], a[5288]); swap(a[678], a[3240]); swap(a[679], a[7336]); swap(a[681], a[4776]); swap(a[682], a[2728]); swap(a[683], a[6824]); swap(a[684], a[1704]); swap(a[685], a[5800]); swap(a[686], a[3752]); swap(a[687], a[7848]); swap(a[689], a[4520]); swap(a[690], a[2472]); swap(a[691], a[6568]); swap(a[692], a[1448]); swap(a[693], a[5544]); swap(a[694], a[3496]); swap(a[695], a[7592]); swap(a[696], a[936]); swap(a[697], a[5032]); swap(a[698], a[2984]); swap(a[699], a[7080]); swap(a[700], a[1960]); swap(a[701], a[6056]); swap(a[702], a[4008]); swap(a[703], a[8104]); swap(a[705], a[4200]); swap(a[706], a[2152]); swap(a[707], a[6248]); swap(a[708], a[1128]); swap(a[709], a[5224]); swap(a[710], a[3176]); swap(a[711], a[7272]); swap(a[713], a[4712]); swap(a[714], a[2664]); swap(a[715], a[6760]); swap(a[716], a[1640]); swap(a[717], a[5736]); swap(a[718], a[3688]); swap(a[719], a[7784]); swap(a[721], a[4456]); swap(a[722], a[2408]); swap(a[723], a[6504]); swap(a[724], a[1384]); swap(a[725], a[5480]); swap(a[726], a[3432]); swap(a[727], a[7528]); swap(a[728], a[872]); swap(a[729], a[4968]); swap(a[730], a[2920]); swap(a[731], a[7016]); swap(a[732], a[1896]); swap(a[733], a[5992]); swap(a[734], a[3944]); swap(a[735], a[8040]); swap(a[737], a[4328]); swap(a[738], a[2280]); swap(a[739], a[6376]); swap(a[740], a[1256]); swap(a[741], a[5352]); swap(a[742], a[3304]); swap(a[743], a[7400]); swap(a[745], a[4840]); swap(a[746], a[2792]); swap(a[747], a[6888]); swap(a[748], a[1768]); swap(a[749], a[5864]); swap(a[750], a[3816]); swap(a[751], a[7912]); swap(a[753], a[4584]); swap(a[754], a[2536]); swap(a[755], a[6632]); swap(a[756], a[1512]); swap(a[757], a[5608]); swap(a[758], a[3560]); swap(a[759], a[7656]); swap(a[760], a[1000]); swap(a[761], a[5096]); swap(a[762], a[3048]); swap(a[763], a[7144]); swap(a[764], a[2024]); swap(a[765], a[6120]); swap(a[766], a[4072]); swap(a[767], a[8168]); swap(a[769], a[4120]); swap(a[770], a[2072]); swap(a[771], a[6168]); swap(a[772], a[1048]); swap(a[773], a[5144]); swap(a[774], a[3096]); swap(a[775], a[7192]); swap(a[777], a[4632]); swap(a[778], a[2584]); swap(a[779], a[6680]); swap(a[780], a[1560]); swap(a[781], a[5656]); swap(a[782], a[3608]); swap(a[783], a[7704]); swap(a[785], a[4376]); swap(a[786], a[2328]); swap(a[787], a[6424]); swap(a[788], a[1304]); swap(a[789], a[5400]); swap(a[790], a[3352]); swap(a[791], a[7448]); swap(a[793], a[4888]); swap(a[794], a[2840]); swap(a[795], a[6936]); swap(a[796], a[1816]); swap(a[797], a[5912]); swap(a[798], a[3864]); swap(a[799], a[7960]); swap(a[801], a[4248]); swap(a[802], a[2200]); swap(a[803], a[6296]); swap(a[804], a[1176]); swap(a[805], a[5272]); swap(a[806], a[3224]); swap(a[807], a[7320]); swap(a[809], a[4760]); swap(a[810], a[2712]); swap(a[811], a[6808]); swap(a[812], a[1688]); swap(a[813], a[5784]); swap(a[814], a[3736]); swap(a[815], a[7832]); swap(a[817], a[4504]); swap(a[818], a[2456]); swap(a[819], a[6552]); swap(a[820], a[1432]); swap(a[821], a[5528]); swap(a[822], a[3480]); swap(a[823], a[7576]); swap(a[824], a[920]); swap(a[825], a[5016]); swap(a[826], a[2968]); swap(a[827], a[7064]); swap(a[828], a[1944]); swap(a[829], a[6040]); swap(a[830], a[3992]); swap(a[831], a[8088]); swap(a[833], a[4184]); swap(a[834], a[2136]); swap(a[835], a[6232]); swap(a[836], a[1112]); swap(a[837], a[5208]); swap(a[838], a[3160]); swap(a[839], a[7256]); swap(a[841], a[4696]); swap(a[842], a[2648]); swap(a[843], a[6744]); swap(a[844], a[1624]); swap(a[845], a[5720]); swap(a[846], a[3672]); swap(a[847], a[7768]); swap(a[849], a[4440]); swap(a[850], a[2392]); swap(a[851], a[6488]); swap(a[852], a[1368]); swap(a[853], a[5464]); swap(a[854], a[3416]); swap(a[855], a[7512]); swap(a[857], a[4952]); swap(a[858], a[2904]); swap(a[859], a[7000]); swap(a[860], a[1880]); swap(a[861], a[5976]); swap(a[862], a[3928]); swap(a[863], a[8024]); swap(a[865], a[4312]); swap(a[866], a[2264]); swap(a[867], a[6360]); swap(a[868], a[1240]); swap(a[869], a[5336]); swap(a[870], a[3288]); swap(a[871], a[7384]); swap(a[873], a[4824]); swap(a[874], a[2776]); swap(a[875], a[6872]); swap(a[876], a[1752]); swap(a[877], a[5848]); swap(a[878], a[3800]); swap(a[879], a[7896]); swap(a[881], a[4568]); swap(a[882], a[2520]); swap(a[883], a[6616]); swap(a[884], a[1496]); swap(a[885], a[5592]); swap(a[886], a[3544]); swap(a[887], a[7640]); swap(a[888], a[984]); swap(a[889], a[5080]); swap(a[890], a[3032]); swap(a[891], a[7128]); swap(a[892], a[2008]); swap(a[893], a[6104]); swap(a[894], a[4056]); swap(a[895], a[8152]); swap(a[897], a[4152]); swap(a[898], a[2104]); swap(a[899], a[6200]); swap(a[900], a[1080]); swap(a[901], a[5176]); swap(a[902], a[3128]); swap(a[903], a[7224]); swap(a[905], a[4664]); swap(a[906], a[2616]); swap(a[907], a[6712]); swap(a[908], a[1592]); swap(a[909], a[5688]); swap(a[910], a[3640]); swap(a[911], a[7736]); swap(a[913], a[4408]); swap(a[914], a[2360]); swap(a[915], a[6456]); swap(a[916], a[1336]); swap(a[917], a[5432]); swap(a[918], a[3384]); swap(a[919], a[7480]); swap(a[921], a[4920]); swap(a[922], a[2872]); swap(a[923], a[6968]); swap(a[924], a[1848]); swap(a[925], a[5944]); swap(a[926], a[3896]); swap(a[927], a[7992]); swap(a[929], a[4280]); swap(a[930], a[2232]); swap(a[931], a[6328]); swap(a[932], a[1208]); swap(a[933], a[5304]); swap(a[934], a[3256]); swap(a[935], a[7352]); swap(a[937], a[4792]); swap(a[938], a[2744]); swap(a[939], a[6840]); swap(a[940], a[1720]); swap(a[941], a[5816]); swap(a[942], a[3768]); swap(a[943], a[7864]); swap(a[945], a[4536]); swap(a[946], a[2488]); swap(a[947], a[6584]); swap(a[948], a[1464]); swap(a[949], a[5560]); swap(a[950], a[3512]); swap(a[951], a[7608]); swap(a[953], a[5048]); swap(a[954], a[3000]); swap(a[955], a[7096]); swap(a[956], a[1976]); swap(a[957], a[6072]); swap(a[958], a[4024]); swap(a[959], a[8120]); swap(a[961], a[4216]); swap(a[962], a[2168]); swap(a[963], a[6264]); swap(a[964], a[1144]); swap(a[965], a[5240]); swap(a[966], a[3192]); swap(a[967], a[7288]); swap(a[969], a[4728]); swap(a[970], a[2680]); swap(a[971], a[6776]); swap(a[972], a[1656]); swap(a[973], a[5752]); swap(a[974], a[3704]); swap(a[975], a[7800]); swap(a[977], a[4472]); swap(a[978], a[2424]); swap(a[979], a[6520]); swap(a[980], a[1400]); swap(a[981], a[5496]); swap(a[982], a[3448]); swap(a[983], a[7544]); swap(a[985], a[4984]); swap(a[986], a[2936]); swap(a[987], a[7032]); swap(a[988], a[1912]); swap(a[989], a[6008]); swap(a[990], a[3960]); swap(a[991], a[8056]); swap(a[993], a[4344]); swap(a[994], a[2296]); swap(a[995], a[6392]); swap(a[996], a[1272]); swap(a[997], a[5368]); swap(a[998], a[3320]); swap(a[999], a[7416]); swap(a[1001], a[4856]); swap(a[1002], a[2808]); swap(a[1003], a[6904]); swap(a[1004], a[1784]); swap(a[1005], a[5880]); swap(a[1006], a[3832]); swap(a[1007], a[7928]); swap(a[1009], a[4600]); swap(a[1010], a[2552]); swap(a[1011], a[6648]); swap(a[1012], a[1528]); swap(a[1013], a[5624]); swap(a[1014], a[3576]); swap(a[1015], a[7672]); swap(a[1017], a[5112]); swap(a[1018], a[3064]); swap(a[1019], a[7160]); swap(a[1020], a[2040]); swap(a[1021], a[6136]); swap(a[1022], a[4088]); swap(a[1023], a[8184]); swap(a[1025], a[4100]); swap(a[1026], a[2052]); swap(a[1027], a[6148]); swap(a[1029], a[5124]); swap(a[1030], a[3076]); swap(a[1031], a[7172]); swap(a[1033], a[4612]); swap(a[1034], a[2564]); swap(a[1035], a[6660]); swap(a[1036], a[1540]); swap(a[1037], a[5636]); swap(a[1038], a[3588]); swap(a[1039], a[7684]); swap(a[1041], a[4356]); swap(a[1042], a[2308]); swap(a[1043], a[6404]); swap(a[1044], a[1284]); swap(a[1045], a[5380]); swap(a[1046], a[3332]); swap(a[1047], a[7428]); swap(a[1049], a[4868]); swap(a[1050], a[2820]); swap(a[1051], a[6916]); swap(a[1052], a[1796]); swap(a[1053], a[5892]); swap(a[1054], a[3844]); swap(a[1055], a[7940]); swap(a[1057], a[4228]); swap(a[1058], a[2180]); swap(a[1059], a[6276]); swap(a[1060], a[1156]); swap(a[1061], a[5252]); swap(a[1062], a[3204]); swap(a[1063], a[7300]); swap(a[1065], a[4740]); swap(a[1066], a[2692]); swap(a[1067], a[6788]); swap(a[1068], a[1668]); swap(a[1069], a[5764]); swap(a[1070], a[3716]); swap(a[1071], a[7812]); swap(a[1073], a[4484]); swap(a[1074], a[2436]); swap(a[1075], a[6532]); swap(a[1076], a[1412]); swap(a[1077], a[5508]); swap(a[1078], a[3460]); swap(a[1079], a[7556]); swap(a[1081], a[4996]); swap(a[1082], a[2948]); swap(a[1083], a[7044]); swap(a[1084], a[1924]); swap(a[1085], a[6020]); swap(a[1086], a[3972]); swap(a[1087], a[8068]); swap(a[1089], a[4164]); swap(a[1090], a[2116]); swap(a[1091], a[6212]); swap(a[1093], a[5188]); swap(a[1094], a[3140]); swap(a[1095], a[7236]); swap(a[1097], a[4676]); swap(a[1098], a[2628]); swap(a[1099], a[6724]); swap(a[1100], a[1604]); swap(a[1101], a[5700]); swap(a[1102], a[3652]); swap(a[1103], a[7748]); swap(a[1105], a[4420]); swap(a[1106], a[2372]); swap(a[1107], a[6468]); swap(a[1108], a[1348]); swap(a[1109], a[5444]); swap(a[1110], a[3396]); swap(a[1111], a[7492]); swap(a[1113], a[4932]); swap(a[1114], a[2884]); swap(a[1115], a[6980]); swap(a[1116], a[1860]); swap(a[1117], a[5956]); swap(a[1118], a[3908]); swap(a[1119], a[8004]); swap(a[1121], a[4292]); swap(a[1122], a[2244]); swap(a[1123], a[6340]); swap(a[1124], a[1220]); swap(a[1125], a[5316]); swap(a[1126], a[3268]); swap(a[1127], a[7364]); swap(a[1129], a[4804]); swap(a[1130], a[2756]); swap(a[1131], a[6852]); swap(a[1132], a[1732]); swap(a[1133], a[5828]); swap(a[1134], a[3780]); swap(a[1135], a[7876]); swap(a[1137], a[4548]); swap(a[1138], a[2500]); swap(a[1139], a[6596]); swap(a[1140], a[1476]); swap(a[1141], a[5572]); swap(a[1142], a[3524]); swap(a[1143], a[7620]); swap(a[1145], a[5060]); swap(a[1146], a[3012]); swap(a[1147], a[7108]); swap(a[1148], a[1988]); swap(a[1149], a[6084]); swap(a[1150], a[4036]); swap(a[1151], a[8132]); swap(a[1153], a[4132]); swap(a[1154], a[2084]); swap(a[1155], a[6180]); swap(a[1157], a[5156]); swap(a[1158], a[3108]); swap(a[1159], a[7204]); swap(a[1161], a[4644]); swap(a[1162], a[2596]); swap(a[1163], a[6692]); swap(a[1164], a[1572]); swap(a[1165], a[5668]); swap(a[1166], a[3620]); swap(a[1167], a[7716]); swap(a[1169], a[4388]); swap(a[1170], a[2340]); swap(a[1171], a[6436]); swap(a[1172], a[1316]); swap(a[1173], a[5412]); swap(a[1174], a[3364]); swap(a[1175], a[7460]); swap(a[1177], a[4900]); swap(a[1178], a[2852]); swap(a[1179], a[6948]); swap(a[1180], a[1828]); swap(a[1181], a[5924]); swap(a[1182], a[3876]); swap(a[1183], a[7972]); swap(a[1185], a[4260]); swap(a[1186], a[2212]); swap(a[1187], a[6308]); swap(a[1189], a[5284]); swap(a[1190], a[3236]); swap(a[1191], a[7332]); swap(a[1193], a[4772]); swap(a[1194], a[2724]); swap(a[1195], a[6820]); swap(a[1196], a[1700]); swap(a[1197], a[5796]); swap(a[1198], a[3748]); swap(a[1199], a[7844]); swap(a[1201], a[4516]); swap(a[1202], a[2468]); swap(a[1203], a[6564]); swap(a[1204], a[1444]); swap(a[1205], a[5540]); swap(a[1206], a[3492]); swap(a[1207], a[7588]); swap(a[1209], a[5028]); swap(a[1210], a[2980]); swap(a[1211], a[7076]); swap(a[1212], a[1956]); swap(a[1213], a[6052]); swap(a[1214], a[4004]); swap(a[1215], a[8100]); swap(a[1217], a[4196]); swap(a[1218], a[2148]); swap(a[1219], a[6244]); swap(a[1221], a[5220]); swap(a[1222], a[3172]); swap(a[1223], a[7268]); swap(a[1225], a[4708]); swap(a[1226], a[2660]); swap(a[1227], a[6756]); swap(a[1228], a[1636]); swap(a[1229], a[5732]); swap(a[1230], a[3684]); swap(a[1231], a[7780]); swap(a[1233], a[4452]); swap(a[1234], a[2404]); swap(a[1235], a[6500]); swap(a[1236], a[1380]); swap(a[1237], a[5476]); swap(a[1238], a[3428]); swap(a[1239], a[7524]); swap(a[1241], a[4964]); swap(a[1242], a[2916]); swap(a[1243], a[7012]); swap(a[1244], a[1892]); swap(a[1245], a[5988]); swap(a[1246], a[3940]); swap(a[1247], a[8036]); swap(a[1249], a[4324]); swap(a[1250], a[2276]); swap(a[1251], a[6372]); swap(a[1253], a[5348]); swap(a[1254], a[3300]); swap(a[1255], a[7396]); swap(a[1257], a[4836]); swap(a[1258], a[2788]); swap(a[1259], a[6884]); swap(a[1260], a[1764]); swap(a[1261], a[5860]); swap(a[1262], a[3812]); swap(a[1263], a[7908]); swap(a[1265], a[4580]); swap(a[1266], a[2532]); swap(a[1267], a[6628]); swap(a[1268], a[1508]); swap(a[1269], a[5604]); swap(a[1270], a[3556]); swap(a[1271], a[7652]); swap(a[1273], a[5092]); swap(a[1274], a[3044]); swap(a[1275], a[7140]); swap(a[1276], a[2020]); swap(a[1277], a[6116]); swap(a[1278], a[4068]); swap(a[1279], a[8164]); swap(a[1281], a[4116]); swap(a[1282], a[2068]); swap(a[1283], a[6164]); swap(a[1285], a[5140]); swap(a[1286], a[3092]); swap(a[1287], a[7188]); swap(a[1289], a[4628]); swap(a[1290], a[2580]); swap(a[1291], a[6676]); swap(a[1292], a[1556]); swap(a[1293], a[5652]); swap(a[1294], a[3604]); swap(a[1295], a[7700]); swap(a[1297], a[4372]); swap(a[1298], a[2324]); swap(a[1299], a[6420]); swap(a[1301], a[5396]); swap(a[1302], a[3348]); swap(a[1303], a[7444]); swap(a[1305], a[4884]); swap(a[1306], a[2836]); swap(a[1307], a[6932]); swap(a[1308], a[1812]); swap(a[1309], a[5908]); swap(a[1310], a[3860]); swap(a[1311], a[7956]); swap(a[1313], a[4244]); swap(a[1314], a[2196]); swap(a[1315], a[6292]); swap(a[1317], a[5268]); swap(a[1318], a[3220]); swap(a[1319], a[7316]); swap(a[1321], a[4756]); swap(a[1322], a[2708]); swap(a[1323], a[6804]); swap(a[1324], a[1684]); swap(a[1325], a[5780]); swap(a[1326], a[3732]); swap(a[1327], a[7828]); swap(a[1329], a[4500]); swap(a[1330], a[2452]); swap(a[1331], a[6548]); swap(a[1332], a[1428]); swap(a[1333], a[5524]); swap(a[1334], a[3476]); swap(a[1335], a[7572]); swap(a[1337], a[5012]); swap(a[1338], a[2964]); swap(a[1339], a[7060]); swap(a[1340], a[1940]); swap(a[1341], a[6036]); swap(a[1342], a[3988]); swap(a[1343], a[8084]); swap(a[1345], a[4180]); swap(a[1346], a[2132]); swap(a[1347], a[6228]); swap(a[1349], a[5204]); swap(a[1350], a[3156]); swap(a[1351], a[7252]); swap(a[1353], a[4692]); swap(a[1354], a[2644]); swap(a[1355], a[6740]); swap(a[1356], a[1620]); swap(a[1357], a[5716]); swap(a[1358], a[3668]); swap(a[1359], a[7764]); swap(a[1361], a[4436]); swap(a[1362], a[2388]); swap(a[1363], a[6484]); swap(a[1365], a[5460]); swap(a[1366], a[3412]); swap(a[1367], a[7508]); swap(a[1369], a[4948]); swap(a[1370], a[2900]); swap(a[1371], a[6996]); swap(a[1372], a[1876]); swap(a[1373], a[5972]); swap(a[1374], a[3924]); swap(a[1375], a[8020]); swap(a[1377], a[4308]); swap(a[1378], a[2260]); swap(a[1379], a[6356]); swap(a[1381], a[5332]); swap(a[1382], a[3284]); swap(a[1383], a[7380]); swap(a[1385], a[4820]); swap(a[1386], a[2772]); swap(a[1387], a[6868]); swap(a[1388], a[1748]); swap(a[1389], a[5844]); swap(a[1390], a[3796]); swap(a[1391], a[7892]); swap(a[1393], a[4564]); swap(a[1394], a[2516]); swap(a[1395], a[6612]); swap(a[1396], a[1492]); swap(a[1397], a[5588]); swap(a[1398], a[3540]); swap(a[1399], a[7636]); swap(a[1401], a[5076]); swap(a[1402], a[3028]); swap(a[1403], a[7124]); swap(a[1404], a[2004]); swap(a[1405], a[6100]); swap(a[1406], a[4052]); swap(a[1407], a[8148]); swap(a[1409], a[4148]); swap(a[1410], a[2100]); swap(a[1411], a[6196]); swap(a[1413], a[5172]); swap(a[1414], a[3124]); swap(a[1415], a[7220]); swap(a[1417], a[4660]); swap(a[1418], a[2612]); swap(a[1419], a[6708]); swap(a[1420], a[1588]); swap(a[1421], a[5684]); swap(a[1422], a[3636]); swap(a[1423], a[7732]); swap(a[1425], a[4404]); swap(a[1426], a[2356]); swap(a[1427], a[6452]); swap(a[1429], a[5428]); swap(a[1430], a[3380]); swap(a[1431], a[7476]); swap(a[1433], a[4916]); swap(a[1434], a[2868]); swap(a[1435], a[6964]); swap(a[1436], a[1844]); swap(a[1437], a[5940]); swap(a[1438], a[3892]); swap(a[1439], a[7988]); swap(a[1441], a[4276]); swap(a[1442], a[2228]); swap(a[1443], a[6324]); swap(a[1445], a[5300]); swap(a[1446], a[3252]); swap(a[1447], a[7348]); swap(a[1449], a[4788]); swap(a[1450], a[2740]); swap(a[1451], a[6836]); swap(a[1452], a[1716]); swap(a[1453], a[5812]); swap(a[1454], a[3764]); swap(a[1455], a[7860]); swap(a[1457], a[4532]); swap(a[1458], a[2484]); swap(a[1459], a[6580]); swap(a[1461], a[5556]); swap(a[1462], a[3508]); swap(a[1463], a[7604]); swap(a[1465], a[5044]); swap(a[1466], a[2996]); swap(a[1467], a[7092]); swap(a[1468], a[1972]); swap(a[1469], a[6068]); swap(a[1470], a[4020]); swap(a[1471], a[8116]); swap(a[1473], a[4212]); swap(a[1474], a[2164]); swap(a[1475], a[6260]); swap(a[1477], a[5236]); swap(a[1478], a[3188]); swap(a[1479], a[7284]); swap(a[1481], a[4724]); swap(a[1482], a[2676]); swap(a[1483], a[6772]); swap(a[1484], a[1652]); swap(a[1485], a[5748]); swap(a[1486], a[3700]); swap(a[1487], a[7796]); swap(a[1489], a[4468]); swap(a[1490], a[2420]); swap(a[1491], a[6516]); swap(a[1493], a[5492]); swap(a[1494], a[3444]); swap(a[1495], a[7540]); swap(a[1497], a[4980]); swap(a[1498], a[2932]); swap(a[1499], a[7028]); swap(a[1500], a[1908]); swap(a[1501], a[6004]); swap(a[1502], a[3956]); swap(a[1503], a[8052]); swap(a[1505], a[4340]); swap(a[1506], a[2292]); swap(a[1507], a[6388]); swap(a[1509], a[5364]); swap(a[1510], a[3316]); swap(a[1511], a[7412]); swap(a[1513], a[4852]); swap(a[1514], a[2804]); swap(a[1515], a[6900]); swap(a[1516], a[1780]); swap(a[1517], a[5876]); swap(a[1518], a[3828]); swap(a[1519], a[7924]); swap(a[1521], a[4596]); swap(a[1522], a[2548]); swap(a[1523], a[6644]); swap(a[1525], a[5620]); swap(a[1526], a[3572]); swap(a[1527], a[7668]); swap(a[1529], a[5108]); swap(a[1530], a[3060]); swap(a[1531], a[7156]); swap(a[1532], a[2036]); swap(a[1533], a[6132]); swap(a[1534], a[4084]); swap(a[1535], a[8180]); swap(a[1537], a[4108]); swap(a[1538], a[2060]); swap(a[1539], a[6156]); swap(a[1541], a[5132]); swap(a[1542], a[3084]); swap(a[1543], a[7180]); swap(a[1545], a[4620]); swap(a[1546], a[2572]); swap(a[1547], a[6668]); swap(a[1549], a[5644]); swap(a[1550], a[3596]); swap(a[1551], a[7692]); swap(a[1553], a[4364]); swap(a[1554], a[2316]); swap(a[1555], a[6412]); swap(a[1557], a[5388]); swap(a[1558], a[3340]); swap(a[1559], a[7436]); swap(a[1561], a[4876]); swap(a[1562], a[2828]); swap(a[1563], a[6924]); swap(a[1564], a[1804]); swap(a[1565], a[5900]); swap(a[1566], a[3852]); swap(a[1567], a[7948]); swap(a[1569], a[4236]); swap(a[1570], a[2188]); swap(a[1571], a[6284]); swap(a[1573], a[5260]); swap(a[1574], a[3212]); swap(a[1575], a[7308]); swap(a[1577], a[4748]); swap(a[1578], a[2700]); swap(a[1579], a[6796]); swap(a[1580], a[1676]); swap(a[1581], a[5772]); swap(a[1582], a[3724]); swap(a[1583], a[7820]); swap(a[1585], a[4492]); swap(a[1586], a[2444]); swap(a[1587], a[6540]); swap(a[1589], a[5516]); swap(a[1590], a[3468]); swap(a[1591], a[7564]); swap(a[1593], a[5004]); swap(a[1594], a[2956]); swap(a[1595], a[7052]); swap(a[1596], a[1932]); swap(a[1597], a[6028]); swap(a[1598], a[3980]); swap(a[1599], a[8076]); swap(a[1601], a[4172]); swap(a[1602], a[2124]); swap(a[1603], a[6220]); swap(a[1605], a[5196]); swap(a[1606], a[3148]); swap(a[1607], a[7244]); swap(a[1609], a[4684]); swap(a[1610], a[2636]); swap(a[1611], a[6732]); swap(a[1613], a[5708]); swap(a[1614], a[3660]); swap(a[1615], a[7756]); swap(a[1617], a[4428]); swap(a[1618], a[2380]); swap(a[1619], a[6476]); swap(a[1621], a[5452]); swap(a[1622], a[3404]); swap(a[1623], a[7500]); swap(a[1625], a[4940]); swap(a[1626], a[2892]); swap(a[1627], a[6988]); swap(a[1628], a[1868]); swap(a[1629], a[5964]); swap(a[1630], a[3916]); swap(a[1631], a[8012]); swap(a[1633], a[4300]); swap(a[1634], a[2252]); swap(a[1635], a[6348]); swap(a[1637], a[5324]); swap(a[1638], a[3276]); swap(a[1639], a[7372]); swap(a[1641], a[4812]); swap(a[1642], a[2764]); swap(a[1643], a[6860]); swap(a[1644], a[1740]); swap(a[1645], a[5836]); swap(a[1646], a[3788]); swap(a[1647], a[7884]); swap(a[1649], a[4556]); swap(a[1650], a[2508]); swap(a[1651], a[6604]); swap(a[1653], a[5580]); swap(a[1654], a[3532]); swap(a[1655], a[7628]); swap(a[1657], a[5068]); swap(a[1658], a[3020]); swap(a[1659], a[7116]); swap(a[1660], a[1996]); swap(a[1661], a[6092]); swap(a[1662], a[4044]); swap(a[1663], a[8140]); swap(a[1665], a[4140]); swap(a[1666], a[2092]); swap(a[1667], a[6188]); swap(a[1669], a[5164]); swap(a[1670], a[3116]); swap(a[1671], a[7212]); swap(a[1673], a[4652]); swap(a[1674], a[2604]); swap(a[1675], a[6700]); swap(a[1677], a[5676]); swap(a[1678], a[3628]); swap(a[1679], a[7724]); swap(a[1681], a[4396]); swap(a[1682], a[2348]); swap(a[1683], a[6444]); swap(a[1685], a[5420]); swap(a[1686], a[3372]); swap(a[1687], a[7468]); swap(a[1689], a[4908]); swap(a[1690], a[2860]); swap(a[1691], a[6956]); swap(a[1692], a[1836]); swap(a[1693], a[5932]); swap(a[1694], a[3884]); swap(a[1695], a[7980]); swap(a[1697], a[4268]); swap(a[1698], a[2220]); swap(a[1699], a[6316]); swap(a[1701], a[5292]); swap(a[1702], a[3244]); swap(a[1703], a[7340]); swap(a[1705], a[4780]); swap(a[1706], a[2732]); swap(a[1707], a[6828]); swap(a[1709], a[5804]); swap(a[1710], a[3756]); swap(a[1711], a[7852]); swap(a[1713], a[4524]); swap(a[1714], a[2476]); swap(a[1715], a[6572]); swap(a[1717], a[5548]); swap(a[1718], a[3500]); swap(a[1719], a[7596]); swap(a[1721], a[5036]); swap(a[1722], a[2988]); swap(a[1723], a[7084]); swap(a[1724], a[1964]); swap(a[1725], a[6060]); swap(a[1726], a[4012]); swap(a[1727], a[8108]); swap(a[1729], a[4204]); swap(a[1730], a[2156]); swap(a[1731], a[6252]); swap(a[1733], a[5228]); swap(a[1734], a[3180]); swap(a[1735], a[7276]); swap(a[1737], a[4716]); swap(a[1738], a[2668]); swap(a[1739], a[6764]); swap(a[1741], a[5740]); swap(a[1742], a[3692]); swap(a[1743], a[7788]); swap(a[1745], a[4460]); swap(a[1746], a[2412]); swap(a[1747], a[6508]); swap(a[1749], a[5484]); swap(a[1750], a[3436]); swap(a[1751], a[7532]); swap(a[1753], a[4972]); swap(a[1754], a[2924]); swap(a[1755], a[7020]); swap(a[1756], a[1900]); swap(a[1757], a[5996]); swap(a[1758], a[3948]); swap(a[1759], a[8044]); swap(a[1761], a[4332]); swap(a[1762], a[2284]); swap(a[1763], a[6380]); swap(a[1765], a[5356]); swap(a[1766], a[3308]); swap(a[1767], a[7404]); swap(a[1769], a[4844]); swap(a[1770], a[2796]); swap(a[1771], a[6892]); swap(a[1773], a[5868]); swap(a[1774], a[3820]); swap(a[1775], a[7916]); swap(a[1777], a[4588]); swap(a[1778], a[2540]); swap(a[1779], a[6636]); swap(a[1781], a[5612]); swap(a[1782], a[3564]); swap(a[1783], a[7660]); swap(a[1785], a[5100]); swap(a[1786], a[3052]); swap(a[1787], a[7148]); swap(a[1788], a[2028]); swap(a[1789], a[6124]); swap(a[1790], a[4076]); swap(a[1791], a[8172]); swap(a[1793], a[4124]); swap(a[1794], a[2076]); swap(a[1795], a[6172]); swap(a[1797], a[5148]); swap(a[1798], a[3100]); swap(a[1799], a[7196]); swap(a[1801], a[4636]); swap(a[1802], a[2588]); swap(a[1803], a[6684]); swap(a[1805], a[5660]); swap(a[1806], a[3612]); swap(a[1807], a[7708]); swap(a[1809], a[4380]); swap(a[1810], a[2332]); swap(a[1811], a[6428]); swap(a[1813], a[5404]); swap(a[1814], a[3356]); swap(a[1815], a[7452]); swap(a[1817], a[4892]); swap(a[1818], a[2844]); swap(a[1819], a[6940]); swap(a[1821], a[5916]); swap(a[1822], a[3868]); swap(a[1823], a[7964]); swap(a[1825], a[4252]); swap(a[1826], a[2204]); swap(a[1827], a[6300]); swap(a[1829], a[5276]); swap(a[1830], a[3228]); swap(a[1831], a[7324]); swap(a[1833], a[4764]); swap(a[1834], a[2716]); swap(a[1835], a[6812]); swap(a[1837], a[5788]); swap(a[1838], a[3740]); swap(a[1839], a[7836]); swap(a[1841], a[4508]); swap(a[1842], a[2460]); swap(a[1843], a[6556]); swap(a[1845], a[5532]); swap(a[1846], a[3484]); swap(a[1847], a[7580]); swap(a[1849], a[5020]); swap(a[1850], a[2972]); swap(a[1851], a[7068]); swap(a[1852], a[1948]); swap(a[1853], a[6044]); swap(a[1854], a[3996]); swap(a[1855], a[8092]); swap(a[1857], a[4188]); swap(a[1858], a[2140]); swap(a[1859], a[6236]); swap(a[1861], a[5212]); swap(a[1862], a[3164]); swap(a[1863], a[7260]); swap(a[1865], a[4700]); swap(a[1866], a[2652]); swap(a[1867], a[6748]); swap(a[1869], a[5724]); swap(a[1870], a[3676]); swap(a[1871], a[7772]); swap(a[1873], a[4444]); swap(a[1874], a[2396]); swap(a[1875], a[6492]); swap(a[1877], a[5468]); swap(a[1878], a[3420]); swap(a[1879], a[7516]); swap(a[1881], a[4956]); swap(a[1882], a[2908]); swap(a[1883], a[7004]); swap(a[1885], a[5980]); swap(a[1886], a[3932]); swap(a[1887], a[8028]); swap(a[1889], a[4316]); swap(a[1890], a[2268]); swap(a[1891], a[6364]); swap(a[1893], a[5340]); swap(a[1894], a[3292]); swap(a[1895], a[7388]); swap(a[1897], a[4828]); swap(a[1898], a[2780]); swap(a[1899], a[6876]); swap(a[1901], a[5852]); swap(a[1902], a[3804]); swap(a[1903], a[7900]); swap(a[1905], a[4572]); swap(a[1906], a[2524]); swap(a[1907], a[6620]); swap(a[1909], a[5596]); swap(a[1910], a[3548]); swap(a[1911], a[7644]); swap(a[1913], a[5084]); swap(a[1914], a[3036]); swap(a[1915], a[7132]); swap(a[1916], a[2012]); swap(a[1917], a[6108]); swap(a[1918], a[4060]); swap(a[1919], a[8156]); swap(a[1921], a[4156]); swap(a[1922], a[2108]); swap(a[1923], a[6204]); swap(a[1925], a[5180]); swap(a[1926], a[3132]); swap(a[1927], a[7228]); swap(a[1929], a[4668]); swap(a[1930], a[2620]); swap(a[1931], a[6716]); swap(a[1933], a[5692]); swap(a[1934], a[3644]); swap(a[1935], a[7740]); swap(a[1937], a[4412]); swap(a[1938], a[2364]); swap(a[1939], a[6460]); swap(a[1941], a[5436]); swap(a[1942], a[3388]); swap(a[1943], a[7484]); swap(a[1945], a[4924]); swap(a[1946], a[2876]); swap(a[1947], a[6972]); swap(a[1949], a[5948]); swap(a[1950], a[3900]); swap(a[1951], a[7996]); swap(a[1953], a[4284]); swap(a[1954], a[2236]); swap(a[1955], a[6332]); swap(a[1957], a[5308]); swap(a[1958], a[3260]); swap(a[1959], a[7356]); swap(a[1961], a[4796]); swap(a[1962], a[2748]); swap(a[1963], a[6844]); swap(a[1965], a[5820]); swap(a[1966], a[3772]); swap(a[1967], a[7868]); swap(a[1969], a[4540]); swap(a[1970], a[2492]); swap(a[1971], a[6588]); swap(a[1973], a[5564]); swap(a[1974], a[3516]); swap(a[1975], a[7612]); swap(a[1977], a[5052]); swap(a[1978], a[3004]); swap(a[1979], a[7100]); swap(a[1981], a[6076]); swap(a[1982], a[4028]); swap(a[1983], a[8124]); swap(a[1985], a[4220]); swap(a[1986], a[2172]); swap(a[1987], a[6268]); swap(a[1989], a[5244]); swap(a[1990], a[3196]); swap(a[1991], a[7292]); swap(a[1993], a[4732]); swap(a[1994], a[2684]); swap(a[1995], a[6780]); swap(a[1997], a[5756]); swap(a[1998], a[3708]); swap(a[1999], a[7804]); swap(a[2001], a[4476]); swap(a[2002], a[2428]); swap(a[2003], a[6524]); swap(a[2005], a[5500]); swap(a[2006], a[3452]); swap(a[2007], a[7548]); swap(a[2009], a[4988]); swap(a[2010], a[2940]); swap(a[2011], a[7036]); swap(a[2013], a[6012]); swap(a[2014], a[3964]); swap(a[2015], a[8060]); swap(a[2017], a[4348]); swap(a[2018], a[2300]); swap(a[2019], a[6396]); swap(a[2021], a[5372]); swap(a[2022], a[3324]); swap(a[2023], a[7420]); swap(a[2025], a[4860]); swap(a[2026], a[2812]); swap(a[2027], a[6908]); swap(a[2029], a[5884]); swap(a[2030], a[3836]); swap(a[2031], a[7932]); swap(a[2033], a[4604]); swap(a[2034], a[2556]); swap(a[2035], a[6652]); swap(a[2037], a[5628]); swap(a[2038], a[3580]); swap(a[2039], a[7676]); swap(a[2041], a[5116]); swap(a[2042], a[3068]); swap(a[2043], a[7164]); swap(a[2045], a[6140]); swap(a[2046], a[4092]); swap(a[2047], a[8188]); swap(a[2049], a[4098]); swap(a[2051], a[6146]); swap(a[2053], a[5122]); swap(a[2054], a[3074]); swap(a[2055], a[7170]); swap(a[2057], a[4610]); swap(a[2058], a[2562]); swap(a[2059], a[6658]); swap(a[2061], a[5634]); swap(a[2062], a[3586]); swap(a[2063], a[7682]); swap(a[2065], a[4354]); swap(a[2066], a[2306]); swap(a[2067], a[6402]); swap(a[2069], a[5378]); swap(a[2070], a[3330]); swap(a[2071], a[7426]); swap(a[2073], a[4866]); swap(a[2074], a[2818]); swap(a[2075], a[6914]); swap(a[2077], a[5890]); swap(a[2078], a[3842]); swap(a[2079], a[7938]); swap(a[2081], a[4226]); swap(a[2082], a[2178]); swap(a[2083], a[6274]); swap(a[2085], a[5250]); swap(a[2086], a[3202]); swap(a[2087], a[7298]); swap(a[2089], a[4738]); swap(a[2090], a[2690]); swap(a[2091], a[6786]); swap(a[2093], a[5762]); swap(a[2094], a[3714]); swap(a[2095], a[7810]); swap(a[2097], a[4482]); swap(a[2098], a[2434]); swap(a[2099], a[6530]); swap(a[2101], a[5506]); swap(a[2102], a[3458]); swap(a[2103], a[7554]); swap(a[2105], a[4994]); swap(a[2106], a[2946]); swap(a[2107], a[7042]); swap(a[2109], a[6018]); swap(a[2110], a[3970]); swap(a[2111], a[8066]); swap(a[2113], a[4162]); swap(a[2115], a[6210]); swap(a[2117], a[5186]); swap(a[2118], a[3138]); swap(a[2119], a[7234]); swap(a[2121], a[4674]); swap(a[2122], a[2626]); swap(a[2123], a[6722]); swap(a[2125], a[5698]); swap(a[2126], a[3650]); swap(a[2127], a[7746]); swap(a[2129], a[4418]); swap(a[2130], a[2370]); swap(a[2131], a[6466]); swap(a[2133], a[5442]); swap(a[2134], a[3394]); swap(a[2135], a[7490]); swap(a[2137], a[4930]); swap(a[2138], a[2882]); swap(a[2139], a[6978]); swap(a[2141], a[5954]); swap(a[2142], a[3906]); swap(a[2143], a[8002]); swap(a[2145], a[4290]); swap(a[2146], a[2242]); swap(a[2147], a[6338]); swap(a[2149], a[5314]); swap(a[2150], a[3266]); swap(a[2151], a[7362]); swap(a[2153], a[4802]); swap(a[2154], a[2754]); swap(a[2155], a[6850]); swap(a[2157], a[5826]); swap(a[2158], a[3778]); swap(a[2159], a[7874]); swap(a[2161], a[4546]); swap(a[2162], a[2498]); swap(a[2163], a[6594]); swap(a[2165], a[5570]); swap(a[2166], a[3522]); swap(a[2167], a[7618]); swap(a[2169], a[5058]); swap(a[2170], a[3010]); swap(a[2171], a[7106]); swap(a[2173], a[6082]); swap(a[2174], a[4034]); swap(a[2175], a[8130]); swap(a[2177], a[4130]); swap(a[2179], a[6178]); swap(a[2181], a[5154]); swap(a[2182], a[3106]); swap(a[2183], a[7202]); swap(a[2185], a[4642]); swap(a[2186], a[2594]); swap(a[2187], a[6690]); swap(a[2189], a[5666]); swap(a[2190], a[3618]); swap(a[2191], a[7714]); swap(a[2193], a[4386]); swap(a[2194], a[2338]); swap(a[2195], a[6434]); swap(a[2197], a[5410]); swap(a[2198], a[3362]); swap(a[2199], a[7458]); swap(a[2201], a[4898]); swap(a[2202], a[2850]); swap(a[2203], a[6946]); swap(a[2205], a[5922]); swap(a[2206], a[3874]); swap(a[2207], a[7970]); swap(a[2209], a[4258]); swap(a[2211], a[6306]); swap(a[2213], a[5282]); swap(a[2214], a[3234]); swap(a[2215], a[7330]); swap(a[2217], a[4770]); swap(a[2218], a[2722]); swap(a[2219], a[6818]); swap(a[2221], a[5794]); swap(a[2222], a[3746]); swap(a[2223], a[7842]); swap(a[2225], a[4514]); swap(a[2226], a[2466]); swap(a[2227], a[6562]); swap(a[2229], a[5538]); swap(a[2230], a[3490]); swap(a[2231], a[7586]); swap(a[2233], a[5026]); swap(a[2234], a[2978]); swap(a[2235], a[7074]); swap(a[2237], a[6050]); swap(a[2238], a[4002]); swap(a[2239], a[8098]); swap(a[2241], a[4194]); swap(a[2243], a[6242]); swap(a[2245], a[5218]); swap(a[2246], a[3170]); swap(a[2247], a[7266]); swap(a[2249], a[4706]); swap(a[2250], a[2658]); swap(a[2251], a[6754]); swap(a[2253], a[5730]); swap(a[2254], a[3682]); swap(a[2255], a[7778]); swap(a[2257], a[4450]); swap(a[2258], a[2402]); swap(a[2259], a[6498]); swap(a[2261], a[5474]); swap(a[2262], a[3426]); swap(a[2263], a[7522]); swap(a[2265], a[4962]); swap(a[2266], a[2914]); swap(a[2267], a[7010]); swap(a[2269], a[5986]); swap(a[2270], a[3938]); swap(a[2271], a[8034]); swap(a[2273], a[4322]); swap(a[2275], a[6370]); swap(a[2277], a[5346]); swap(a[2278], a[3298]); swap(a[2279], a[7394]); swap(a[2281], a[4834]); swap(a[2282], a[2786]); swap(a[2283], a[6882]); swap(a[2285], a[5858]); swap(a[2286], a[3810]); swap(a[2287], a[7906]); swap(a[2289], a[4578]); swap(a[2290], a[2530]); swap(a[2291], a[6626]); swap(a[2293], a[5602]); swap(a[2294], a[3554]); swap(a[2295], a[7650]); swap(a[2297], a[5090]); swap(a[2298], a[3042]); swap(a[2299], a[7138]); swap(a[2301], a[6114]); swap(a[2302], a[4066]); swap(a[2303], a[8162]); swap(a[2305], a[4114]); swap(a[2307], a[6162]); swap(a[2309], a[5138]); swap(a[2310], a[3090]); swap(a[2311], a[7186]); swap(a[2313], a[4626]); swap(a[2314], a[2578]); swap(a[2315], a[6674]); swap(a[2317], a[5650]); swap(a[2318], a[3602]); swap(a[2319], a[7698]); swap(a[2321], a[4370]); swap(a[2323], a[6418]); swap(a[2325], a[5394]); swap(a[2326], a[3346]); swap(a[2327], a[7442]); swap(a[2329], a[4882]); swap(a[2330], a[2834]); swap(a[2331], a[6930]); swap(a[2333], a[5906]); swap(a[2334], a[3858]); swap(a[2335], a[7954]); swap(a[2337], a[4242]); swap(a[2339], a[6290]); swap(a[2341], a[5266]); swap(a[2342], a[3218]); swap(a[2343], a[7314]); swap(a[2345], a[4754]); swap(a[2346], a[2706]); swap(a[2347], a[6802]); swap(a[2349], a[5778]); swap(a[2350], a[3730]); swap(a[2351], a[7826]); swap(a[2353], a[4498]); swap(a[2354], a[2450]); swap(a[2355], a[6546]); swap(a[2357], a[5522]); swap(a[2358], a[3474]); swap(a[2359], a[7570]); swap(a[2361], a[5010]); swap(a[2362], a[2962]); swap(a[2363], a[7058]); swap(a[2365], a[6034]); swap(a[2366], a[3986]); swap(a[2367], a[8082]); swap(a[2369], a[4178]); swap(a[2371], a[6226]); swap(a[2373], a[5202]); swap(a[2374], a[3154]); swap(a[2375], a[7250]); swap(a[2377], a[4690]); swap(a[2378], a[2642]); swap(a[2379], a[6738]); swap(a[2381], a[5714]); swap(a[2382], a[3666]); swap(a[2383], a[7762]); swap(a[2385], a[4434]); swap(a[2387], a[6482]); swap(a[2389], a[5458]); swap(a[2390], a[3410]); swap(a[2391], a[7506]); swap(a[2393], a[4946]); swap(a[2394], a[2898]); swap(a[2395], a[6994]); swap(a[2397], a[5970]); swap(a[2398], a[3922]); swap(a[2399], a[8018]); swap(a[2401], a[4306]); swap(a[2403], a[6354]); swap(a[2405], a[5330]); swap(a[2406], a[3282]); swap(a[2407], a[7378]); swap(a[2409], a[4818]); swap(a[2410], a[2770]); swap(a[2411], a[6866]); swap(a[2413], a[5842]); swap(a[2414], a[3794]); swap(a[2415], a[7890]); swap(a[2417], a[4562]); swap(a[2418], a[2514]); swap(a[2419], a[6610]); swap(a[2421], a[5586]); swap(a[2422], a[3538]); swap(a[2423], a[7634]); swap(a[2425], a[5074]); swap(a[2426], a[3026]); swap(a[2427], a[7122]); swap(a[2429], a[6098]); swap(a[2430], a[4050]); swap(a[2431], a[8146]); swap(a[2433], a[4146]); swap(a[2435], a[6194]); swap(a[2437], a[5170]); swap(a[2438], a[3122]); swap(a[2439], a[7218]); swap(a[2441], a[4658]); swap(a[2442], a[2610]); swap(a[2443], a[6706]); swap(a[2445], a[5682]); swap(a[2446], a[3634]); swap(a[2447], a[7730]); swap(a[2449], a[4402]); swap(a[2451], a[6450]); swap(a[2453], a[5426]); swap(a[2454], a[3378]); swap(a[2455], a[7474]); swap(a[2457], a[4914]); swap(a[2458], a[2866]); swap(a[2459], a[6962]); swap(a[2461], a[5938]); swap(a[2462], a[3890]); swap(a[2463], a[7986]); swap(a[2465], a[4274]); swap(a[2467], a[6322]); swap(a[2469], a[5298]); swap(a[2470], a[3250]); swap(a[2471], a[7346]); swap(a[2473], a[4786]); swap(a[2474], a[2738]); swap(a[2475], a[6834]); swap(a[2477], a[5810]); swap(a[2478], a[3762]); swap(a[2479], a[7858]); swap(a[2481], a[4530]); swap(a[2483], a[6578]); swap(a[2485], a[5554]); swap(a[2486], a[3506]); swap(a[2487], a[7602]); swap(a[2489], a[5042]); swap(a[2490], a[2994]); swap(a[2491], a[7090]); swap(a[2493], a[6066]); swap(a[2494], a[4018]); swap(a[2495], a[8114]); swap(a[2497], a[4210]); swap(a[2499], a[6258]); swap(a[2501], a[5234]); swap(a[2502], a[3186]); swap(a[2503], a[7282]); swap(a[2505], a[4722]); swap(a[2506], a[2674]); swap(a[2507], a[6770]); swap(a[2509], a[5746]); swap(a[2510], a[3698]); swap(a[2511], a[7794]); swap(a[2513], a[4466]); swap(a[2515], a[6514]); swap(a[2517], a[5490]); swap(a[2518], a[3442]); swap(a[2519], a[7538]); swap(a[2521], a[4978]); swap(a[2522], a[2930]); swap(a[2523], a[7026]); swap(a[2525], a[6002]); swap(a[2526], a[3954]); swap(a[2527], a[8050]); swap(a[2529], a[4338]); swap(a[2531], a[6386]); swap(a[2533], a[5362]); swap(a[2534], a[3314]); swap(a[2535], a[7410]); swap(a[2537], a[4850]); swap(a[2538], a[2802]); swap(a[2539], a[6898]); swap(a[2541], a[5874]); swap(a[2542], a[3826]); swap(a[2543], a[7922]); swap(a[2545], a[4594]); swap(a[2547], a[6642]); swap(a[2549], a[5618]); swap(a[2550], a[3570]); swap(a[2551], a[7666]); swap(a[2553], a[5106]); swap(a[2554], a[3058]); swap(a[2555], a[7154]); swap(a[2557], a[6130]); swap(a[2558], a[4082]); swap(a[2559], a[8178]); swap(a[2561], a[4106]); swap(a[2563], a[6154]); swap(a[2565], a[5130]); swap(a[2566], a[3082]); swap(a[2567], a[7178]); swap(a[2569], a[4618]); swap(a[2571], a[6666]); swap(a[2573], a[5642]); swap(a[2574], a[3594]); swap(a[2575], a[7690]); swap(a[2577], a[4362]); swap(a[2579], a[6410]); swap(a[2581], a[5386]); swap(a[2582], a[3338]); swap(a[2583], a[7434]); swap(a[2585], a[4874]); swap(a[2586], a[2826]); swap(a[2587], a[6922]); swap(a[2589], a[5898]); swap(a[2590], a[3850]); swap(a[2591], a[7946]); swap(a[2593], a[4234]); swap(a[2595], a[6282]); swap(a[2597], a[5258]); swap(a[2598], a[3210]); swap(a[2599], a[7306]); swap(a[2601], a[4746]); swap(a[2602], a[2698]); swap(a[2603], a[6794]); swap(a[2605], a[5770]); swap(a[2606], a[3722]); swap(a[2607], a[7818]); swap(a[2609], a[4490]); swap(a[2611], a[6538]); swap(a[2613], a[5514]); swap(a[2614], a[3466]); swap(a[2615], a[7562]); swap(a[2617], a[5002]); swap(a[2618], a[2954]); swap(a[2619], a[7050]); swap(a[2621], a[6026]); swap(a[2622], a[3978]); swap(a[2623], a[8074]); swap(a[2625], a[4170]); swap(a[2627], a[6218]); swap(a[2629], a[5194]); swap(a[2630], a[3146]); swap(a[2631], a[7242]); swap(a[2633], a[4682]); swap(a[2635], a[6730]); swap(a[2637], a[5706]); swap(a[2638], a[3658]); swap(a[2639], a[7754]); swap(a[2641], a[4426]); swap(a[2643], a[6474]); swap(a[2645], a[5450]); swap(a[2646], a[3402]); swap(a[2647], a[7498]); swap(a[2649], a[4938]); swap(a[2650], a[2890]); swap(a[2651], a[6986]); swap(a[2653], a[5962]); swap(a[2654], a[3914]); swap(a[2655], a[8010]); swap(a[2657], a[4298]); swap(a[2659], a[6346]); swap(a[2661], a[5322]); swap(a[2662], a[3274]); swap(a[2663], a[7370]); swap(a[2665], a[4810]); swap(a[2666], a[2762]); swap(a[2667], a[6858]); swap(a[2669], a[5834]); swap(a[2670], a[3786]); swap(a[2671], a[7882]); swap(a[2673], a[4554]); swap(a[2675], a[6602]); swap(a[2677], a[5578]); swap(a[2678], a[3530]); swap(a[2679], a[7626]); swap(a[2681], a[5066]); swap(a[2682], a[3018]); swap(a[2683], a[7114]); swap(a[2685], a[6090]); swap(a[2686], a[4042]); swap(a[2687], a[8138]); swap(a[2689], a[4138]); swap(a[2691], a[6186]); swap(a[2693], a[5162]); swap(a[2694], a[3114]); swap(a[2695], a[7210]); swap(a[2697], a[4650]); swap(a[2699], a[6698]); swap(a[2701], a[5674]); swap(a[2702], a[3626]); swap(a[2703], a[7722]); swap(a[2705], a[4394]); swap(a[2707], a[6442]); swap(a[2709], a[5418]); swap(a[2710], a[3370]); swap(a[2711], a[7466]); swap(a[2713], a[4906]); swap(a[2714], a[2858]); swap(a[2715], a[6954]); swap(a[2717], a[5930]); swap(a[2718], a[3882]); swap(a[2719], a[7978]); swap(a[2721], a[4266]); swap(a[2723], a[6314]); swap(a[2725], a[5290]); swap(a[2726], a[3242]); swap(a[2727], a[7338]); swap(a[2729], a[4778]); swap(a[2731], a[6826]); swap(a[2733], a[5802]); swap(a[2734], a[3754]); swap(a[2735], a[7850]); swap(a[2737], a[4522]); swap(a[2739], a[6570]); swap(a[2741], a[5546]); swap(a[2742], a[3498]); swap(a[2743], a[7594]); swap(a[2745], a[5034]); swap(a[2746], a[2986]); swap(a[2747], a[7082]); swap(a[2749], a[6058]); swap(a[2750], a[4010]); swap(a[2751], a[8106]); swap(a[2753], a[4202]); swap(a[2755], a[6250]); swap(a[2757], a[5226]); swap(a[2758], a[3178]); swap(a[2759], a[7274]); swap(a[2761], a[4714]); swap(a[2763], a[6762]); swap(a[2765], a[5738]); swap(a[2766], a[3690]); swap(a[2767], a[7786]); swap(a[2769], a[4458]); swap(a[2771], a[6506]); swap(a[2773], a[5482]); swap(a[2774], a[3434]); swap(a[2775], a[7530]); swap(a[2777], a[4970]); swap(a[2778], a[2922]); swap(a[2779], a[7018]); swap(a[2781], a[5994]); swap(a[2782], a[3946]); swap(a[2783], a[8042]); swap(a[2785], a[4330]); swap(a[2787], a[6378]); swap(a[2789], a[5354]); swap(a[2790], a[3306]); swap(a[2791], a[7402]); swap(a[2793], a[4842]); swap(a[2795], a[6890]); swap(a[2797], a[5866]); swap(a[2798], a[3818]); swap(a[2799], a[7914]); swap(a[2801], a[4586]); swap(a[2803], a[6634]); swap(a[2805], a[5610]); swap(a[2806], a[3562]); swap(a[2807], a[7658]); swap(a[2809], a[5098]); swap(a[2810], a[3050]); swap(a[2811], a[7146]); swap(a[2813], a[6122]); swap(a[2814], a[4074]); swap(a[2815], a[8170]); swap(a[2817], a[4122]); swap(a[2819], a[6170]); swap(a[2821], a[5146]); swap(a[2822], a[3098]); swap(a[2823], a[7194]); swap(a[2825], a[4634]); swap(a[2827], a[6682]); swap(a[2829], a[5658]); swap(a[2830], a[3610]); swap(a[2831], a[7706]); swap(a[2833], a[4378]); swap(a[2835], a[6426]); swap(a[2837], a[5402]); swap(a[2838], a[3354]); swap(a[2839], a[7450]); swap(a[2841], a[4890]); swap(a[2843], a[6938]); swap(a[2845], a[5914]); swap(a[2846], a[3866]); swap(a[2847], a[7962]); swap(a[2849], a[4250]); swap(a[2851], a[6298]); swap(a[2853], a[5274]); swap(a[2854], a[3226]); swap(a[2855], a[7322]); swap(a[2857], a[4762]); swap(a[2859], a[6810]); swap(a[2861], a[5786]); swap(a[2862], a[3738]); swap(a[2863], a[7834]); swap(a[2865], a[4506]); swap(a[2867], a[6554]); swap(a[2869], a[5530]); swap(a[2870], a[3482]); swap(a[2871], a[7578]); swap(a[2873], a[5018]); swap(a[2874], a[2970]); swap(a[2875], a[7066]); swap(a[2877], a[6042]); swap(a[2878], a[3994]); swap(a[2879], a[8090]); swap(a[2881], a[4186]); swap(a[2883], a[6234]); swap(a[2885], a[5210]); swap(a[2886], a[3162]); swap(a[2887], a[7258]); swap(a[2889], a[4698]); swap(a[2891], a[6746]); swap(a[2893], a[5722]); swap(a[2894], a[3674]); swap(a[2895], a[7770]); swap(a[2897], a[4442]); swap(a[2899], a[6490]); swap(a[2901], a[5466]); swap(a[2902], a[3418]); swap(a[2903], a[7514]); swap(a[2905], a[4954]); swap(a[2907], a[7002]); swap(a[2909], a[5978]); swap(a[2910], a[3930]); swap(a[2911], a[8026]); swap(a[2913], a[4314]); swap(a[2915], a[6362]); swap(a[2917], a[5338]); swap(a[2918], a[3290]); swap(a[2919], a[7386]); swap(a[2921], a[4826]); swap(a[2923], a[6874]); swap(a[2925], a[5850]); swap(a[2926], a[3802]); swap(a[2927], a[7898]); swap(a[2929], a[4570]); swap(a[2931], a[6618]); swap(a[2933], a[5594]); swap(a[2934], a[3546]); swap(a[2935], a[7642]); swap(a[2937], a[5082]); swap(a[2938], a[3034]); swap(a[2939], a[7130]); swap(a[2941], a[6106]); swap(a[2942], a[4058]); swap(a[2943], a[8154]); swap(a[2945], a[4154]); swap(a[2947], a[6202]); swap(a[2949], a[5178]); swap(a[2950], a[3130]); swap(a[2951], a[7226]); swap(a[2953], a[4666]); swap(a[2955], a[6714]); swap(a[2957], a[5690]); swap(a[2958], a[3642]); swap(a[2959], a[7738]); swap(a[2961], a[4410]); swap(a[2963], a[6458]); swap(a[2965], a[5434]); swap(a[2966], a[3386]); swap(a[2967], a[7482]); swap(a[2969], a[4922]); swap(a[2971], a[6970]); swap(a[2973], a[5946]); swap(a[2974], a[3898]); swap(a[2975], a[7994]); swap(a[2977], a[4282]); swap(a[2979], a[6330]); swap(a[2981], a[5306]); swap(a[2982], a[3258]); swap(a[2983], a[7354]); swap(a[2985], a[4794]); swap(a[2987], a[6842]); swap(a[2989], a[5818]); swap(a[2990], a[3770]); swap(a[2991], a[7866]); swap(a[2993], a[4538]); swap(a[2995], a[6586]); swap(a[2997], a[5562]); swap(a[2998], a[3514]); swap(a[2999], a[7610]); swap(a[3001], a[5050]); swap(a[3003], a[7098]); swap(a[3005], a[6074]); swap(a[3006], a[4026]); swap(a[3007], a[8122]); swap(a[3009], a[4218]); swap(a[3011], a[6266]); swap(a[3013], a[5242]); swap(a[3014], a[3194]); swap(a[3015], a[7290]); swap(a[3017], a[4730]); swap(a[3019], a[6778]); swap(a[3021], a[5754]); swap(a[3022], a[3706]); swap(a[3023], a[7802]); swap(a[3025], a[4474]); swap(a[3027], a[6522]); swap(a[3029], a[5498]); swap(a[3030], a[3450]); swap(a[3031], a[7546]); swap(a[3033], a[4986]); swap(a[3035], a[7034]); swap(a[3037], a[6010]); swap(a[3038], a[3962]); swap(a[3039], a[8058]); swap(a[3041], a[4346]); swap(a[3043], a[6394]); swap(a[3045], a[5370]); swap(a[3046], a[3322]); swap(a[3047], a[7418]); swap(a[3049], a[4858]); swap(a[3051], a[6906]); swap(a[3053], a[5882]); swap(a[3054], a[3834]); swap(a[3055], a[7930]); swap(a[3057], a[4602]); swap(a[3059], a[6650]); swap(a[3061], a[5626]); swap(a[3062], a[3578]); swap(a[3063], a[7674]); swap(a[3065], a[5114]); swap(a[3067], a[7162]); swap(a[3069], a[6138]); swap(a[3070], a[4090]); swap(a[3071], a[8186]); swap(a[3073], a[4102]); swap(a[3075], a[6150]); swap(a[3077], a[5126]); swap(a[3079], a[7174]); swap(a[3081], a[4614]); swap(a[3083], a[6662]); swap(a[3085], a[5638]); swap(a[3086], a[3590]); swap(a[3087], a[7686]); swap(a[3089], a[4358]); swap(a[3091], a[6406]); swap(a[3093], a[5382]); swap(a[3094], a[3334]); swap(a[3095], a[7430]); swap(a[3097], a[4870]); swap(a[3099], a[6918]); swap(a[3101], a[5894]); swap(a[3102], a[3846]); swap(a[3103], a[7942]); swap(a[3105], a[4230]); swap(a[3107], a[6278]); swap(a[3109], a[5254]); swap(a[3110], a[3206]); swap(a[3111], a[7302]); swap(a[3113], a[4742]); swap(a[3115], a[6790]); swap(a[3117], a[5766]); swap(a[3118], a[3718]); swap(a[3119], a[7814]); swap(a[3121], a[4486]); swap(a[3123], a[6534]); swap(a[3125], a[5510]); swap(a[3126], a[3462]); swap(a[3127], a[7558]); swap(a[3129], a[4998]); swap(a[3131], a[7046]); swap(a[3133], a[6022]); swap(a[3134], a[3974]); swap(a[3135], a[8070]); swap(a[3137], a[4166]); swap(a[3139], a[6214]); swap(a[3141], a[5190]); swap(a[3143], a[7238]); swap(a[3145], a[4678]); swap(a[3147], a[6726]); swap(a[3149], a[5702]); swap(a[3150], a[3654]); swap(a[3151], a[7750]); swap(a[3153], a[4422]); swap(a[3155], a[6470]); swap(a[3157], a[5446]); swap(a[3158], a[3398]); swap(a[3159], a[7494]); swap(a[3161], a[4934]); swap(a[3163], a[6982]); swap(a[3165], a[5958]); swap(a[3166], a[3910]); swap(a[3167], a[8006]); swap(a[3169], a[4294]); swap(a[3171], a[6342]); swap(a[3173], a[5318]); swap(a[3174], a[3270]); swap(a[3175], a[7366]); swap(a[3177], a[4806]); swap(a[3179], a[6854]); swap(a[3181], a[5830]); swap(a[3182], a[3782]); swap(a[3183], a[7878]); swap(a[3185], a[4550]); swap(a[3187], a[6598]); swap(a[3189], a[5574]); swap(a[3190], a[3526]); swap(a[3191], a[7622]); swap(a[3193], a[5062]); swap(a[3195], a[7110]); swap(a[3197], a[6086]); swap(a[3198], a[4038]); swap(a[3199], a[8134]); swap(a[3201], a[4134]); swap(a[3203], a[6182]); swap(a[3205], a[5158]); swap(a[3207], a[7206]); swap(a[3209], a[4646]); swap(a[3211], a[6694]); swap(a[3213], a[5670]); swap(a[3214], a[3622]); swap(a[3215], a[7718]); swap(a[3217], a[4390]); swap(a[3219], a[6438]); swap(a[3221], a[5414]); swap(a[3222], a[3366]); swap(a[3223], a[7462]); swap(a[3225], a[4902]); swap(a[3227], a[6950]); swap(a[3229], a[5926]); swap(a[3230], a[3878]); swap(a[3231], a[7974]); swap(a[3233], a[4262]); swap(a[3235], a[6310]); swap(a[3237], a[5286]); swap(a[3239], a[7334]); swap(a[3241], a[4774]); swap(a[3243], a[6822]); swap(a[3245], a[5798]); swap(a[3246], a[3750]); swap(a[3247], a[7846]); swap(a[3249], a[4518]); swap(a[3251], a[6566]); swap(a[3253], a[5542]); swap(a[3254], a[3494]); swap(a[3255], a[7590]); swap(a[3257], a[5030]); swap(a[3259], a[7078]); swap(a[3261], a[6054]); swap(a[3262], a[4006]); swap(a[3263], a[8102]); swap(a[3265], a[4198]); swap(a[3267], a[6246]); swap(a[3269], a[5222]); swap(a[3271], a[7270]); swap(a[3273], a[4710]); swap(a[3275], a[6758]); swap(a[3277], a[5734]); swap(a[3278], a[3686]); swap(a[3279], a[7782]); swap(a[3281], a[4454]); swap(a[3283], a[6502]); swap(a[3285], a[5478]); swap(a[3286], a[3430]); swap(a[3287], a[7526]); swap(a[3289], a[4966]); swap(a[3291], a[7014]); swap(a[3293], a[5990]); swap(a[3294], a[3942]); swap(a[3295], a[8038]); swap(a[3297], a[4326]); swap(a[3299], a[6374]); swap(a[3301], a[5350]); swap(a[3303], a[7398]); swap(a[3305], a[4838]); swap(a[3307], a[6886]); swap(a[3309], a[5862]); swap(a[3310], a[3814]); swap(a[3311], a[7910]); swap(a[3313], a[4582]); swap(a[3315], a[6630]); swap(a[3317], a[5606]); swap(a[3318], a[3558]); swap(a[3319], a[7654]); swap(a[3321], a[5094]); swap(a[3323], a[7142]); swap(a[3325], a[6118]); swap(a[3326], a[4070]); swap(a[3327], a[8166]); swap(a[3329], a[4118]); swap(a[3331], a[6166]); swap(a[3333], a[5142]); swap(a[3335], a[7190]); swap(a[3337], a[4630]); swap(a[3339], a[6678]); swap(a[3341], a[5654]); swap(a[3342], a[3606]); swap(a[3343], a[7702]); swap(a[3345], a[4374]); swap(a[3347], a[6422]); swap(a[3349], a[5398]); swap(a[3351], a[7446]); swap(a[3353], a[4886]); swap(a[3355], a[6934]); swap(a[3357], a[5910]); swap(a[3358], a[3862]); swap(a[3359], a[7958]); swap(a[3361], a[4246]); swap(a[3363], a[6294]); swap(a[3365], a[5270]); swap(a[3367], a[7318]); swap(a[3369], a[4758]); swap(a[3371], a[6806]); swap(a[3373], a[5782]); swap(a[3374], a[3734]); swap(a[3375], a[7830]); swap(a[3377], a[4502]); swap(a[3379], a[6550]); swap(a[3381], a[5526]); swap(a[3382], a[3478]); swap(a[3383], a[7574]); swap(a[3385], a[5014]); swap(a[3387], a[7062]); swap(a[3389], a[6038]); swap(a[3390], a[3990]); swap(a[3391], a[8086]); swap(a[3393], a[4182]); swap(a[3395], a[6230]); swap(a[3397], a[5206]); swap(a[3399], a[7254]); swap(a[3401], a[4694]); swap(a[3403], a[6742]); swap(a[3405], a[5718]); swap(a[3406], a[3670]); swap(a[3407], a[7766]); swap(a[3409], a[4438]); swap(a[3411], a[6486]); swap(a[3413], a[5462]); swap(a[3415], a[7510]); swap(a[3417], a[4950]); swap(a[3419], a[6998]); swap(a[3421], a[5974]); swap(a[3422], a[3926]); swap(a[3423], a[8022]); swap(a[3425], a[4310]); swap(a[3427], a[6358]); swap(a[3429], a[5334]); swap(a[3431], a[7382]); swap(a[3433], a[4822]); swap(a[3435], a[6870]); swap(a[3437], a[5846]); swap(a[3438], a[3798]); swap(a[3439], a[7894]); swap(a[3441], a[4566]); swap(a[3443], a[6614]); swap(a[3445], a[5590]); swap(a[3446], a[3542]); swap(a[3447], a[7638]); swap(a[3449], a[5078]); swap(a[3451], a[7126]); swap(a[3453], a[6102]); swap(a[3454], a[4054]); swap(a[3455], a[8150]); swap(a[3457], a[4150]); swap(a[3459], a[6198]); swap(a[3461], a[5174]); swap(a[3463], a[7222]); swap(a[3465], a[4662]); swap(a[3467], a[6710]); swap(a[3469], a[5686]); swap(a[3470], a[3638]); swap(a[3471], a[7734]); swap(a[3473], a[4406]); swap(a[3475], a[6454]); swap(a[3477], a[5430]); swap(a[3479], a[7478]); swap(a[3481], a[4918]); swap(a[3483], a[6966]); swap(a[3485], a[5942]); swap(a[3486], a[3894]); swap(a[3487], a[7990]); swap(a[3489], a[4278]); swap(a[3491], a[6326]); swap(a[3493], a[5302]); swap(a[3495], a[7350]); swap(a[3497], a[4790]); swap(a[3499], a[6838]); swap(a[3501], a[5814]); swap(a[3502], a[3766]); swap(a[3503], a[7862]); swap(a[3505], a[4534]); swap(a[3507], a[6582]); swap(a[3509], a[5558]); swap(a[3511], a[7606]); swap(a[3513], a[5046]); swap(a[3515], a[7094]); swap(a[3517], a[6070]); swap(a[3518], a[4022]); swap(a[3519], a[8118]); swap(a[3521], a[4214]); swap(a[3523], a[6262]); swap(a[3525], a[5238]); swap(a[3527], a[7286]); swap(a[3529], a[4726]); swap(a[3531], a[6774]); swap(a[3533], a[5750]); swap(a[3534], a[3702]); swap(a[3535], a[7798]); swap(a[3537], a[4470]); swap(a[3539], a[6518]); swap(a[3541], a[5494]); swap(a[3543], a[7542]); swap(a[3545], a[4982]); swap(a[3547], a[7030]); swap(a[3549], a[6006]); swap(a[3550], a[3958]); swap(a[3551], a[8054]); swap(a[3553], a[4342]); swap(a[3555], a[6390]); swap(a[3557], a[5366]); swap(a[3559], a[7414]); swap(a[3561], a[4854]); swap(a[3563], a[6902]); swap(a[3565], a[5878]); swap(a[3566], a[3830]); swap(a[3567], a[7926]); swap(a[3569], a[4598]); swap(a[3571], a[6646]); swap(a[3573], a[5622]); swap(a[3575], a[7670]); swap(a[3577], a[5110]); swap(a[3579], a[7158]); swap(a[3581], a[6134]); swap(a[3582], a[4086]); swap(a[3583], a[8182]); swap(a[3585], a[4110]); swap(a[3587], a[6158]); swap(a[3589], a[5134]); swap(a[3591], a[7182]); swap(a[3593], a[4622]); swap(a[3595], a[6670]); swap(a[3597], a[5646]); swap(a[3599], a[7694]); swap(a[3601], a[4366]); swap(a[3603], a[6414]); swap(a[3605], a[5390]); swap(a[3607], a[7438]); swap(a[3609], a[4878]); swap(a[3611], a[6926]); swap(a[3613], a[5902]); swap(a[3614], a[3854]); swap(a[3615], a[7950]); swap(a[3617], a[4238]); swap(a[3619], a[6286]); swap(a[3621], a[5262]); swap(a[3623], a[7310]); swap(a[3625], a[4750]); swap(a[3627], a[6798]); swap(a[3629], a[5774]); swap(a[3630], a[3726]); swap(a[3631], a[7822]); swap(a[3633], a[4494]); swap(a[3635], a[6542]); swap(a[3637], a[5518]); swap(a[3639], a[7566]); swap(a[3641], a[5006]); swap(a[3643], a[7054]); swap(a[3645], a[6030]); swap(a[3646], a[3982]); swap(a[3647], a[8078]); swap(a[3649], a[4174]); swap(a[3651], a[6222]); swap(a[3653], a[5198]); swap(a[3655], a[7246]); swap(a[3657], a[4686]); swap(a[3659], a[6734]); swap(a[3661], a[5710]); swap(a[3663], a[7758]); swap(a[3665], a[4430]); swap(a[3667], a[6478]); swap(a[3669], a[5454]); swap(a[3671], a[7502]); swap(a[3673], a[4942]); swap(a[3675], a[6990]); swap(a[3677], a[5966]); swap(a[3678], a[3918]); swap(a[3679], a[8014]); swap(a[3681], a[4302]); swap(a[3683], a[6350]); swap(a[3685], a[5326]); swap(a[3687], a[7374]); swap(a[3689], a[4814]); swap(a[3691], a[6862]); swap(a[3693], a[5838]); swap(a[3694], a[3790]); swap(a[3695], a[7886]); swap(a[3697], a[4558]); swap(a[3699], a[6606]); swap(a[3701], a[5582]); swap(a[3703], a[7630]); swap(a[3705], a[5070]); swap(a[3707], a[7118]); swap(a[3709], a[6094]); swap(a[3710], a[4046]); swap(a[3711], a[8142]); swap(a[3713], a[4142]); swap(a[3715], a[6190]); swap(a[3717], a[5166]); swap(a[3719], a[7214]); swap(a[3721], a[4654]); swap(a[3723], a[6702]); swap(a[3725], a[5678]); swap(a[3727], a[7726]); swap(a[3729], a[4398]); swap(a[3731], a[6446]); swap(a[3733], a[5422]); swap(a[3735], a[7470]); swap(a[3737], a[4910]); swap(a[3739], a[6958]); swap(a[3741], a[5934]); swap(a[3742], a[3886]); swap(a[3743], a[7982]); swap(a[3745], a[4270]); swap(a[3747], a[6318]); swap(a[3749], a[5294]); swap(a[3751], a[7342]); swap(a[3753], a[4782]); swap(a[3755], a[6830]); swap(a[3757], a[5806]); swap(a[3759], a[7854]); swap(a[3761], a[4526]); swap(a[3763], a[6574]); swap(a[3765], a[5550]); swap(a[3767], a[7598]); swap(a[3769], a[5038]); swap(a[3771], a[7086]); swap(a[3773], a[6062]); swap(a[3774], a[4014]); swap(a[3775], a[8110]); swap(a[3777], a[4206]); swap(a[3779], a[6254]); swap(a[3781], a[5230]); swap(a[3783], a[7278]); swap(a[3785], a[4718]); swap(a[3787], a[6766]); swap(a[3789], a[5742]); swap(a[3791], a[7790]); swap(a[3793], a[4462]); swap(a[3795], a[6510]); swap(a[3797], a[5486]); swap(a[3799], a[7534]); swap(a[3801], a[4974]); swap(a[3803], a[7022]); swap(a[3805], a[5998]); swap(a[3806], a[3950]); swap(a[3807], a[8046]); swap(a[3809], a[4334]); swap(a[3811], a[6382]); swap(a[3813], a[5358]); swap(a[3815], a[7406]); swap(a[3817], a[4846]); swap(a[3819], a[6894]); swap(a[3821], a[5870]); swap(a[3823], a[7918]); swap(a[3825], a[4590]); swap(a[3827], a[6638]); swap(a[3829], a[5614]); swap(a[3831], a[7662]); swap(a[3833], a[5102]); swap(a[3835], a[7150]); swap(a[3837], a[6126]); swap(a[3838], a[4078]); swap(a[3839], a[8174]); swap(a[3841], a[4126]); swap(a[3843], a[6174]); swap(a[3845], a[5150]); swap(a[3847], a[7198]); swap(a[3849], a[4638]); swap(a[3851], a[6686]); swap(a[3853], a[5662]); swap(a[3855], a[7710]); swap(a[3857], a[4382]); swap(a[3859], a[6430]); swap(a[3861], a[5406]); swap(a[3863], a[7454]); swap(a[3865], a[4894]); swap(a[3867], a[6942]); swap(a[3869], a[5918]); swap(a[3871], a[7966]); swap(a[3873], a[4254]); swap(a[3875], a[6302]); swap(a[3877], a[5278]); swap(a[3879], a[7326]); swap(a[3881], a[4766]); swap(a[3883], a[6814]); swap(a[3885], a[5790]); swap(a[3887], a[7838]); swap(a[3889], a[4510]); swap(a[3891], a[6558]); swap(a[3893], a[5534]); swap(a[3895], a[7582]); swap(a[3897], a[5022]); swap(a[3899], a[7070]); swap(a[3901], a[6046]); swap(a[3902], a[3998]); swap(a[3903], a[8094]); swap(a[3905], a[4190]); swap(a[3907], a[6238]); swap(a[3909], a[5214]); swap(a[3911], a[7262]); swap(a[3913], a[4702]); swap(a[3915], a[6750]); swap(a[3917], a[5726]); swap(a[3919], a[7774]); swap(a[3921], a[4446]); swap(a[3923], a[6494]); swap(a[3925], a[5470]); swap(a[3927], a[7518]); swap(a[3929], a[4958]); swap(a[3931], a[7006]); swap(a[3933], a[5982]); swap(a[3935], a[8030]); swap(a[3937], a[4318]); swap(a[3939], a[6366]); swap(a[3941], a[5342]); swap(a[3943], a[7390]); swap(a[3945], a[4830]); swap(a[3947], a[6878]); swap(a[3949], a[5854]); swap(a[3951], a[7902]); swap(a[3953], a[4574]); swap(a[3955], a[6622]); swap(a[3957], a[5598]); swap(a[3959], a[7646]); swap(a[3961], a[5086]); swap(a[3963], a[7134]); swap(a[3965], a[6110]); swap(a[3966], a[4062]); swap(a[3967], a[8158]); swap(a[3969], a[4158]); swap(a[3971], a[6206]); swap(a[3973], a[5182]); swap(a[3975], a[7230]); swap(a[3977], a[4670]); swap(a[3979], a[6718]); swap(a[3981], a[5694]); swap(a[3983], a[7742]); swap(a[3985], a[4414]); swap(a[3987], a[6462]); swap(a[3989], a[5438]); swap(a[3991], a[7486]); swap(a[3993], a[4926]); swap(a[3995], a[6974]); swap(a[3997], a[5950]); swap(a[3999], a[7998]); swap(a[4001], a[4286]); swap(a[4003], a[6334]); swap(a[4005], a[5310]); swap(a[4007], a[7358]); swap(a[4009], a[4798]); swap(a[4011], a[6846]); swap(a[4013], a[5822]); swap(a[4015], a[7870]); swap(a[4017], a[4542]); swap(a[4019], a[6590]); swap(a[4021], a[5566]); swap(a[4023], a[7614]); swap(a[4025], a[5054]); swap(a[4027], a[7102]); swap(a[4029], a[6078]); swap(a[4031], a[8126]); swap(a[4033], a[4222]); swap(a[4035], a[6270]); swap(a[4037], a[5246]); swap(a[4039], a[7294]); swap(a[4041], a[4734]); swap(a[4043], a[6782]); swap(a[4045], a[5758]); swap(a[4047], a[7806]); swap(a[4049], a[4478]); swap(a[4051], a[6526]); swap(a[4053], a[5502]); swap(a[4055], a[7550]); swap(a[4057], a[4990]); swap(a[4059], a[7038]); swap(a[4061], a[6014]); swap(a[4063], a[8062]); swap(a[4065], a[4350]); swap(a[4067], a[6398]); swap(a[4069], a[5374]); swap(a[4071], a[7422]); swap(a[4073], a[4862]); swap(a[4075], a[6910]); swap(a[4077], a[5886]); swap(a[4079], a[7934]); swap(a[4081], a[4606]); swap(a[4083], a[6654]); swap(a[4085], a[5630]); swap(a[4087], a[7678]); swap(a[4089], a[5118]); swap(a[4091], a[7166]); swap(a[4093], a[6142]); swap(a[4095], a[8190]); swap(a[4099], a[6145]); swap(a[4101], a[5121]); swap(a[4103], a[7169]); swap(a[4105], a[4609]); swap(a[4107], a[6657]); swap(a[4109], a[5633]); swap(a[4111], a[7681]); swap(a[4113], a[4353]); swap(a[4115], a[6401]); swap(a[4117], a[5377]); swap(a[4119], a[7425]); swap(a[4121], a[4865]); swap(a[4123], a[6913]); swap(a[4125], a[5889]); swap(a[4127], a[7937]); swap(a[4129], a[4225]); swap(a[4131], a[6273]); swap(a[4133], a[5249]); swap(a[4135], a[7297]); swap(a[4137], a[4737]); swap(a[4139], a[6785]); swap(a[4141], a[5761]); swap(a[4143], a[7809]); swap(a[4145], a[4481]); swap(a[4147], a[6529]); swap(a[4149], a[5505]); swap(a[4151], a[7553]); swap(a[4153], a[4993]); swap(a[4155], a[7041]); swap(a[4157], a[6017]); swap(a[4159], a[8065]); swap(a[4163], a[6209]); swap(a[4165], a[5185]); swap(a[4167], a[7233]); swap(a[4169], a[4673]); swap(a[4171], a[6721]); swap(a[4173], a[5697]); swap(a[4175], a[7745]); swap(a[4177], a[4417]); swap(a[4179], a[6465]); swap(a[4181], a[5441]); swap(a[4183], a[7489]); swap(a[4185], a[4929]); swap(a[4187], a[6977]); swap(a[4189], a[5953]); swap(a[4191], a[8001]); swap(a[4193], a[4289]); swap(a[4195], a[6337]); swap(a[4197], a[5313]); swap(a[4199], a[7361]); swap(a[4201], a[4801]); swap(a[4203], a[6849]); swap(a[4205], a[5825]); swap(a[4207], a[7873]); swap(a[4209], a[4545]); swap(a[4211], a[6593]); swap(a[4213], a[5569]); swap(a[4215], a[7617]); swap(a[4217], a[5057]); swap(a[4219], a[7105]); swap(a[4221], a[6081]); swap(a[4223], a[8129]); swap(a[4227], a[6177]); swap(a[4229], a[5153]); swap(a[4231], a[7201]); swap(a[4233], a[4641]); swap(a[4235], a[6689]); swap(a[4237], a[5665]); swap(a[4239], a[7713]); swap(a[4241], a[4385]); swap(a[4243], a[6433]); swap(a[4245], a[5409]); swap(a[4247], a[7457]); swap(a[4249], a[4897]); swap(a[4251], a[6945]); swap(a[4253], a[5921]); swap(a[4255], a[7969]); swap(a[4259], a[6305]); swap(a[4261], a[5281]); swap(a[4263], a[7329]); swap(a[4265], a[4769]); swap(a[4267], a[6817]); swap(a[4269], a[5793]); swap(a[4271], a[7841]); swap(a[4273], a[4513]); swap(a[4275], a[6561]); swap(a[4277], a[5537]); swap(a[4279], a[7585]); swap(a[4281], a[5025]); swap(a[4283], a[7073]); swap(a[4285], a[6049]); swap(a[4287], a[8097]); swap(a[4291], a[6241]); swap(a[4293], a[5217]); swap(a[4295], a[7265]); swap(a[4297], a[4705]); swap(a[4299], a[6753]); swap(a[4301], a[5729]); swap(a[4303], a[7777]); swap(a[4305], a[4449]); swap(a[4307], a[6497]); swap(a[4309], a[5473]); swap(a[4311], a[7521]); swap(a[4313], a[4961]); swap(a[4315], a[7009]); swap(a[4317], a[5985]); swap(a[4319], a[8033]); swap(a[4323], a[6369]); swap(a[4325], a[5345]); swap(a[4327], a[7393]); swap(a[4329], a[4833]); swap(a[4331], a[6881]); swap(a[4333], a[5857]); swap(a[4335], a[7905]); swap(a[4337], a[4577]); swap(a[4339], a[6625]); swap(a[4341], a[5601]); swap(a[4343], a[7649]); swap(a[4345], a[5089]); swap(a[4347], a[7137]); swap(a[4349], a[6113]); swap(a[4351], a[8161]); swap(a[4355], a[6161]); swap(a[4357], a[5137]); swap(a[4359], a[7185]); swap(a[4361], a[4625]); swap(a[4363], a[6673]); swap(a[4365], a[5649]); swap(a[4367], a[7697]); swap(a[4371], a[6417]); swap(a[4373], a[5393]); swap(a[4375], a[7441]); swap(a[4377], a[4881]); swap(a[4379], a[6929]); swap(a[4381], a[5905]); swap(a[4383], a[7953]); swap(a[4387], a[6289]); swap(a[4389], a[5265]); swap(a[4391], a[7313]); swap(a[4393], a[4753]); swap(a[4395], a[6801]); swap(a[4397], a[5777]); swap(a[4399], a[7825]); swap(a[4401], a[4497]); swap(a[4403], a[6545]); swap(a[4405], a[5521]); swap(a[4407], a[7569]); swap(a[4409], a[5009]); swap(a[4411], a[7057]); swap(a[4413], a[6033]); swap(a[4415], a[8081]); swap(a[4419], a[6225]); swap(a[4421], a[5201]); swap(a[4423], a[7249]); swap(a[4425], a[4689]); swap(a[4427], a[6737]); swap(a[4429], a[5713]); swap(a[4431], a[7761]); swap(a[4435], a[6481]); swap(a[4437], a[5457]); swap(a[4439], a[7505]); swap(a[4441], a[4945]); swap(a[4443], a[6993]); swap(a[4445], a[5969]); swap(a[4447], a[8017]); swap(a[4451], a[6353]); swap(a[4453], a[5329]); swap(a[4455], a[7377]); swap(a[4457], a[4817]); swap(a[4459], a[6865]); swap(a[4461], a[5841]); swap(a[4463], a[7889]); swap(a[4465], a[4561]); swap(a[4467], a[6609]); swap(a[4469], a[5585]); swap(a[4471], a[7633]); swap(a[4473], a[5073]); swap(a[4475], a[7121]); swap(a[4477], a[6097]); swap(a[4479], a[8145]); swap(a[4483], a[6193]); swap(a[4485], a[5169]); swap(a[4487], a[7217]); swap(a[4489], a[4657]); swap(a[4491], a[6705]); swap(a[4493], a[5681]); swap(a[4495], a[7729]); swap(a[4499], a[6449]); swap(a[4501], a[5425]); swap(a[4503], a[7473]); swap(a[4505], a[4913]); swap(a[4507], a[6961]); swap(a[4509], a[5937]); swap(a[4511], a[7985]); swap(a[4515], a[6321]); swap(a[4517], a[5297]); swap(a[4519], a[7345]); swap(a[4521], a[4785]); swap(a[4523], a[6833]); swap(a[4525], a[5809]); swap(a[4527], a[7857]); swap(a[4531], a[6577]); swap(a[4533], a[5553]); swap(a[4535], a[7601]); swap(a[4537], a[5041]); swap(a[4539], a[7089]); swap(a[4541], a[6065]); swap(a[4543], a[8113]); swap(a[4547], a[6257]); swap(a[4549], a[5233]); swap(a[4551], a[7281]); swap(a[4553], a[4721]); swap(a[4555], a[6769]); swap(a[4557], a[5745]); swap(a[4559], a[7793]); swap(a[4563], a[6513]); swap(a[4565], a[5489]); swap(a[4567], a[7537]); swap(a[4569], a[4977]); swap(a[4571], a[7025]); swap(a[4573], a[6001]); swap(a[4575], a[8049]); swap(a[4579], a[6385]); swap(a[4581], a[5361]); swap(a[4583], a[7409]); swap(a[4585], a[4849]); swap(a[4587], a[6897]); swap(a[4589], a[5873]); swap(a[4591], a[7921]); swap(a[4595], a[6641]); swap(a[4597], a[5617]); swap(a[4599], a[7665]); swap(a[4601], a[5105]); swap(a[4603], a[7153]); swap(a[4605], a[6129]); swap(a[4607], a[8177]); swap(a[4611], a[6153]); swap(a[4613], a[5129]); swap(a[4615], a[7177]); swap(a[4619], a[6665]); swap(a[4621], a[5641]); swap(a[4623], a[7689]); swap(a[4627], a[6409]); swap(a[4629], a[5385]); swap(a[4631], a[7433]); swap(a[4633], a[4873]); swap(a[4635], a[6921]); swap(a[4637], a[5897]); swap(a[4639], a[7945]); swap(a[4643], a[6281]); swap(a[4645], a[5257]); swap(a[4647], a[7305]); swap(a[4649], a[4745]); swap(a[4651], a[6793]); swap(a[4653], a[5769]); swap(a[4655], a[7817]); swap(a[4659], a[6537]); swap(a[4661], a[5513]); swap(a[4663], a[7561]); swap(a[4665], a[5001]); swap(a[4667], a[7049]); swap(a[4669], a[6025]); swap(a[4671], a[8073]); swap(a[4675], a[6217]); swap(a[4677], a[5193]); swap(a[4679], a[7241]); swap(a[4683], a[6729]); swap(a[4685], a[5705]); swap(a[4687], a[7753]); swap(a[4691], a[6473]); swap(a[4693], a[5449]); swap(a[4695], a[7497]); swap(a[4697], a[4937]); swap(a[4699], a[6985]); swap(a[4701], a[5961]); swap(a[4703], a[8009]); swap(a[4707], a[6345]); swap(a[4709], a[5321]); swap(a[4711], a[7369]); swap(a[4713], a[4809]); swap(a[4715], a[6857]); swap(a[4717], a[5833]); swap(a[4719], a[7881]); swap(a[4723], a[6601]); swap(a[4725], a[5577]); swap(a[4727], a[7625]); swap(a[4729], a[5065]); swap(a[4731], a[7113]); swap(a[4733], a[6089]); swap(a[4735], a[8137]); swap(a[4739], a[6185]); swap(a[4741], a[5161]); swap(a[4743], a[7209]); swap(a[4747], a[6697]); swap(a[4749], a[5673]); swap(a[4751], a[7721]); swap(a[4755], a[6441]); swap(a[4757], a[5417]); swap(a[4759], a[7465]); swap(a[4761], a[4905]); swap(a[4763], a[6953]); swap(a[4765], a[5929]); swap(a[4767], a[7977]); swap(a[4771], a[6313]); swap(a[4773], a[5289]); swap(a[4775], a[7337]); swap(a[4779], a[6825]); swap(a[4781], a[5801]); swap(a[4783], a[7849]); swap(a[4787], a[6569]); swap(a[4789], a[5545]); swap(a[4791], a[7593]); swap(a[4793], a[5033]); swap(a[4795], a[7081]); swap(a[4797], a[6057]); swap(a[4799], a[8105]); swap(a[4803], a[6249]); swap(a[4805], a[5225]); swap(a[4807], a[7273]); swap(a[4811], a[6761]); swap(a[4813], a[5737]); swap(a[4815], a[7785]); swap(a[4819], a[6505]); swap(a[4821], a[5481]); swap(a[4823], a[7529]); swap(a[4825], a[4969]); swap(a[4827], a[7017]); swap(a[4829], a[5993]); swap(a[4831], a[8041]); swap(a[4835], a[6377]); swap(a[4837], a[5353]); swap(a[4839], a[7401]); swap(a[4843], a[6889]); swap(a[4845], a[5865]); swap(a[4847], a[7913]); swap(a[4851], a[6633]); swap(a[4853], a[5609]); swap(a[4855], a[7657]); swap(a[4857], a[5097]); swap(a[4859], a[7145]); swap(a[4861], a[6121]); swap(a[4863], a[8169]); swap(a[4867], a[6169]); swap(a[4869], a[5145]); swap(a[4871], a[7193]); swap(a[4875], a[6681]); swap(a[4877], a[5657]); swap(a[4879], a[7705]); swap(a[4883], a[6425]); swap(a[4885], a[5401]); swap(a[4887], a[7449]); swap(a[4891], a[6937]); swap(a[4893], a[5913]); swap(a[4895], a[7961]); swap(a[4899], a[6297]); swap(a[4901], a[5273]); swap(a[4903], a[7321]); swap(a[4907], a[6809]); swap(a[4909], a[5785]); swap(a[4911], a[7833]); swap(a[4915], a[6553]); swap(a[4917], a[5529]); swap(a[4919], a[7577]); swap(a[4921], a[5017]); swap(a[4923], a[7065]); swap(a[4925], a[6041]); swap(a[4927], a[8089]); swap(a[4931], a[6233]); swap(a[4933], a[5209]); swap(a[4935], a[7257]); swap(a[4939], a[6745]); swap(a[4941], a[5721]); swap(a[4943], a[7769]); swap(a[4947], a[6489]); swap(a[4949], a[5465]); swap(a[4951], a[7513]); swap(a[4955], a[7001]); swap(a[4957], a[5977]); swap(a[4959], a[8025]); swap(a[4963], a[6361]); swap(a[4965], a[5337]); swap(a[4967], a[7385]); swap(a[4971], a[6873]); swap(a[4973], a[5849]); swap(a[4975], a[7897]); swap(a[4979], a[6617]); swap(a[4981], a[5593]); swap(a[4983], a[7641]); swap(a[4985], a[5081]); swap(a[4987], a[7129]); swap(a[4989], a[6105]); swap(a[4991], a[8153]); swap(a[4995], a[6201]); swap(a[4997], a[5177]); swap(a[4999], a[7225]); swap(a[5003], a[6713]); swap(a[5005], a[5689]); swap(a[5007], a[7737]); swap(a[5011], a[6457]); swap(a[5013], a[5433]); swap(a[5015], a[7481]); swap(a[5019], a[6969]); swap(a[5021], a[5945]); swap(a[5023], a[7993]); swap(a[5027], a[6329]); swap(a[5029], a[5305]); swap(a[5031], a[7353]); swap(a[5035], a[6841]); swap(a[5037], a[5817]); swap(a[5039], a[7865]); swap(a[5043], a[6585]); swap(a[5045], a[5561]); swap(a[5047], a[7609]); swap(a[5051], a[7097]); swap(a[5053], a[6073]); swap(a[5055], a[8121]); swap(a[5059], a[6265]); swap(a[5061], a[5241]); swap(a[5063], a[7289]); swap(a[5067], a[6777]); swap(a[5069], a[5753]); swap(a[5071], a[7801]); swap(a[5075], a[6521]); swap(a[5077], a[5497]); swap(a[5079], a[7545]); swap(a[5083], a[7033]); swap(a[5085], a[6009]); swap(a[5087], a[8057]); swap(a[5091], a[6393]); swap(a[5093], a[5369]); swap(a[5095], a[7417]); swap(a[5099], a[6905]); swap(a[5101], a[5881]); swap(a[5103], a[7929]); swap(a[5107], a[6649]); swap(a[5109], a[5625]); swap(a[5111], a[7673]); swap(a[5115], a[7161]); swap(a[5117], a[6137]); swap(a[5119], a[8185]); swap(a[5123], a[6149]); swap(a[5127], a[7173]); swap(a[5131], a[6661]); swap(a[5133], a[5637]); swap(a[5135], a[7685]); swap(a[5139], a[6405]); swap(a[5141], a[5381]); swap(a[5143], a[7429]); swap(a[5147], a[6917]); swap(a[5149], a[5893]); swap(a[5151], a[7941]); swap(a[5155], a[6277]); swap(a[5157], a[5253]); swap(a[5159], a[7301]); swap(a[5163], a[6789]); swap(a[5165], a[5765]); swap(a[5167], a[7813]); swap(a[5171], a[6533]); swap(a[5173], a[5509]); swap(a[5175], a[7557]); swap(a[5179], a[7045]); swap(a[5181], a[6021]); swap(a[5183], a[8069]); swap(a[5187], a[6213]); swap(a[5191], a[7237]); swap(a[5195], a[6725]); swap(a[5197], a[5701]); swap(a[5199], a[7749]); swap(a[5203], a[6469]); swap(a[5205], a[5445]); swap(a[5207], a[7493]); swap(a[5211], a[6981]); swap(a[5213], a[5957]); swap(a[5215], a[8005]); swap(a[5219], a[6341]); swap(a[5221], a[5317]); swap(a[5223], a[7365]); swap(a[5227], a[6853]); swap(a[5229], a[5829]); swap(a[5231], a[7877]); swap(a[5235], a[6597]); swap(a[5237], a[5573]); swap(a[5239], a[7621]); swap(a[5243], a[7109]); swap(a[5245], a[6085]); swap(a[5247], a[8133]); swap(a[5251], a[6181]); swap(a[5255], a[7205]); swap(a[5259], a[6693]); swap(a[5261], a[5669]); swap(a[5263], a[7717]); swap(a[5267], a[6437]); swap(a[5269], a[5413]); swap(a[5271], a[7461]); swap(a[5275], a[6949]); swap(a[5277], a[5925]); swap(a[5279], a[7973]); swap(a[5283], a[6309]); swap(a[5287], a[7333]); swap(a[5291], a[6821]); swap(a[5293], a[5797]); swap(a[5295], a[7845]); swap(a[5299], a[6565]); swap(a[5301], a[5541]); swap(a[5303], a[7589]); swap(a[5307], a[7077]); swap(a[5309], a[6053]); swap(a[5311], a[8101]); swap(a[5315], a[6245]); swap(a[5319], a[7269]); swap(a[5323], a[6757]); swap(a[5325], a[5733]); swap(a[5327], a[7781]); swap(a[5331], a[6501]); swap(a[5333], a[5477]); swap(a[5335], a[7525]); swap(a[5339], a[7013]); swap(a[5341], a[5989]); swap(a[5343], a[8037]); swap(a[5347], a[6373]); swap(a[5351], a[7397]); swap(a[5355], a[6885]); swap(a[5357], a[5861]); swap(a[5359], a[7909]); swap(a[5363], a[6629]); swap(a[5365], a[5605]); swap(a[5367], a[7653]); swap(a[5371], a[7141]); swap(a[5373], a[6117]); swap(a[5375], a[8165]); swap(a[5379], a[6165]); swap(a[5383], a[7189]); swap(a[5387], a[6677]); swap(a[5389], a[5653]); swap(a[5391], a[7701]); swap(a[5395], a[6421]); swap(a[5399], a[7445]); swap(a[5403], a[6933]); swap(a[5405], a[5909]); swap(a[5407], a[7957]); swap(a[5411], a[6293]); swap(a[5415], a[7317]); swap(a[5419], a[6805]); swap(a[5421], a[5781]); swap(a[5423], a[7829]); swap(a[5427], a[6549]); swap(a[5429], a[5525]); swap(a[5431], a[7573]); swap(a[5435], a[7061]); swap(a[5437], a[6037]); swap(a[5439], a[8085]); swap(a[5443], a[6229]); swap(a[5447], a[7253]); swap(a[5451], a[6741]); swap(a[5453], a[5717]); swap(a[5455], a[7765]); swap(a[5459], a[6485]); swap(a[5463], a[7509]); swap(a[5467], a[6997]); swap(a[5469], a[5973]); swap(a[5471], a[8021]); swap(a[5475], a[6357]); swap(a[5479], a[7381]); swap(a[5483], a[6869]); swap(a[5485], a[5845]); swap(a[5487], a[7893]); swap(a[5491], a[6613]); swap(a[5493], a[5589]); swap(a[5495], a[7637]); swap(a[5499], a[7125]); swap(a[5501], a[6101]); swap(a[5503], a[8149]); swap(a[5507], a[6197]); swap(a[5511], a[7221]); swap(a[5515], a[6709]); swap(a[5517], a[5685]); swap(a[5519], a[7733]); swap(a[5523], a[6453]); swap(a[5527], a[7477]); swap(a[5531], a[6965]); swap(a[5533], a[5941]); swap(a[5535], a[7989]); swap(a[5539], a[6325]); swap(a[5543], a[7349]); swap(a[5547], a[6837]); swap(a[5549], a[5813]); swap(a[5551], a[7861]); swap(a[5555], a[6581]); swap(a[5559], a[7605]); swap(a[5563], a[7093]); swap(a[5565], a[6069]); swap(a[5567], a[8117]); swap(a[5571], a[6261]); swap(a[5575], a[7285]); swap(a[5579], a[6773]); swap(a[5581], a[5749]); swap(a[5583], a[7797]); swap(a[5587], a[6517]); swap(a[5591], a[7541]); swap(a[5595], a[7029]); swap(a[5597], a[6005]); swap(a[5599], a[8053]); swap(a[5603], a[6389]); swap(a[5607], a[7413]); swap(a[5611], a[6901]); swap(a[5613], a[5877]); swap(a[5615], a[7925]); swap(a[5619], a[6645]); swap(a[5623], a[7669]); swap(a[5627], a[7157]); swap(a[5629], a[6133]); swap(a[5631], a[8181]); swap(a[5635], a[6157]); swap(a[5639], a[7181]); swap(a[5643], a[6669]); swap(a[5647], a[7693]); swap(a[5651], a[6413]); swap(a[5655], a[7437]); swap(a[5659], a[6925]); swap(a[5661], a[5901]); swap(a[5663], a[7949]); swap(a[5667], a[6285]); swap(a[5671], a[7309]); swap(a[5675], a[6797]); swap(a[5677], a[5773]); swap(a[5679], a[7821]); swap(a[5683], a[6541]); swap(a[5687], a[7565]); swap(a[5691], a[7053]); swap(a[5693], a[6029]); swap(a[5695], a[8077]); swap(a[5699], a[6221]); swap(a[5703], a[7245]); swap(a[5707], a[6733]); swap(a[5711], a[7757]); swap(a[5715], a[6477]); swap(a[5719], a[7501]); swap(a[5723], a[6989]); swap(a[5725], a[5965]); swap(a[5727], a[8013]); swap(a[5731], a[6349]); swap(a[5735], a[7373]); swap(a[5739], a[6861]); swap(a[5741], a[5837]); swap(a[5743], a[7885]); swap(a[5747], a[6605]); swap(a[5751], a[7629]); swap(a[5755], a[7117]); swap(a[5757], a[6093]); swap(a[5759], a[8141]); swap(a[5763], a[6189]); swap(a[5767], a[7213]); swap(a[5771], a[6701]); swap(a[5775], a[7725]); swap(a[5779], a[6445]); swap(a[5783], a[7469]); swap(a[5787], a[6957]); swap(a[5789], a[5933]); swap(a[5791], a[7981]); swap(a[5795], a[6317]); swap(a[5799], a[7341]); swap(a[5803], a[6829]); swap(a[5807], a[7853]); swap(a[5811], a[6573]); swap(a[5815], a[7597]); swap(a[5819], a[7085]); swap(a[5821], a[6061]); swap(a[5823], a[8109]); swap(a[5827], a[6253]); swap(a[5831], a[7277]); swap(a[5835], a[6765]); swap(a[5839], a[7789]); swap(a[5843], a[6509]); swap(a[5847], a[7533]); swap(a[5851], a[7021]); swap(a[5853], a[5997]); swap(a[5855], a[8045]); swap(a[5859], a[6381]); swap(a[5863], a[7405]); swap(a[5867], a[6893]); swap(a[5871], a[7917]); swap(a[5875], a[6637]); swap(a[5879], a[7661]); swap(a[5883], a[7149]); swap(a[5885], a[6125]); swap(a[5887], a[8173]); swap(a[5891], a[6173]); swap(a[5895], a[7197]); swap(a[5899], a[6685]); swap(a[5903], a[7709]); swap(a[5907], a[6429]); swap(a[5911], a[7453]); swap(a[5915], a[6941]); swap(a[5919], a[7965]); swap(a[5923], a[6301]); swap(a[5927], a[7325]); swap(a[5931], a[6813]); swap(a[5935], a[7837]); swap(a[5939], a[6557]); swap(a[5943], a[7581]); swap(a[5947], a[7069]); swap(a[5949], a[6045]); swap(a[5951], a[8093]); swap(a[5955], a[6237]); swap(a[5959], a[7261]); swap(a[5963], a[6749]); swap(a[5967], a[7773]); swap(a[5971], a[6493]); swap(a[5975], a[7517]); swap(a[5979], a[7005]); swap(a[5983], a[8029]); swap(a[5987], a[6365]); swap(a[5991], a[7389]); swap(a[5995], a[6877]); swap(a[5999], a[7901]); swap(a[6003], a[6621]); swap(a[6007], a[7645]); swap(a[6011], a[7133]); swap(a[6013], a[6109]); swap(a[6015], a[8157]); swap(a[6019], a[6205]); swap(a[6023], a[7229]); swap(a[6027], a[6717]); swap(a[6031], a[7741]); swap(a[6035], a[6461]); swap(a[6039], a[7485]); swap(a[6043], a[6973]); swap(a[6047], a[7997]); swap(a[6051], a[6333]); swap(a[6055], a[7357]); swap(a[6059], a[6845]); swap(a[6063], a[7869]); swap(a[6067], a[6589]); swap(a[6071], a[7613]); swap(a[6075], a[7101]); swap(a[6079], a[8125]); swap(a[6083], a[6269]); swap(a[6087], a[7293]); swap(a[6091], a[6781]); swap(a[6095], a[7805]); swap(a[6099], a[6525]); swap(a[6103], a[7549]); swap(a[6107], a[7037]); swap(a[6111], a[8061]); swap(a[6115], a[6397]); swap(a[6119], a[7421]); swap(a[6123], a[6909]); swap(a[6127], a[7933]); swap(a[6131], a[6653]); swap(a[6135], a[7677]); swap(a[6139], a[7165]); swap(a[6143], a[8189]); swap(a[6151], a[7171]); swap(a[6155], a[6659]); swap(a[6159], a[7683]); swap(a[6163], a[6403]); swap(a[6167], a[7427]); swap(a[6171], a[6915]); swap(a[6175], a[7939]); swap(a[6179], a[6275]); swap(a[6183], a[7299]); swap(a[6187], a[6787]); swap(a[6191], a[7811]); swap(a[6195], a[6531]); swap(a[6199], a[7555]); swap(a[6203], a[7043]); swap(a[6207], a[8067]); swap(a[6215], a[7235]); swap(a[6219], a[6723]); swap(a[6223], a[7747]); swap(a[6227], a[6467]); swap(a[6231], a[7491]); swap(a[6235], a[6979]); swap(a[6239], a[8003]); swap(a[6243], a[6339]); swap(a[6247], a[7363]); swap(a[6251], a[6851]); swap(a[6255], a[7875]); swap(a[6259], a[6595]); swap(a[6263], a[7619]); swap(a[6267], a[7107]); swap(a[6271], a[8131]); swap(a[6279], a[7203]); swap(a[6283], a[6691]); swap(a[6287], a[7715]); swap(a[6291], a[6435]); swap(a[6295], a[7459]); swap(a[6299], a[6947]); swap(a[6303], a[7971]); swap(a[6311], a[7331]); swap(a[6315], a[6819]); swap(a[6319], a[7843]); swap(a[6323], a[6563]); swap(a[6327], a[7587]); swap(a[6331], a[7075]); swap(a[6335], a[8099]); swap(a[6343], a[7267]); swap(a[6347], a[6755]); swap(a[6351], a[7779]); swap(a[6355], a[6499]); swap(a[6359], a[7523]); swap(a[6363], a[7011]); swap(a[6367], a[8035]); swap(a[6375], a[7395]); swap(a[6379], a[6883]); swap(a[6383], a[7907]); swap(a[6387], a[6627]); swap(a[6391], a[7651]); swap(a[6395], a[7139]); swap(a[6399], a[8163]); swap(a[6407], a[7187]); swap(a[6411], a[6675]); swap(a[6415], a[7699]); swap(a[6423], a[7443]); swap(a[6427], a[6931]); swap(a[6431], a[7955]); swap(a[6439], a[7315]); swap(a[6443], a[6803]); swap(a[6447], a[7827]); swap(a[6451], a[6547]); swap(a[6455], a[7571]); swap(a[6459], a[7059]); swap(a[6463], a[8083]); swap(a[6471], a[7251]); swap(a[6475], a[6739]); swap(a[6479], a[7763]); swap(a[6487], a[7507]); swap(a[6491], a[6995]); swap(a[6495], a[8019]); swap(a[6503], a[7379]); swap(a[6507], a[6867]); swap(a[6511], a[7891]); swap(a[6515], a[6611]); swap(a[6519], a[7635]); swap(a[6523], a[7123]); swap(a[6527], a[8147]); swap(a[6535], a[7219]); swap(a[6539], a[6707]); swap(a[6543], a[7731]); swap(a[6551], a[7475]); swap(a[6555], a[6963]); swap(a[6559], a[7987]); swap(a[6567], a[7347]); swap(a[6571], a[6835]); swap(a[6575], a[7859]); swap(a[6583], a[7603]); swap(a[6587], a[7091]); swap(a[6591], a[8115]); swap(a[6599], a[7283]); swap(a[6603], a[6771]); swap(a[6607], a[7795]); swap(a[6615], a[7539]); swap(a[6619], a[7027]); swap(a[6623], a[8051]); swap(a[6631], a[7411]); swap(a[6635], a[6899]); swap(a[6639], a[7923]); swap(a[6647], a[7667]); swap(a[6651], a[7155]); swap(a[6655], a[8179]); swap(a[6663], a[7179]); swap(a[6671], a[7691]); swap(a[6679], a[7435]); swap(a[6683], a[6923]); swap(a[6687], a[7947]); swap(a[6695], a[7307]); swap(a[6699], a[6795]); swap(a[6703], a[7819]); swap(a[6711], a[7563]); swap(a[6715], a[7051]); swap(a[6719], a[8075]); swap(a[6727], a[7243]); swap(a[6735], a[7755]); swap(a[6743], a[7499]); swap(a[6747], a[6987]); swap(a[6751], a[8011]); swap(a[6759], a[7371]); swap(a[6763], a[6859]); swap(a[6767], a[7883]); swap(a[6775], a[7627]); swap(a[6779], a[7115]); swap(a[6783], a[8139]); swap(a[6791], a[7211]); swap(a[6799], a[7723]); swap(a[6807], a[7467]); swap(a[6811], a[6955]); swap(a[6815], a[7979]); swap(a[6823], a[7339]); swap(a[6831], a[7851]); swap(a[6839], a[7595]); swap(a[6843], a[7083]); swap(a[6847], a[8107]); swap(a[6855], a[7275]); swap(a[6863], a[7787]); swap(a[6871], a[7531]); swap(a[6875], a[7019]); swap(a[6879], a[8043]); swap(a[6887], a[7403]); swap(a[6895], a[7915]); swap(a[6903], a[7659]); swap(a[6907], a[7147]); swap(a[6911], a[8171]); swap(a[6919], a[7195]); swap(a[6927], a[7707]); swap(a[6935], a[7451]); swap(a[6943], a[7963]); swap(a[6951], a[7323]); swap(a[6959], a[7835]); swap(a[6967], a[7579]); swap(a[6971], a[7067]); swap(a[6975], a[8091]); swap(a[6983], a[7259]); swap(a[6991], a[7771]); swap(a[6999], a[7515]); swap(a[7007], a[8027]); swap(a[7015], a[7387]); swap(a[7023], a[7899]); swap(a[7031], a[7643]); swap(a[7035], a[7131]); swap(a[7039], a[8155]); swap(a[7047], a[7227]); swap(a[7055], a[7739]); swap(a[7063], a[7483]); swap(a[7071], a[7995]); swap(a[7079], a[7355]); swap(a[7087], a[7867]); swap(a[7095], a[7611]); swap(a[7103], a[8123]); swap(a[7111], a[7291]); swap(a[7119], a[7803]); swap(a[7127], a[7547]); swap(a[7135], a[8059]); swap(a[7143], a[7419]); swap(a[7151], a[7931]); swap(a[7159], a[7675]); swap(a[7167], a[8187]); swap(a[7183], a[7687]); swap(a[7191], a[7431]); swap(a[7199], a[7943]); swap(a[7207], a[7303]); swap(a[7215], a[7815]); swap(a[7223], a[7559]); swap(a[7231], a[8071]); swap(a[7247], a[7751]); swap(a[7255], a[7495]); swap(a[7263], a[8007]); swap(a[7271], a[7367]); swap(a[7279], a[7879]); swap(a[7287], a[7623]); swap(a[7295], a[8135]); swap(a[7311], a[7719]); swap(a[7319], a[7463]); swap(a[7327], a[7975]); swap(a[7343], a[7847]); swap(a[7351], a[7591]); swap(a[7359], a[8103]); swap(a[7375], a[7783]); swap(a[7383], a[7527]); swap(a[7391], a[8039]); swap(a[7407], a[7911]); swap(a[7415], a[7655]); swap(a[7423], a[8167]); swap(a[7439], a[7703]); swap(a[7455], a[7959]); swap(a[7471], a[7831]); swap(a[7479], a[7575]); swap(a[7487], a[8087]); swap(a[7503], a[7767]); swap(a[7519], a[8023]); swap(a[7535], a[7895]); swap(a[7543], a[7639]); swap(a[7551], a[8151]); swap(a[7567], a[7735]); swap(a[7583], a[7991]); swap(a[7599], a[7863]); swap(a[7615], a[8119]); swap(a[7631], a[7799]); swap(a[7647], a[8055]); swap(a[7663], a[7927]); swap(a[7679], a[8183]); swap(a[7711], a[7951]); swap(a[7727], a[7823]); swap(a[7743], a[8079]); swap(a[7775], a[8015]); swap(a[7791], a[7887]); swap(a[7807], a[8143]); swap(a[7839], a[7983]); swap(a[7871], a[8111]); swap(a[7903], a[8047]); swap(a[7935], a[8175]); swap(a[7999], a[8095]); swap(a[8063], a[8159]);


  for (int l = 2; l <= N; l *= 2) {
    ld ang = 2 * PI / (ld)l;
    if (inv) ang *= -1;
    cd mlt(cos(ang), sin(ang));
    for (int i = 0; i < N; i += l) {
      cd cur(1);
      for (int j = 0; j < l / 2; j++) {
        cd x = a[i + j];
        cd y = a[i + l / 2 + j] * cur;
        a[i + j] = x + y;
        a[i + l / 2 + j] = x - y;
        cur *= mlt;
      }
    }
  }

  if (inv) {
    for (int i = 0; i < N; i++) {
      a[i] /= N;
    }
  }
}

void conv_smart(vector<cd> a, vector<cd> b) {

  a.resize(N, 0);
  b.resize(N, 0);

  for (int i = 0; i < N; i++) {
    x[i] = a[i];
    y[i] = b[i];
  }

  fft(x, 0);
  fft(y, 0);
  for (int i = 0; i < N; i++) {
    c[i] = x[i] * y[i];
  }
  fft(c, 1);
}

ld values[26];

const ld eps = 1e-6;

vector<cd> cs;
vector<cd> a[2];

void place(int id, int len, vector<ld> &sol) {
  sol.clear();
  int n = (int) a[id].size();
  if (len > n) {
    return;
  }
  ld ang = 2 * PI / len;
  cd cc(cos(ang), sin(ang));
  cs.resize(len);
  cs[0] = 1;
  for (int i = 1; i < len; i++) {
    cs[i] = cs[i - 1] * cc;
  }
  sol.resize(n - len + 1);
  conv_smart(cs, a[id]);
  for (int i = 0; i < n - len + 1; i++) {
    sol[i] = norm(c[i + len - 1]);
  }
}

string s, t;
vector<ld> norms_s, norms_t;

bool isok(int len) {
  place(0, len, norms_s);
  place(1, len, norms_t);
  int n = (int) norms_s.size();
  int m = (int) norms_t.size();
  sort(norms_s.begin(), norms_s.end());
  sort(norms_t.begin(), norms_t.end());
  int j = 0;
  for (int i = 0; i < n; i++) {
    while (j < m && norms_t[j] < norms_s[i]) {
      j++;
    }
    if (0 <= j && j < m && abs(norms_s[i] - norms_t[j]) < eps) {
      return 1;
    }
    if (0 <= j - 1 && j - 1 < m && abs(norms_s[i] - norms_t[j - 1]) < eps) {
      return 1;
    }
  }
  return 0;
}

void print(int len) {
  place(0, len, norms_s);
  place(1, len, norms_t);
  int n = (int) norms_s.size();
  int m = (int) norms_t.size();
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      if (abs(norms_s[i] - norms_t[j]) < eps) {
        cout << i << " " << j << "\n";
        exit(0);
      }
    }
  }
}

int main() {

  for (int x = 0; x < 26; x++) {
    values[x] = cos(rng()) * 10;
  }
  if (!home) {
    verbose = 0;
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
  }
  if (home) {
    verbose = 1;
    freopen ("___input___.txt", "r", stdin);
  }

  cin >> s >> t;
  int n = (int) s.size(), m = (int) t.size();
  int len = min(n, m);
  a[0].resize(n);
  a[1].resize(m);
  for (int i = 0; i < n; i++) {
    a[0][i] = values[s[i] - 'a'];
  }
  for (int i = 0; i < m; i++) {
    a[1][i] = values[t[i] - 'a'];
  }
  while (!isok(len)) {
    if (verbose) {
      cout << "len = " << len << "\n";
    }
    len--;
  }
  cout << len << "\n";
  print(len);
  return 0;
}

Compilation message

Compilation timeout while compiling necklace