module shift(
    input logic [9:0] peak_index,
    output logic [5:0] shift_factor
);

    assign shift_factor = shift_table[peak_index];

    logic [5:0] shift_table [0:1023];
    initial begin
        shift_table[0] = 0;
        shift_table[1] = 1;
        shift_table[2] = 1;
        shift_table[3] = 1;
        shift_table[4] = 1;
        shift_table[5] = 1;
        shift_table[6] = 1;
        shift_table[7] = 1;
        shift_table[8] = 1;
        shift_table[9] = 1;
        shift_table[10] = 1;
        shift_table[11] = 1;
        shift_table[12] = 1;
        shift_table[13] = 1;
        shift_table[14] = 1;
        shift_table[15] = 1;
        shift_table[16] = 1;
        shift_table[17] = 2;
        shift_table[18] = 2;
        shift_table[19] = 2;
        shift_table[20] = 2;
        shift_table[21] = 2;
        shift_table[22] = 2;
        shift_table[23] = 2;
        shift_table[24] = 2;
        shift_table[25] = 2;
        shift_table[26] = 2;
        shift_table[27] = 2;
        shift_table[28] = 2;
        shift_table[29] = 2;
        shift_table[30] = 2;
        shift_table[31] = 2;
        shift_table[32] = 2;
        shift_table[33] = 2;
        shift_table[34] = 3;
        shift_table[35] = 3;
        shift_table[36] = 3;
        shift_table[37] = 3;
        shift_table[38] = 3;
        shift_table[39] = 3;
        shift_table[40] = 3;
        shift_table[41] = 3;
        shift_table[42] = 3;
        shift_table[43] = 3;
        shift_table[44] = 3;
        shift_table[45] = 3;
        shift_table[46] = 3;
        shift_table[47] = 3;
        shift_table[48] = 3;
        shift_table[49] = 3;
        shift_table[50] = 3;
        shift_table[51] = 4;
        shift_table[52] = 4;
        shift_table[53] = 4;
        shift_table[54] = 4;
        shift_table[55] = 4;
        shift_table[56] = 4;
        shift_table[57] = 4;
        shift_table[58] = 4;
        shift_table[59] = 4;
        shift_table[60] = 4;
        shift_table[61] = 4;
        shift_table[62] = 4;
        shift_table[63] = 4;
        shift_table[64] = 4;
        shift_table[65] = 4;
        shift_table[66] = 4;
        shift_table[67] = 4;
        shift_table[68] = 5;
        shift_table[69] = 5;
        shift_table[70] = 5;
        shift_table[71] = 5;
        shift_table[72] = 5;
        shift_table[73] = 5;
        shift_table[74] = 5;
        shift_table[75] = 5;
        shift_table[76] = 5;
        shift_table[77] = 5;
        shift_table[78] = 5;
        shift_table[79] = 5;
        shift_table[80] = 5;
        shift_table[81] = 5;
        shift_table[82] = 5;
        shift_table[83] = 5;
        shift_table[84] = 5;
        shift_table[85] = 6;
        shift_table[86] = 6;
        shift_table[87] = 6;
        shift_table[88] = 6;
        shift_table[89] = 6;
        shift_table[90] = 6;
        shift_table[91] = 6;
        shift_table[92] = 6;
        shift_table[93] = 6;
        shift_table[94] = 6;
        shift_table[95] = 6;
        shift_table[96] = 6;
        shift_table[97] = 6;
        shift_table[98] = 6;
        shift_table[99] = 6;
        shift_table[100] = 6;
        shift_table[101] = 7;
        shift_table[102] = 7;
        shift_table[103] = 7;
        shift_table[104] = 7;
        shift_table[105] = 7;
        shift_table[106] = 7;
        shift_table[107] = 7;
        shift_table[108] = 7;
        shift_table[109] = 7;
        shift_table[110] = 7;
        shift_table[111] = 7;
        shift_table[112] = 7;
        shift_table[113] = 7;
        shift_table[114] = 7;
        shift_table[115] = 7;
        shift_table[116] = 7;
        shift_table[117] = 7;
        shift_table[118] = 8;
        shift_table[119] = 8;
        shift_table[120] = 8;
        shift_table[121] = 8;
        shift_table[122] = 8;
        shift_table[123] = 8;
        shift_table[124] = 8;
        shift_table[125] = 8;
        shift_table[126] = 8;
        shift_table[127] = 8;
        shift_table[128] = 8;
        shift_table[129] = 8;
        shift_table[130] = 8;
        shift_table[131] = 8;
        shift_table[132] = 8;
        shift_table[133] = 8;
        shift_table[134] = 8;
        shift_table[135] = 9;
        shift_table[136] = 9;
        shift_table[137] = 9;
        shift_table[138] = 9;
        shift_table[139] = 9;
        shift_table[140] = 9;
        shift_table[141] = 9;
        shift_table[142] = 9;
        shift_table[143] = 9;
        shift_table[144] = 9;
        shift_table[145] = 9;
        shift_table[146] = 9;
        shift_table[147] = 9;
        shift_table[148] = 9;
        shift_table[149] = 9;
        shift_table[150] = 9;
        shift_table[151] = 9;
        shift_table[152] = 10;
        shift_table[153] = 10;
        shift_table[154] = 10;
        shift_table[155] = 10;
        shift_table[156] = 10;
        shift_table[157] = 10;
        shift_table[158] = 10;
        shift_table[159] = 10;
        shift_table[160] = 10;
        shift_table[161] = 10;
        shift_table[162] = 10;
        shift_table[163] = 10;
        shift_table[164] = 10;
        shift_table[165] = 10;
        shift_table[166] = 10;
        shift_table[167] = 10;
        shift_table[168] = 10;
        shift_table[169] = 11;
        shift_table[170] = 11;
        shift_table[171] = 11;
        shift_table[172] = 11;
        shift_table[173] = 11;
        shift_table[174] = 11;
        shift_table[175] = 11;
        shift_table[176] = 11;
        shift_table[177] = 11;
        shift_table[178] = 11;
        shift_table[179] = 11;
        shift_table[180] = 11;
        shift_table[181] = 11;
        shift_table[182] = 11;
        shift_table[183] = 11;
        shift_table[184] = 11;
        shift_table[185] = 12;
        shift_table[186] = 12;
        shift_table[187] = 12;
        shift_table[188] = 12;
        shift_table[189] = 12;
        shift_table[190] = 12;
        shift_table[191] = 12;
        shift_table[192] = 12;
        shift_table[193] = 12;
        shift_table[194] = 12;
        shift_table[195] = 12;
        shift_table[196] = 12;
        shift_table[197] = 12;
        shift_table[198] = 12;
        shift_table[199] = 12;
        shift_table[200] = 12;
        shift_table[201] = 12;
        shift_table[202] = 13;
        shift_table[203] = 13;
        shift_table[204] = 13;
        shift_table[205] = 13;
        shift_table[206] = 13;
        shift_table[207] = 13;
        shift_table[208] = 13;
        shift_table[209] = 13;
        shift_table[210] = 13;
        shift_table[211] = 13;
        shift_table[212] = 13;
        shift_table[213] = 13;
        shift_table[214] = 13;
        shift_table[215] = 13;
        shift_table[216] = 13;
        shift_table[217] = 13;
        shift_table[218] = 13;
        shift_table[219] = 14;
        shift_table[220] = 14;
        shift_table[221] = 14;
        shift_table[222] = 14;
        shift_table[223] = 14;
        shift_table[224] = 14;
        shift_table[225] = 14;
        shift_table[226] = 14;
        shift_table[227] = 14;
        shift_table[228] = 14;
        shift_table[229] = 14;
        shift_table[230] = 14;
        shift_table[231] = 14;
        shift_table[232] = 14;
        shift_table[233] = 14;
        shift_table[234] = 14;
        shift_table[235] = 14;
        shift_table[236] = 15;
        shift_table[237] = 15;
        shift_table[238] = 15;
        shift_table[239] = 15;
        shift_table[240] = 15;
        shift_table[241] = 15;
        shift_table[242] = 15;
        shift_table[243] = 15;
        shift_table[244] = 15;
        shift_table[245] = 15;
        shift_table[246] = 15;
        shift_table[247] = 15;
        shift_table[248] = 15;
        shift_table[249] = 15;
        shift_table[250] = 15;
        shift_table[251] = 15;
        shift_table[252] = 15;
        shift_table[253] = 16;
        shift_table[254] = 16;
        shift_table[255] = 16;
        shift_table[256] = 16;
        shift_table[257] = 16;
        shift_table[258] = 16;
        shift_table[259] = 16;
        shift_table[260] = 16;
        shift_table[261] = 16;
        shift_table[262] = 16;
        shift_table[263] = 16;
        shift_table[264] = 16;
        shift_table[265] = 16;
        shift_table[266] = 16;
        shift_table[267] = 16;
        shift_table[268] = 16;
        shift_table[269] = 16;
        shift_table[270] = 17;
        shift_table[271] = 17;
        shift_table[272] = 17;
        shift_table[273] = 17;
        shift_table[274] = 17;
        shift_table[275] = 17;
        shift_table[276] = 17;
        shift_table[277] = 17;
        shift_table[278] = 17;
        shift_table[279] = 17;
        shift_table[280] = 17;
        shift_table[281] = 17;
        shift_table[282] = 17;
        shift_table[283] = 17;
        shift_table[284] = 17;
        shift_table[285] = 17;
        shift_table[286] = 18;
        shift_table[287] = 18;
        shift_table[288] = 18;
        shift_table[289] = 18;
        shift_table[290] = 18;
        shift_table[291] = 18;
        shift_table[292] = 18;
        shift_table[293] = 18;
        shift_table[294] = 18;
        shift_table[295] = 18;
        shift_table[296] = 18;
        shift_table[297] = 18;
        shift_table[298] = 18;
        shift_table[299] = 18;
        shift_table[300] = 18;
        shift_table[301] = 18;
        shift_table[302] = 18;
        shift_table[303] = 19;
        shift_table[304] = 19;
        shift_table[305] = 19;
        shift_table[306] = 19;
        shift_table[307] = 19;
        shift_table[308] = 19;
        shift_table[309] = 19;
        shift_table[310] = 19;
        shift_table[311] = 19;
        shift_table[312] = 19;
        shift_table[313] = 19;
        shift_table[314] = 19;
        shift_table[315] = 19;
        shift_table[316] = 19;
        shift_table[317] = 19;
        shift_table[318] = 19;
        shift_table[319] = 19;
        shift_table[320] = 20;
        shift_table[321] = 20;
        shift_table[322] = 20;
        shift_table[323] = 20;
        shift_table[324] = 20;
        shift_table[325] = 20;
        shift_table[326] = 20;
        shift_table[327] = 20;
        shift_table[328] = 20;
        shift_table[329] = 20;
        shift_table[330] = 20;
        shift_table[331] = 20;
        shift_table[332] = 20;
        shift_table[333] = 20;
        shift_table[334] = 20;
        shift_table[335] = 20;
        shift_table[336] = 20;
        shift_table[337] = 21;
        shift_table[338] = 21;
        shift_table[339] = 21;
        shift_table[340] = 21;
        shift_table[341] = 21;
        shift_table[342] = 21;
        shift_table[343] = 21;
        shift_table[344] = 21;
        shift_table[345] = 21;
        shift_table[346] = 21;
        shift_table[347] = 21;
        shift_table[348] = 21;
        shift_table[349] = 21;
        shift_table[350] = 21;
        shift_table[351] = 21;
        shift_table[352] = 21;
        shift_table[353] = 21;
        shift_table[354] = 22;
        shift_table[355] = 22;
        shift_table[356] = 22;
        shift_table[357] = 22;
        shift_table[358] = 22;
        shift_table[359] = 22;
        shift_table[360] = 22;
        shift_table[361] = 22;
        shift_table[362] = 22;
        shift_table[363] = 22;
        shift_table[364] = 22;
        shift_table[365] = 22;
        shift_table[366] = 22;
        shift_table[367] = 22;
        shift_table[368] = 22;
        shift_table[369] = 22;
        shift_table[370] = 23;
        shift_table[371] = 23;
        shift_table[372] = 23;
        shift_table[373] = 23;
        shift_table[374] = 23;
        shift_table[375] = 23;
        shift_table[376] = 23;
        shift_table[377] = 23;
        shift_table[378] = 23;
        shift_table[379] = 23;
        shift_table[380] = 23;
        shift_table[381] = 23;
        shift_table[382] = 23;
        shift_table[383] = 23;
        shift_table[384] = 23;
        shift_table[385] = 23;
        shift_table[386] = 23;
        shift_table[387] = 24;
        shift_table[388] = 24;
        shift_table[389] = 24;
        shift_table[390] = 24;
        shift_table[391] = 24;
        shift_table[392] = 24;
        shift_table[393] = 24;
        shift_table[394] = 24;
        shift_table[395] = 24;
        shift_table[396] = 24;
        shift_table[397] = 24;
        shift_table[398] = 24;
        shift_table[399] = 24;
        shift_table[400] = 24;
        shift_table[401] = 24;
        shift_table[402] = 24;
        shift_table[403] = 24;
        shift_table[404] = 25;
        shift_table[405] = 25;
        shift_table[406] = 25;
        shift_table[407] = 25;
        shift_table[408] = 25;
        shift_table[409] = 25;
        shift_table[410] = 25;
        shift_table[411] = 25;
        shift_table[412] = 25;
        shift_table[413] = 25;
        shift_table[414] = 25;
        shift_table[415] = 25;
        shift_table[416] = 25;
        shift_table[417] = 25;
        shift_table[418] = 25;
        shift_table[419] = 25;
        shift_table[420] = 25;
        shift_table[421] = 26;
        shift_table[422] = 26;
        shift_table[423] = 26;
        shift_table[424] = 26;
        shift_table[425] = 26;
        shift_table[426] = 26;
        shift_table[427] = 26;
        shift_table[428] = 26;
        shift_table[429] = 26;
        shift_table[430] = 26;
        shift_table[431] = 26;
        shift_table[432] = 26;
        shift_table[433] = 26;
        shift_table[434] = 26;
        shift_table[435] = 26;
        shift_table[436] = 26;
        shift_table[437] = 26;
        shift_table[438] = 27;
        shift_table[439] = 27;
        shift_table[440] = 27;
        shift_table[441] = 27;
        shift_table[442] = 27;
        shift_table[443] = 27;
        shift_table[444] = 27;
        shift_table[445] = 27;
        shift_table[446] = 27;
        shift_table[447] = 27;
        shift_table[448] = 27;
        shift_table[449] = 27;
        shift_table[450] = 27;
        shift_table[451] = 27;
        shift_table[452] = 27;
        shift_table[453] = 27;
        shift_table[454] = 27;
        shift_table[455] = 28;
        shift_table[456] = 28;
        shift_table[457] = 28;
        shift_table[458] = 28;
        shift_table[459] = 28;
        shift_table[460] = 28;
        shift_table[461] = 28;
        shift_table[462] = 28;
        shift_table[463] = 28;
        shift_table[464] = 28;
        shift_table[465] = 28;
        shift_table[466] = 28;
        shift_table[467] = 28;
        shift_table[468] = 28;
        shift_table[469] = 28;
        shift_table[470] = 28;
        shift_table[471] = 29;
        shift_table[472] = 29;
        shift_table[473] = 29;
        shift_table[474] = 29;
        shift_table[475] = 29;
        shift_table[476] = 29;
        shift_table[477] = 29;
        shift_table[478] = 29;
        shift_table[479] = 29;
        shift_table[480] = 29;
        shift_table[481] = 29;
        shift_table[482] = 29;
        shift_table[483] = 29;
        shift_table[484] = 29;
        shift_table[485] = 29;
        shift_table[486] = 29;
        shift_table[487] = 29;
        shift_table[488] = 30;
        shift_table[489] = 30;
        shift_table[490] = 30;
        shift_table[491] = 30;
        shift_table[492] = 30;
        shift_table[493] = 30;
        shift_table[494] = 30;
        shift_table[495] = 30;
        shift_table[496] = 30;
        shift_table[497] = 30;
        shift_table[498] = 30;
        shift_table[499] = 30;
        shift_table[500] = 30;
        shift_table[501] = 30;
        shift_table[502] = 30;
        shift_table[503] = 30;
        shift_table[504] = 30;
        shift_table[505] = 31;
        shift_table[506] = 31;
        shift_table[507] = 31;
        shift_table[508] = 31;
        shift_table[509] = 31;
        shift_table[510] = 31;
        shift_table[511] = 31;
        shift_table[512] = 31;
        shift_table[513] = 31;
        shift_table[514] = 31;
        shift_table[515] = 31;
        shift_table[516] = 31;
        shift_table[517] = 31;
        shift_table[518] = 31;
        shift_table[519] = 31;
        shift_table[520] = 31;
        shift_table[521] = 31;
        shift_table[522] = 32;
        shift_table[523] = 32;
        shift_table[524] = 32;
        shift_table[525] = 32;
        shift_table[526] = 32;
        shift_table[527] = 32;
        shift_table[528] = 32;
        shift_table[529] = 32;
        shift_table[530] = 32;
        shift_table[531] = 32;
        shift_table[532] = 32;
        shift_table[533] = 32;
        shift_table[534] = 32;
        shift_table[535] = 32;
        shift_table[536] = 32;
        shift_table[537] = 32;
        shift_table[538] = 32;
        shift_table[539] = 33;
        shift_table[540] = 33;
        shift_table[541] = 33;
        shift_table[542] = 33;
        shift_table[543] = 33;
        shift_table[544] = 33;
        shift_table[545] = 33;
        shift_table[546] = 33;
        shift_table[547] = 33;
        shift_table[548] = 33;
        shift_table[549] = 33;
        shift_table[550] = 33;
        shift_table[551] = 33;
        shift_table[552] = 33;
        shift_table[553] = 33;
        shift_table[554] = 33;
        shift_table[555] = 34;
        shift_table[556] = 34;
        shift_table[557] = 34;
        shift_table[558] = 34;
        shift_table[559] = 34;
        shift_table[560] = 34;
        shift_table[561] = 34;
        shift_table[562] = 34;
        shift_table[563] = 34;
        shift_table[564] = 34;
        shift_table[565] = 34;
        shift_table[566] = 34;
        shift_table[567] = 34;
        shift_table[568] = 34;
        shift_table[569] = 34;
        shift_table[570] = 34;
        shift_table[571] = 34;
        shift_table[572] = 35;
        shift_table[573] = 35;
        shift_table[574] = 35;
        shift_table[575] = 35;
        shift_table[576] = 35;
        shift_table[577] = 35;
        shift_table[578] = 35;
        shift_table[579] = 35;
        shift_table[580] = 35;
        shift_table[581] = 35;
        shift_table[582] = 35;
        shift_table[583] = 35;
        shift_table[584] = 35;
        shift_table[585] = 35;
        shift_table[586] = 35;
        shift_table[587] = 35;
        shift_table[588] = 35;
        shift_table[589] = 36;
        shift_table[590] = 36;
        shift_table[591] = 36;
        shift_table[592] = 36;
        shift_table[593] = 36;
        shift_table[594] = 36;
        shift_table[595] = 36;
        shift_table[596] = 36;
        shift_table[597] = 36;
        shift_table[598] = 36;
        shift_table[599] = 36;
        shift_table[600] = 36;
        shift_table[601] = 36;
        shift_table[602] = 36;
        shift_table[603] = 36;
        shift_table[604] = 36;
        shift_table[605] = 36;
        shift_table[606] = 37;
        shift_table[607] = 37;
        shift_table[608] = 37;
        shift_table[609] = 37;
        shift_table[610] = 37;
        shift_table[611] = 37;
        shift_table[612] = 37;
        shift_table[613] = 37;
        shift_table[614] = 37;
        shift_table[615] = 37;
        shift_table[616] = 37;
        shift_table[617] = 37;
        shift_table[618] = 37;
        shift_table[619] = 37;
        shift_table[620] = 37;
        shift_table[621] = 37;
        shift_table[622] = 37;
        shift_table[623] = 38;
        shift_table[624] = 38;
        shift_table[625] = 38;
        shift_table[626] = 38;
        shift_table[627] = 38;
        shift_table[628] = 38;
        shift_table[629] = 38;
        shift_table[630] = 38;
        shift_table[631] = 38;
        shift_table[632] = 38;
        shift_table[633] = 38;
        shift_table[634] = 38;
        shift_table[635] = 38;
        shift_table[636] = 38;
        shift_table[637] = 38;
        shift_table[638] = 38;
        shift_table[639] = 38;
        shift_table[640] = 39;
        shift_table[641] = 39;
        shift_table[642] = 39;
        shift_table[643] = 39;
        shift_table[644] = 39;
        shift_table[645] = 39;
        shift_table[646] = 39;
        shift_table[647] = 39;
        shift_table[648] = 39;
        shift_table[649] = 39;
        shift_table[650] = 39;
        shift_table[651] = 39;
        shift_table[652] = 39;
        shift_table[653] = 39;
        shift_table[654] = 39;
        shift_table[655] = 39;
        shift_table[656] = 40;
        shift_table[657] = 40;
        shift_table[658] = 40;
        shift_table[659] = 40;
        shift_table[660] = 40;
        shift_table[661] = 40;
        shift_table[662] = 40;
        shift_table[663] = 40;
        shift_table[664] = 40;
        shift_table[665] = 40;
        shift_table[666] = 40;
        shift_table[667] = 40;
        shift_table[668] = 40;
        shift_table[669] = 40;
        shift_table[670] = 40;
        shift_table[671] = 40;
        shift_table[672] = 40;
        shift_table[673] = 41;
        shift_table[674] = 41;
        shift_table[675] = 41;
        shift_table[676] = 41;
        shift_table[677] = 41;
        shift_table[678] = 41;
        shift_table[679] = 41;
        shift_table[680] = 41;
        shift_table[681] = 41;
        shift_table[682] = 41;
        shift_table[683] = 41;
        shift_table[684] = 41;
        shift_table[685] = 41;
        shift_table[686] = 41;
        shift_table[687] = 41;
        shift_table[688] = 41;
        shift_table[689] = 41;
        shift_table[690] = 42;
        shift_table[691] = 42;
        shift_table[692] = 42;
        shift_table[693] = 42;
        shift_table[694] = 42;
        shift_table[695] = 42;
        shift_table[696] = 42;
        shift_table[697] = 42;
        shift_table[698] = 42;
        shift_table[699] = 42;
        shift_table[700] = 42;
        shift_table[701] = 42;
        shift_table[702] = 42;
        shift_table[703] = 42;
        shift_table[704] = 42;
        shift_table[705] = 42;
        shift_table[706] = 42;
        shift_table[707] = 43;
        shift_table[708] = 43;
        shift_table[709] = 43;
        shift_table[710] = 43;
        shift_table[711] = 43;
        shift_table[712] = 43;
        shift_table[713] = 43;
        shift_table[714] = 43;
        shift_table[715] = 43;
        shift_table[716] = 43;
        shift_table[717] = 43;
        shift_table[718] = 43;
        shift_table[719] = 43;
        shift_table[720] = 43;
        shift_table[721] = 43;
        shift_table[722] = 43;
        shift_table[723] = 43;
        shift_table[724] = 44;
        shift_table[725] = 44;
        shift_table[726] = 44;
        shift_table[727] = 44;
        shift_table[728] = 44;
        shift_table[729] = 44;
        shift_table[730] = 44;
        shift_table[731] = 44;
        shift_table[732] = 44;
        shift_table[733] = 44;
        shift_table[734] = 44;
        shift_table[735] = 44;
        shift_table[736] = 44;
        shift_table[737] = 44;
        shift_table[738] = 44;
        shift_table[739] = 44;
        shift_table[740] = 45;
        shift_table[741] = 45;
        shift_table[742] = 45;
        shift_table[743] = 45;
        shift_table[744] = 45;
        shift_table[745] = 45;
        shift_table[746] = 45;
        shift_table[747] = 45;
        shift_table[748] = 45;
        shift_table[749] = 45;
        shift_table[750] = 45;
        shift_table[751] = 45;
        shift_table[752] = 45;
        shift_table[753] = 45;
        shift_table[754] = 45;
        shift_table[755] = 45;
        shift_table[756] = 45;
        shift_table[757] = 46;
        shift_table[758] = 46;
        shift_table[759] = 46;
        shift_table[760] = 46;
        shift_table[761] = 46;
        shift_table[762] = 46;
        shift_table[763] = 46;
        shift_table[764] = 46;
        shift_table[765] = 46;
        shift_table[766] = 46;
        shift_table[767] = 46;
        shift_table[768] = 46;
        shift_table[769] = 46;
        shift_table[770] = 46;
        shift_table[771] = 46;
        shift_table[772] = 46;
        shift_table[773] = 46;
        shift_table[774] = 47;
        shift_table[775] = 47;
        shift_table[776] = 47;
        shift_table[777] = 47;
        shift_table[778] = 47;
        shift_table[779] = 47;
        shift_table[780] = 47;
        shift_table[781] = 47;
        shift_table[782] = 47;
        shift_table[783] = 47;
        shift_table[784] = 47;
        shift_table[785] = 47;
        shift_table[786] = 47;
        shift_table[787] = 47;
        shift_table[788] = 47;
        shift_table[789] = 47;
        shift_table[790] = 47;
        shift_table[791] = 48;
        shift_table[792] = 48;
        shift_table[793] = 48;
        shift_table[794] = 48;
        shift_table[795] = 48;
        shift_table[796] = 48;
        shift_table[797] = 48;
        shift_table[798] = 48;
        shift_table[799] = 48;
        shift_table[800] = 48;
        shift_table[801] = 48;
        shift_table[802] = 48;
        shift_table[803] = 48;
        shift_table[804] = 48;
        shift_table[805] = 48;
        shift_table[806] = 48;
        shift_table[807] = 48;
        shift_table[808] = 49;
        shift_table[809] = 49;
        shift_table[810] = 49;
        shift_table[811] = 49;
        shift_table[812] = 49;
        shift_table[813] = 49;
        shift_table[814] = 49;
        shift_table[815] = 49;
        shift_table[816] = 49;
        shift_table[817] = 49;
        shift_table[818] = 49;
        shift_table[819] = 49;
        shift_table[820] = 49;
        shift_table[821] = 49;
        shift_table[822] = 49;
        shift_table[823] = 49;
        shift_table[824] = 49;
        shift_table[825] = 50;
        shift_table[826] = 50;
        shift_table[827] = 50;
        shift_table[828] = 50;
        shift_table[829] = 50;
        shift_table[830] = 50;
        shift_table[831] = 50;
        shift_table[832] = 50;
        shift_table[833] = 50;
        shift_table[834] = 50;
        shift_table[835] = 50;
        shift_table[836] = 50;
        shift_table[837] = 50;
        shift_table[838] = 50;
        shift_table[839] = 50;
        shift_table[840] = 50;
        shift_table[841] = 51;
        shift_table[842] = 51;
        shift_table[843] = 51;
        shift_table[844] = 51;
        shift_table[845] = 51;
        shift_table[846] = 51;
        shift_table[847] = 51;
        shift_table[848] = 51;
        shift_table[849] = 51;
        shift_table[850] = 51;
        shift_table[851] = 51;
        shift_table[852] = 51;
        shift_table[853] = 51;
        shift_table[854] = 51;
        shift_table[855] = 51;
        shift_table[856] = 51;
        shift_table[857] = 51;
        shift_table[858] = 52;
        shift_table[859] = 52;
        shift_table[860] = 52;
        shift_table[861] = 52;
        shift_table[862] = 52;
        shift_table[863] = 52;
        shift_table[864] = 52;
        shift_table[865] = 52;
        shift_table[866] = 52;
        shift_table[867] = 52;
        shift_table[868] = 52;
        shift_table[869] = 52;
        shift_table[870] = 52;
        shift_table[871] = 52;
        shift_table[872] = 52;
        shift_table[873] = 52;
        shift_table[874] = 52;
        shift_table[875] = 53;
        shift_table[876] = 53;
        shift_table[877] = 53;
        shift_table[878] = 53;
        shift_table[879] = 53;
        shift_table[880] = 53;
        shift_table[881] = 53;
        shift_table[882] = 53;
        shift_table[883] = 53;
        shift_table[884] = 53;
        shift_table[885] = 53;
        shift_table[886] = 53;
        shift_table[887] = 53;
        shift_table[888] = 53;
        shift_table[889] = 53;
        shift_table[890] = 53;
        shift_table[891] = 53;
        shift_table[892] = 54;
        shift_table[893] = 54;
        shift_table[894] = 54;
        shift_table[895] = 54;
        shift_table[896] = 54;
        shift_table[897] = 54;
        shift_table[898] = 54;
        shift_table[899] = 54;
        shift_table[900] = 54;
        shift_table[901] = 54;
        shift_table[902] = 54;
        shift_table[903] = 54;
        shift_table[904] = 54;
        shift_table[905] = 54;
        shift_table[906] = 54;
        shift_table[907] = 54;
        shift_table[908] = 54;
        shift_table[909] = 55;
        shift_table[910] = 55;
        shift_table[911] = 55;
        shift_table[912] = 55;
        shift_table[913] = 55;
        shift_table[914] = 55;
        shift_table[915] = 55;
        shift_table[916] = 55;
        shift_table[917] = 55;
        shift_table[918] = 55;
        shift_table[919] = 55;
        shift_table[920] = 55;
        shift_table[921] = 55;
        shift_table[922] = 55;
        shift_table[923] = 55;
        shift_table[924] = 55;
        shift_table[925] = 56;
        shift_table[926] = 56;
        shift_table[927] = 56;
        shift_table[928] = 56;
        shift_table[929] = 56;
        shift_table[930] = 56;
        shift_table[931] = 56;
        shift_table[932] = 56;
        shift_table[933] = 56;
        shift_table[934] = 56;
        shift_table[935] = 56;
        shift_table[936] = 56;
        shift_table[937] = 56;
        shift_table[938] = 56;
        shift_table[939] = 56;
        shift_table[940] = 56;
        shift_table[941] = 56;
        shift_table[942] = 57;
        shift_table[943] = 57;
        shift_table[944] = 57;
        shift_table[945] = 57;
        shift_table[946] = 57;
        shift_table[947] = 57;
        shift_table[948] = 57;
        shift_table[949] = 57;
        shift_table[950] = 57;
        shift_table[951] = 57;
        shift_table[952] = 57;
        shift_table[953] = 57;
        shift_table[954] = 57;
        shift_table[955] = 57;
        shift_table[956] = 57;
        shift_table[957] = 57;
        shift_table[958] = 57;
        shift_table[959] = 58;
        shift_table[960] = 58;
        shift_table[961] = 58;
        shift_table[962] = 58;
        shift_table[963] = 58;
        shift_table[964] = 58;
        shift_table[965] = 58;
        shift_table[966] = 57;
        shift_table[967] = 56;
        shift_table[968] = 55;
        shift_table[969] = 54;
        shift_table[970] = 53;
        shift_table[971] = 52;
        shift_table[972] = 51;
        shift_table[973] = 50;
        shift_table[974] = 49;
        shift_table[975] = 48;
        shift_table[976] = 47;
        shift_table[977] = 46;
        shift_table[978] = 45;
        shift_table[979] = 44;
        shift_table[980] = 43;
        shift_table[981] = 42;
        shift_table[982] = 41;
        shift_table[983] = 40;
        shift_table[984] = 39;
        shift_table[985] = 38;
        shift_table[986] = 37;
        shift_table[987] = 36;
        shift_table[988] = 35;
        shift_table[989] = 34;
        shift_table[990] = 33;
        shift_table[991] = 32;
        shift_table[992] = 31;
        shift_table[993] = 30;
        shift_table[994] = 29;
        shift_table[995] = 28;
        shift_table[996] = 27;
        shift_table[997] = 26;
        shift_table[998] = 25;
        shift_table[999] = 24;
        shift_table[1000] = 23;
        shift_table[1001] = 22;
        shift_table[1002] = 21;
        shift_table[1003] = 20;
        shift_table[1004] = 19;
        shift_table[1005] = 18;
        shift_table[1006] = 17;
        shift_table[1007] = 16;
        shift_table[1008] = 15;
        shift_table[1009] = 14;
        shift_table[1010] = 13;
        shift_table[1011] = 12;
        shift_table[1012] = 11;
        shift_table[1013] = 10;
        shift_table[1014] = 9;
        shift_table[1015] = 8;
        shift_table[1016] = 7;
        shift_table[1017] = 6;
        shift_table[1018] = 5;
        shift_table[1019] = 4;
        shift_table[1020] = 3;
        shift_table[1021] = 2;
        shift_table[1022] = 1;
        shift_table[1023] = 0;

    end

endmodule 
