Files
ortools-clone/examples/flatzinc/perfect_shuffle.fzn
2012-09-03 18:26:36 +00:00

788 lines
27 KiB
MiniZinc

array [1..73] of int: num_shuffles_arr = [1, 2, 4, 3, 6, 10, 12, 4, 8, 18, 6, 11, 20, 18, 28, 5, 10, 12, 36, 12, 20, 14, 12, 23, 21, 8, 52, 20, 18, 58, 60, 6, 12, 66, 22, 35, 9, 20, 30, 39, 54, 82, 8, 28, 11, 12, 10, 36, 48, 30, 100, 51, 12, 106, 36, 36, 28, 44, 12, 24, 110, 20, 100, 7, 14, 130, 18, 36, 68, 138, 46, 60, 28];
array [1..784] of var 1..28: x :: output_array([1..28, 1..28]);
constraint int_eq(x[1], x[29]);
constraint int_eq(x[2], x[43]);
constraint int_eq(x[3], x[30]);
constraint int_eq(x[4], x[44]);
constraint int_eq(x[5], x[31]);
constraint int_eq(x[6], x[45]);
constraint int_eq(x[7], x[32]);
constraint int_eq(x[8], x[46]);
constraint int_eq(x[9], x[33]);
constraint int_eq(x[10], x[47]);
constraint int_eq(x[11], x[34]);
constraint int_eq(x[12], x[48]);
constraint int_eq(x[13], x[35]);
constraint int_eq(x[14], x[49]);
constraint int_eq(x[15], x[36]);
constraint int_eq(x[16], x[50]);
constraint int_eq(x[17], x[37]);
constraint int_eq(x[18], x[51]);
constraint int_eq(x[19], x[38]);
constraint int_eq(x[20], x[52]);
constraint int_eq(x[21], x[39]);
constraint int_eq(x[22], x[53]);
constraint int_eq(x[23], x[40]);
constraint int_eq(x[24], x[54]);
constraint int_eq(x[25], x[41]);
constraint int_eq(x[26], x[55]);
constraint int_eq(x[27], x[42]);
constraint int_eq(x[28], x[56]);
constraint int_eq(x[29], x[57]);
constraint int_eq(x[30], x[71]);
constraint int_eq(x[31], x[58]);
constraint int_eq(x[32], x[72]);
constraint int_eq(x[33], x[59]);
constraint int_eq(x[34], x[73]);
constraint int_eq(x[35], x[60]);
constraint int_eq(x[36], x[74]);
constraint int_eq(x[37], x[61]);
constraint int_eq(x[38], x[75]);
constraint int_eq(x[39], x[62]);
constraint int_eq(x[40], x[76]);
constraint int_eq(x[41], x[63]);
constraint int_eq(x[42], x[77]);
constraint int_eq(x[43], x[64]);
constraint int_eq(x[44], x[78]);
constraint int_eq(x[45], x[65]);
constraint int_eq(x[46], x[79]);
constraint int_eq(x[47], x[66]);
constraint int_eq(x[48], x[80]);
constraint int_eq(x[49], x[67]);
constraint int_eq(x[50], x[81]);
constraint int_eq(x[51], x[68]);
constraint int_eq(x[52], x[82]);
constraint int_eq(x[53], x[69]);
constraint int_eq(x[54], x[83]);
constraint int_eq(x[55], x[70]);
constraint int_eq(x[56], x[84]);
constraint int_eq(x[57], x[85]);
constraint int_eq(x[58], x[99]);
constraint int_eq(x[59], x[86]);
constraint int_eq(x[60], x[100]);
constraint int_eq(x[61], x[87]);
constraint int_eq(x[62], x[101]);
constraint int_eq(x[63], x[88]);
constraint int_eq(x[64], x[102]);
constraint int_eq(x[65], x[89]);
constraint int_eq(x[66], x[103]);
constraint int_eq(x[67], x[90]);
constraint int_eq(x[68], x[104]);
constraint int_eq(x[69], x[91]);
constraint int_eq(x[70], x[105]);
constraint int_eq(x[71], x[92]);
constraint int_eq(x[72], x[106]);
constraint int_eq(x[73], x[93]);
constraint int_eq(x[74], x[107]);
constraint int_eq(x[75], x[94]);
constraint int_eq(x[76], x[108]);
constraint int_eq(x[77], x[95]);
constraint int_eq(x[78], x[109]);
constraint int_eq(x[79], x[96]);
constraint int_eq(x[80], x[110]);
constraint int_eq(x[81], x[97]);
constraint int_eq(x[82], x[111]);
constraint int_eq(x[83], x[98]);
constraint int_eq(x[84], x[112]);
constraint int_eq(x[85], x[113]);
constraint int_eq(x[86], x[127]);
constraint int_eq(x[87], x[114]);
constraint int_eq(x[88], x[128]);
constraint int_eq(x[89], x[115]);
constraint int_eq(x[90], x[129]);
constraint int_eq(x[91], x[116]);
constraint int_eq(x[92], x[130]);
constraint int_eq(x[93], x[117]);
constraint int_eq(x[94], x[131]);
constraint int_eq(x[95], x[118]);
constraint int_eq(x[96], x[132]);
constraint int_eq(x[97], x[119]);
constraint int_eq(x[98], x[133]);
constraint int_eq(x[99], x[120]);
constraint int_eq(x[100], x[134]);
constraint int_eq(x[101], x[121]);
constraint int_eq(x[102], x[135]);
constraint int_eq(x[103], x[122]);
constraint int_eq(x[104], x[136]);
constraint int_eq(x[105], x[123]);
constraint int_eq(x[106], x[137]);
constraint int_eq(x[107], x[124]);
constraint int_eq(x[108], x[138]);
constraint int_eq(x[109], x[125]);
constraint int_eq(x[110], x[139]);
constraint int_eq(x[111], x[126]);
constraint int_eq(x[112], x[140]);
constraint int_eq(x[113], x[141]);
constraint int_eq(x[114], x[155]);
constraint int_eq(x[115], x[142]);
constraint int_eq(x[116], x[156]);
constraint int_eq(x[117], x[143]);
constraint int_eq(x[118], x[157]);
constraint int_eq(x[119], x[144]);
constraint int_eq(x[120], x[158]);
constraint int_eq(x[121], x[145]);
constraint int_eq(x[122], x[159]);
constraint int_eq(x[123], x[146]);
constraint int_eq(x[124], x[160]);
constraint int_eq(x[125], x[147]);
constraint int_eq(x[126], x[161]);
constraint int_eq(x[127], x[148]);
constraint int_eq(x[128], x[162]);
constraint int_eq(x[129], x[149]);
constraint int_eq(x[130], x[163]);
constraint int_eq(x[131], x[150]);
constraint int_eq(x[132], x[164]);
constraint int_eq(x[133], x[151]);
constraint int_eq(x[134], x[165]);
constraint int_eq(x[135], x[152]);
constraint int_eq(x[136], x[166]);
constraint int_eq(x[137], x[153]);
constraint int_eq(x[138], x[167]);
constraint int_eq(x[139], x[154]);
constraint int_eq(x[140], x[168]);
constraint int_eq(x[141], x[169]);
constraint int_eq(x[142], x[183]);
constraint int_eq(x[143], x[170]);
constraint int_eq(x[144], x[184]);
constraint int_eq(x[145], x[171]);
constraint int_eq(x[146], x[185]);
constraint int_eq(x[147], x[172]);
constraint int_eq(x[148], x[186]);
constraint int_eq(x[149], x[173]);
constraint int_eq(x[150], x[187]);
constraint int_eq(x[151], x[174]);
constraint int_eq(x[152], x[188]);
constraint int_eq(x[153], x[175]);
constraint int_eq(x[154], x[189]);
constraint int_eq(x[155], x[176]);
constraint int_eq(x[156], x[190]);
constraint int_eq(x[157], x[177]);
constraint int_eq(x[158], x[191]);
constraint int_eq(x[159], x[178]);
constraint int_eq(x[160], x[192]);
constraint int_eq(x[161], x[179]);
constraint int_eq(x[162], x[193]);
constraint int_eq(x[163], x[180]);
constraint int_eq(x[164], x[194]);
constraint int_eq(x[165], x[181]);
constraint int_eq(x[166], x[195]);
constraint int_eq(x[167], x[182]);
constraint int_eq(x[168], x[196]);
constraint int_eq(x[169], x[197]);
constraint int_eq(x[170], x[211]);
constraint int_eq(x[171], x[198]);
constraint int_eq(x[172], x[212]);
constraint int_eq(x[173], x[199]);
constraint int_eq(x[174], x[213]);
constraint int_eq(x[175], x[200]);
constraint int_eq(x[176], x[214]);
constraint int_eq(x[177], x[201]);
constraint int_eq(x[178], x[215]);
constraint int_eq(x[179], x[202]);
constraint int_eq(x[180], x[216]);
constraint int_eq(x[181], x[203]);
constraint int_eq(x[182], x[217]);
constraint int_eq(x[183], x[204]);
constraint int_eq(x[184], x[218]);
constraint int_eq(x[185], x[205]);
constraint int_eq(x[186], x[219]);
constraint int_eq(x[187], x[206]);
constraint int_eq(x[188], x[220]);
constraint int_eq(x[189], x[207]);
constraint int_eq(x[190], x[221]);
constraint int_eq(x[191], x[208]);
constraint int_eq(x[192], x[222]);
constraint int_eq(x[193], x[209]);
constraint int_eq(x[194], x[223]);
constraint int_eq(x[195], x[210]);
constraint int_eq(x[196], x[224]);
constraint int_eq(x[197], x[225]);
constraint int_eq(x[198], x[239]);
constraint int_eq(x[199], x[226]);
constraint int_eq(x[200], x[240]);
constraint int_eq(x[201], x[227]);
constraint int_eq(x[202], x[241]);
constraint int_eq(x[203], x[228]);
constraint int_eq(x[204], x[242]);
constraint int_eq(x[205], x[229]);
constraint int_eq(x[206], x[243]);
constraint int_eq(x[207], x[230]);
constraint int_eq(x[208], x[244]);
constraint int_eq(x[209], x[231]);
constraint int_eq(x[210], x[245]);
constraint int_eq(x[211], x[232]);
constraint int_eq(x[212], x[246]);
constraint int_eq(x[213], x[233]);
constraint int_eq(x[214], x[247]);
constraint int_eq(x[215], x[234]);
constraint int_eq(x[216], x[248]);
constraint int_eq(x[217], x[235]);
constraint int_eq(x[218], x[249]);
constraint int_eq(x[219], x[236]);
constraint int_eq(x[220], x[250]);
constraint int_eq(x[221], x[237]);
constraint int_eq(x[222], x[251]);
constraint int_eq(x[223], x[238]);
constraint int_eq(x[224], x[252]);
constraint int_eq(x[225], x[253]);
constraint int_eq(x[226], x[267]);
constraint int_eq(x[227], x[254]);
constraint int_eq(x[228], x[268]);
constraint int_eq(x[229], x[255]);
constraint int_eq(x[230], x[269]);
constraint int_eq(x[231], x[256]);
constraint int_eq(x[232], x[270]);
constraint int_eq(x[233], x[257]);
constraint int_eq(x[234], x[271]);
constraint int_eq(x[235], x[258]);
constraint int_eq(x[236], x[272]);
constraint int_eq(x[237], x[259]);
constraint int_eq(x[238], x[273]);
constraint int_eq(x[239], x[260]);
constraint int_eq(x[240], x[274]);
constraint int_eq(x[241], x[261]);
constraint int_eq(x[242], x[275]);
constraint int_eq(x[243], x[262]);
constraint int_eq(x[244], x[276]);
constraint int_eq(x[245], x[263]);
constraint int_eq(x[246], x[277]);
constraint int_eq(x[247], x[264]);
constraint int_eq(x[248], x[278]);
constraint int_eq(x[249], x[265]);
constraint int_eq(x[250], x[279]);
constraint int_eq(x[251], x[266]);
constraint int_eq(x[252], x[280]);
constraint int_eq(x[253], x[281]);
constraint int_eq(x[254], x[295]);
constraint int_eq(x[255], x[282]);
constraint int_eq(x[256], x[296]);
constraint int_eq(x[257], x[283]);
constraint int_eq(x[258], x[297]);
constraint int_eq(x[259], x[284]);
constraint int_eq(x[260], x[298]);
constraint int_eq(x[261], x[285]);
constraint int_eq(x[262], x[299]);
constraint int_eq(x[263], x[286]);
constraint int_eq(x[264], x[300]);
constraint int_eq(x[265], x[287]);
constraint int_eq(x[266], x[301]);
constraint int_eq(x[267], x[288]);
constraint int_eq(x[268], x[302]);
constraint int_eq(x[269], x[289]);
constraint int_eq(x[270], x[303]);
constraint int_eq(x[271], x[290]);
constraint int_eq(x[272], x[304]);
constraint int_eq(x[273], x[291]);
constraint int_eq(x[274], x[305]);
constraint int_eq(x[275], x[292]);
constraint int_eq(x[276], x[306]);
constraint int_eq(x[277], x[293]);
constraint int_eq(x[278], x[307]);
constraint int_eq(x[279], x[294]);
constraint int_eq(x[280], x[308]);
constraint int_eq(x[281], x[309]);
constraint int_eq(x[282], x[323]);
constraint int_eq(x[283], x[310]);
constraint int_eq(x[284], x[324]);
constraint int_eq(x[285], x[311]);
constraint int_eq(x[286], x[325]);
constraint int_eq(x[287], x[312]);
constraint int_eq(x[288], x[326]);
constraint int_eq(x[289], x[313]);
constraint int_eq(x[290], x[327]);
constraint int_eq(x[291], x[314]);
constraint int_eq(x[292], x[328]);
constraint int_eq(x[293], x[315]);
constraint int_eq(x[294], x[329]);
constraint int_eq(x[295], x[316]);
constraint int_eq(x[296], x[330]);
constraint int_eq(x[297], x[317]);
constraint int_eq(x[298], x[331]);
constraint int_eq(x[299], x[318]);
constraint int_eq(x[300], x[332]);
constraint int_eq(x[301], x[319]);
constraint int_eq(x[302], x[333]);
constraint int_eq(x[303], x[320]);
constraint int_eq(x[304], x[334]);
constraint int_eq(x[305], x[321]);
constraint int_eq(x[306], x[335]);
constraint int_eq(x[307], x[322]);
constraint int_eq(x[308], x[336]);
constraint int_eq(x[309], x[337]);
constraint int_eq(x[310], x[351]);
constraint int_eq(x[311], x[338]);
constraint int_eq(x[312], x[352]);
constraint int_eq(x[313], x[339]);
constraint int_eq(x[314], x[353]);
constraint int_eq(x[315], x[340]);
constraint int_eq(x[316], x[354]);
constraint int_eq(x[317], x[341]);
constraint int_eq(x[318], x[355]);
constraint int_eq(x[319], x[342]);
constraint int_eq(x[320], x[356]);
constraint int_eq(x[321], x[343]);
constraint int_eq(x[322], x[357]);
constraint int_eq(x[323], x[344]);
constraint int_eq(x[324], x[358]);
constraint int_eq(x[325], x[345]);
constraint int_eq(x[326], x[359]);
constraint int_eq(x[327], x[346]);
constraint int_eq(x[328], x[360]);
constraint int_eq(x[329], x[347]);
constraint int_eq(x[330], x[361]);
constraint int_eq(x[331], x[348]);
constraint int_eq(x[332], x[362]);
constraint int_eq(x[333], x[349]);
constraint int_eq(x[334], x[363]);
constraint int_eq(x[335], x[350]);
constraint int_eq(x[336], x[364]);
constraint int_eq(x[337], x[365]);
constraint int_eq(x[338], x[379]);
constraint int_eq(x[339], x[366]);
constraint int_eq(x[340], x[380]);
constraint int_eq(x[341], x[367]);
constraint int_eq(x[342], x[381]);
constraint int_eq(x[343], x[368]);
constraint int_eq(x[344], x[382]);
constraint int_eq(x[345], x[369]);
constraint int_eq(x[346], x[383]);
constraint int_eq(x[347], x[370]);
constraint int_eq(x[348], x[384]);
constraint int_eq(x[349], x[371]);
constraint int_eq(x[350], x[385]);
constraint int_eq(x[351], x[372]);
constraint int_eq(x[352], x[386]);
constraint int_eq(x[353], x[373]);
constraint int_eq(x[354], x[387]);
constraint int_eq(x[355], x[374]);
constraint int_eq(x[356], x[388]);
constraint int_eq(x[357], x[375]);
constraint int_eq(x[358], x[389]);
constraint int_eq(x[359], x[376]);
constraint int_eq(x[360], x[390]);
constraint int_eq(x[361], x[377]);
constraint int_eq(x[362], x[391]);
constraint int_eq(x[363], x[378]);
constraint int_eq(x[364], x[392]);
constraint int_eq(x[365], x[393]);
constraint int_eq(x[366], x[407]);
constraint int_eq(x[367], x[394]);
constraint int_eq(x[368], x[408]);
constraint int_eq(x[369], x[395]);
constraint int_eq(x[370], x[409]);
constraint int_eq(x[371], x[396]);
constraint int_eq(x[372], x[410]);
constraint int_eq(x[373], x[397]);
constraint int_eq(x[374], x[411]);
constraint int_eq(x[375], x[398]);
constraint int_eq(x[376], x[412]);
constraint int_eq(x[377], x[399]);
constraint int_eq(x[378], x[413]);
constraint int_eq(x[379], x[400]);
constraint int_eq(x[380], x[414]);
constraint int_eq(x[381], x[401]);
constraint int_eq(x[382], x[415]);
constraint int_eq(x[383], x[402]);
constraint int_eq(x[384], x[416]);
constraint int_eq(x[385], x[403]);
constraint int_eq(x[386], x[417]);
constraint int_eq(x[387], x[404]);
constraint int_eq(x[388], x[418]);
constraint int_eq(x[389], x[405]);
constraint int_eq(x[390], x[419]);
constraint int_eq(x[391], x[406]);
constraint int_eq(x[392], x[420]);
constraint int_eq(x[393], x[421]);
constraint int_eq(x[394], x[435]);
constraint int_eq(x[395], x[422]);
constraint int_eq(x[396], x[436]);
constraint int_eq(x[397], x[423]);
constraint int_eq(x[398], x[437]);
constraint int_eq(x[399], x[424]);
constraint int_eq(x[400], x[438]);
constraint int_eq(x[401], x[425]);
constraint int_eq(x[402], x[439]);
constraint int_eq(x[403], x[426]);
constraint int_eq(x[404], x[440]);
constraint int_eq(x[405], x[427]);
constraint int_eq(x[406], x[441]);
constraint int_eq(x[407], x[428]);
constraint int_eq(x[408], x[442]);
constraint int_eq(x[409], x[429]);
constraint int_eq(x[410], x[443]);
constraint int_eq(x[411], x[430]);
constraint int_eq(x[412], x[444]);
constraint int_eq(x[413], x[431]);
constraint int_eq(x[414], x[445]);
constraint int_eq(x[415], x[432]);
constraint int_eq(x[416], x[446]);
constraint int_eq(x[417], x[433]);
constraint int_eq(x[418], x[447]);
constraint int_eq(x[419], x[434]);
constraint int_eq(x[420], x[448]);
constraint int_eq(x[421], x[449]);
constraint int_eq(x[422], x[463]);
constraint int_eq(x[423], x[450]);
constraint int_eq(x[424], x[464]);
constraint int_eq(x[425], x[451]);
constraint int_eq(x[426], x[465]);
constraint int_eq(x[427], x[452]);
constraint int_eq(x[428], x[466]);
constraint int_eq(x[429], x[453]);
constraint int_eq(x[430], x[467]);
constraint int_eq(x[431], x[454]);
constraint int_eq(x[432], x[468]);
constraint int_eq(x[433], x[455]);
constraint int_eq(x[434], x[469]);
constraint int_eq(x[435], x[456]);
constraint int_eq(x[436], x[470]);
constraint int_eq(x[437], x[457]);
constraint int_eq(x[438], x[471]);
constraint int_eq(x[439], x[458]);
constraint int_eq(x[440], x[472]);
constraint int_eq(x[441], x[459]);
constraint int_eq(x[442], x[473]);
constraint int_eq(x[443], x[460]);
constraint int_eq(x[444], x[474]);
constraint int_eq(x[445], x[461]);
constraint int_eq(x[446], x[475]);
constraint int_eq(x[447], x[462]);
constraint int_eq(x[448], x[476]);
constraint int_eq(x[449], x[477]);
constraint int_eq(x[450], x[491]);
constraint int_eq(x[451], x[478]);
constraint int_eq(x[452], x[492]);
constraint int_eq(x[453], x[479]);
constraint int_eq(x[454], x[493]);
constraint int_eq(x[455], x[480]);
constraint int_eq(x[456], x[494]);
constraint int_eq(x[457], x[481]);
constraint int_eq(x[458], x[495]);
constraint int_eq(x[459], x[482]);
constraint int_eq(x[460], x[496]);
constraint int_eq(x[461], x[483]);
constraint int_eq(x[462], x[497]);
constraint int_eq(x[463], x[484]);
constraint int_eq(x[464], x[498]);
constraint int_eq(x[465], x[485]);
constraint int_eq(x[466], x[499]);
constraint int_eq(x[467], x[486]);
constraint int_eq(x[468], x[500]);
constraint int_eq(x[469], x[487]);
constraint int_eq(x[470], x[501]);
constraint int_eq(x[471], x[488]);
constraint int_eq(x[472], x[502]);
constraint int_eq(x[473], x[489]);
constraint int_eq(x[474], x[503]);
constraint int_eq(x[475], x[490]);
constraint int_eq(x[476], x[504]);
constraint int_eq(x[477], 1);
constraint int_eq(x[477], x[505]);
constraint int_eq(x[478], 2);
constraint int_eq(x[478], x[519]);
constraint int_eq(x[479], 3);
constraint int_eq(x[479], x[506]);
constraint int_eq(x[480], 4);
constraint int_eq(x[480], x[520]);
constraint int_eq(x[481], 5);
constraint int_eq(x[481], x[507]);
constraint int_eq(x[482], 6);
constraint int_eq(x[482], x[521]);
constraint int_eq(x[483], 7);
constraint int_eq(x[483], x[508]);
constraint int_eq(x[484], 8);
constraint int_eq(x[484], x[522]);
constraint int_eq(x[485], 9);
constraint int_eq(x[485], x[509]);
constraint int_eq(x[486], 10);
constraint int_eq(x[486], x[523]);
constraint int_eq(x[487], 11);
constraint int_eq(x[487], x[510]);
constraint int_eq(x[488], 12);
constraint int_eq(x[488], x[524]);
constraint int_eq(x[489], 13);
constraint int_eq(x[489], x[511]);
constraint int_eq(x[490], 14);
constraint int_eq(x[490], x[525]);
constraint int_eq(x[491], 15);
constraint int_eq(x[491], x[512]);
constraint int_eq(x[492], 16);
constraint int_eq(x[492], x[526]);
constraint int_eq(x[493], 17);
constraint int_eq(x[493], x[513]);
constraint int_eq(x[494], 18);
constraint int_eq(x[494], x[527]);
constraint int_eq(x[495], 19);
constraint int_eq(x[495], x[514]);
constraint int_eq(x[496], 20);
constraint int_eq(x[496], x[528]);
constraint int_eq(x[497], 21);
constraint int_eq(x[497], x[515]);
constraint int_eq(x[498], 22);
constraint int_eq(x[498], x[529]);
constraint int_eq(x[499], 23);
constraint int_eq(x[499], x[516]);
constraint int_eq(x[500], 24);
constraint int_eq(x[500], x[530]);
constraint int_eq(x[501], 25);
constraint int_eq(x[501], x[517]);
constraint int_eq(x[502], 26);
constraint int_eq(x[502], x[531]);
constraint int_eq(x[503], 27);
constraint int_eq(x[503], x[518]);
constraint int_eq(x[504], 28);
constraint int_eq(x[504], x[532]);
constraint int_eq(x[505], x[533]);
constraint int_eq(x[506], x[547]);
constraint int_eq(x[507], x[534]);
constraint int_eq(x[508], x[548]);
constraint int_eq(x[509], x[535]);
constraint int_eq(x[510], x[549]);
constraint int_eq(x[511], x[536]);
constraint int_eq(x[512], x[550]);
constraint int_eq(x[513], x[537]);
constraint int_eq(x[514], x[551]);
constraint int_eq(x[515], x[538]);
constraint int_eq(x[516], x[552]);
constraint int_eq(x[517], x[539]);
constraint int_eq(x[518], x[553]);
constraint int_eq(x[519], x[540]);
constraint int_eq(x[520], x[554]);
constraint int_eq(x[521], x[541]);
constraint int_eq(x[522], x[555]);
constraint int_eq(x[523], x[542]);
constraint int_eq(x[524], x[556]);
constraint int_eq(x[525], x[543]);
constraint int_eq(x[526], x[557]);
constraint int_eq(x[527], x[544]);
constraint int_eq(x[528], x[558]);
constraint int_eq(x[529], x[545]);
constraint int_eq(x[530], x[559]);
constraint int_eq(x[531], x[546]);
constraint int_eq(x[532], x[560]);
constraint int_eq(x[533], x[561]);
constraint int_eq(x[534], x[575]);
constraint int_eq(x[535], x[562]);
constraint int_eq(x[536], x[576]);
constraint int_eq(x[537], x[563]);
constraint int_eq(x[538], x[577]);
constraint int_eq(x[539], x[564]);
constraint int_eq(x[540], x[578]);
constraint int_eq(x[541], x[565]);
constraint int_eq(x[542], x[579]);
constraint int_eq(x[543], x[566]);
constraint int_eq(x[544], x[580]);
constraint int_eq(x[545], x[567]);
constraint int_eq(x[546], x[581]);
constraint int_eq(x[547], x[568]);
constraint int_eq(x[548], x[582]);
constraint int_eq(x[549], x[569]);
constraint int_eq(x[550], x[583]);
constraint int_eq(x[551], x[570]);
constraint int_eq(x[552], x[584]);
constraint int_eq(x[553], x[571]);
constraint int_eq(x[554], x[585]);
constraint int_eq(x[555], x[572]);
constraint int_eq(x[556], x[586]);
constraint int_eq(x[557], x[573]);
constraint int_eq(x[558], x[587]);
constraint int_eq(x[559], x[574]);
constraint int_eq(x[560], x[588]);
constraint int_eq(x[561], x[589]);
constraint int_eq(x[562], x[603]);
constraint int_eq(x[563], x[590]);
constraint int_eq(x[564], x[604]);
constraint int_eq(x[565], x[591]);
constraint int_eq(x[566], x[605]);
constraint int_eq(x[567], x[592]);
constraint int_eq(x[568], x[606]);
constraint int_eq(x[569], x[593]);
constraint int_eq(x[570], x[607]);
constraint int_eq(x[571], x[594]);
constraint int_eq(x[572], x[608]);
constraint int_eq(x[573], x[595]);
constraint int_eq(x[574], x[609]);
constraint int_eq(x[575], x[596]);
constraint int_eq(x[576], x[610]);
constraint int_eq(x[577], x[597]);
constraint int_eq(x[578], x[611]);
constraint int_eq(x[579], x[598]);
constraint int_eq(x[580], x[612]);
constraint int_eq(x[581], x[599]);
constraint int_eq(x[582], x[613]);
constraint int_eq(x[583], x[600]);
constraint int_eq(x[584], x[614]);
constraint int_eq(x[585], x[601]);
constraint int_eq(x[586], x[615]);
constraint int_eq(x[587], x[602]);
constraint int_eq(x[588], x[616]);
constraint int_eq(x[589], x[617]);
constraint int_eq(x[590], x[631]);
constraint int_eq(x[591], x[618]);
constraint int_eq(x[592], x[632]);
constraint int_eq(x[593], x[619]);
constraint int_eq(x[594], x[633]);
constraint int_eq(x[595], x[620]);
constraint int_eq(x[596], x[634]);
constraint int_eq(x[597], x[621]);
constraint int_eq(x[598], x[635]);
constraint int_eq(x[599], x[622]);
constraint int_eq(x[600], x[636]);
constraint int_eq(x[601], x[623]);
constraint int_eq(x[602], x[637]);
constraint int_eq(x[603], x[624]);
constraint int_eq(x[604], x[638]);
constraint int_eq(x[605], x[625]);
constraint int_eq(x[606], x[639]);
constraint int_eq(x[607], x[626]);
constraint int_eq(x[608], x[640]);
constraint int_eq(x[609], x[627]);
constraint int_eq(x[610], x[641]);
constraint int_eq(x[611], x[628]);
constraint int_eq(x[612], x[642]);
constraint int_eq(x[613], x[629]);
constraint int_eq(x[614], x[643]);
constraint int_eq(x[615], x[630]);
constraint int_eq(x[616], x[644]);
constraint int_eq(x[617], x[645]);
constraint int_eq(x[618], x[659]);
constraint int_eq(x[619], x[646]);
constraint int_eq(x[620], x[660]);
constraint int_eq(x[621], x[647]);
constraint int_eq(x[622], x[661]);
constraint int_eq(x[623], x[648]);
constraint int_eq(x[624], x[662]);
constraint int_eq(x[625], x[649]);
constraint int_eq(x[626], x[663]);
constraint int_eq(x[627], x[650]);
constraint int_eq(x[628], x[664]);
constraint int_eq(x[629], x[651]);
constraint int_eq(x[630], x[665]);
constraint int_eq(x[631], x[652]);
constraint int_eq(x[632], x[666]);
constraint int_eq(x[633], x[653]);
constraint int_eq(x[634], x[667]);
constraint int_eq(x[635], x[654]);
constraint int_eq(x[636], x[668]);
constraint int_eq(x[637], x[655]);
constraint int_eq(x[638], x[669]);
constraint int_eq(x[639], x[656]);
constraint int_eq(x[640], x[670]);
constraint int_eq(x[641], x[657]);
constraint int_eq(x[642], x[671]);
constraint int_eq(x[643], x[658]);
constraint int_eq(x[644], x[672]);
constraint int_eq(x[645], x[673]);
constraint int_eq(x[646], x[687]);
constraint int_eq(x[647], x[674]);
constraint int_eq(x[648], x[688]);
constraint int_eq(x[649], x[675]);
constraint int_eq(x[650], x[689]);
constraint int_eq(x[651], x[676]);
constraint int_eq(x[652], x[690]);
constraint int_eq(x[653], x[677]);
constraint int_eq(x[654], x[691]);
constraint int_eq(x[655], x[678]);
constraint int_eq(x[656], x[692]);
constraint int_eq(x[657], x[679]);
constraint int_eq(x[658], x[693]);
constraint int_eq(x[659], x[680]);
constraint int_eq(x[660], x[694]);
constraint int_eq(x[661], x[681]);
constraint int_eq(x[662], x[695]);
constraint int_eq(x[663], x[682]);
constraint int_eq(x[664], x[696]);
constraint int_eq(x[665], x[683]);
constraint int_eq(x[666], x[697]);
constraint int_eq(x[667], x[684]);
constraint int_eq(x[668], x[698]);
constraint int_eq(x[669], x[685]);
constraint int_eq(x[670], x[699]);
constraint int_eq(x[671], x[686]);
constraint int_eq(x[672], x[700]);
constraint int_eq(x[673], x[701]);
constraint int_eq(x[674], x[715]);
constraint int_eq(x[675], x[702]);
constraint int_eq(x[676], x[716]);
constraint int_eq(x[677], x[703]);
constraint int_eq(x[678], x[717]);
constraint int_eq(x[679], x[704]);
constraint int_eq(x[680], x[718]);
constraint int_eq(x[681], x[705]);
constraint int_eq(x[682], x[719]);
constraint int_eq(x[683], x[706]);
constraint int_eq(x[684], x[720]);
constraint int_eq(x[685], x[707]);
constraint int_eq(x[686], x[721]);
constraint int_eq(x[687], x[708]);
constraint int_eq(x[688], x[722]);
constraint int_eq(x[689], x[709]);
constraint int_eq(x[690], x[723]);
constraint int_eq(x[691], x[710]);
constraint int_eq(x[692], x[724]);
constraint int_eq(x[693], x[711]);
constraint int_eq(x[694], x[725]);
constraint int_eq(x[695], x[712]);
constraint int_eq(x[696], x[726]);
constraint int_eq(x[697], x[713]);
constraint int_eq(x[698], x[727]);
constraint int_eq(x[699], x[714]);
constraint int_eq(x[700], x[728]);
constraint int_eq(x[701], x[729]);
constraint int_eq(x[702], x[743]);
constraint int_eq(x[703], x[730]);
constraint int_eq(x[704], x[744]);
constraint int_eq(x[705], x[731]);
constraint int_eq(x[706], x[745]);
constraint int_eq(x[707], x[732]);
constraint int_eq(x[708], x[746]);
constraint int_eq(x[709], x[733]);
constraint int_eq(x[710], x[747]);
constraint int_eq(x[711], x[734]);
constraint int_eq(x[712], x[748]);
constraint int_eq(x[713], x[735]);
constraint int_eq(x[714], x[749]);
constraint int_eq(x[715], x[736]);
constraint int_eq(x[716], x[750]);
constraint int_eq(x[717], x[737]);
constraint int_eq(x[718], x[751]);
constraint int_eq(x[719], x[738]);
constraint int_eq(x[720], x[752]);
constraint int_eq(x[721], x[739]);
constraint int_eq(x[722], x[753]);
constraint int_eq(x[723], x[740]);
constraint int_eq(x[724], x[754]);
constraint int_eq(x[725], x[741]);
constraint int_eq(x[726], x[755]);
constraint int_eq(x[727], x[742]);
constraint int_eq(x[728], x[756]);
constraint int_eq(x[729], x[757]);
constraint int_eq(x[730], x[771]);
constraint int_eq(x[731], x[758]);
constraint int_eq(x[732], x[772]);
constraint int_eq(x[733], x[759]);
constraint int_eq(x[734], x[773]);
constraint int_eq(x[735], x[760]);
constraint int_eq(x[736], x[774]);
constraint int_eq(x[737], x[761]);
constraint int_eq(x[738], x[775]);
constraint int_eq(x[739], x[762]);
constraint int_eq(x[740], x[776]);
constraint int_eq(x[741], x[763]);
constraint int_eq(x[742], x[777]);
constraint int_eq(x[743], x[764]);
constraint int_eq(x[744], x[778]);
constraint int_eq(x[745], x[765]);
constraint int_eq(x[746], x[779]);
constraint int_eq(x[747], x[766]);
constraint int_eq(x[748], x[780]);
constraint int_eq(x[749], x[767]);
constraint int_eq(x[750], x[781]);
constraint int_eq(x[751], x[768]);
constraint int_eq(x[752], x[782]);
constraint int_eq(x[753], x[769]);
constraint int_eq(x[754], x[783]);
constraint int_eq(x[755], x[770]);
constraint int_eq(x[756], x[784]);
solve satisfy;