/********************************************************************************************* 程序名: SPEAKER32 編寫人: 杜洋 編寫時間: 2011年11月24日 硬件支持: STC12C5A32S2 12MHz 接口說明: ADC0輸入8位的音頻,用PWM0(P1.3)輸出,P0接口音量顯示 修改日志: 1-201101020129 技術可行性實驗:實現了音頻播放,采樣8000,8位。 2-201111242332 光敏控制及發聲綜合調試初步完成。 3-201111270003 加入空閑模式,功耗從平時15mA降到9mA,調試完成。 V1 4-201111301151 整理源程序并加入細致注釋 /********************************************************************************************* 說明: 【功率測量】啟動空閑模式后,平時:9mA,語音時:64mA 只可以使用8位音頻數據表文件。 音頻轉換和處理的方法請參考《SPEAKER32音頻數據生成方法》視頻教程。 /*********************************************************************************************/ //【自定義設置選項】 #define SPEED 65 //語速(在12MHz時設置為70最佳,值越小語速越快) #define X2 2 //音頻播放倍速(默認值2,增加/減少時音頻速度整倍加/減) #define LMAX 2 //觸發靈敏度(默認值5,值越小越靈敏) #define A_DA 7854 //音頻數據字節的數量,即音頻文件的行數。最大值不得大于65535 //(如果有較長的音頻需要播放可以分段處理,每段字節數不大于65535)// #define DL_F 500 //音頻播放前的延時(單位:mS)。最大值不得大于65535 #define DL_A 500 //音頻播放后的延時(單位:mS)。最大值不得大于65535 /*********************************************************************************************/ #include<STC12C5A60S2.H> //頭文件 #include <intrins.h> //51基本運算(包括_nop_空函數) #include <string.h> sbit AD_G = P1 ^ 6;//光敏電阻接口(只適用ADC接口) sbit PWM = P1 ^ 3;//音頻輸出接口(只適用PWM接口) sbit LED = P3 ^ 6;//狀態指示LED燈 正極 sbit LEDG = P3 ^ 7;//狀態指示LED燈 負極 unsigned char menu=0;//菜單值 unsigned char code wav[];//音頻數據表聲明 /*********************************************************************************************/ void DELAY_MS (unsigned int a){//毫秒級CPU延時函數 unsigned int i; while( --a != 0){ for(i = 0; i < 600; i++); } } /*********************************************************************************************/ void DELAY_NS (unsigned char a){//用于音頻延時 unsigned int i; while( --a != 0){ for(i = 0; i < SPEED; i++); } } /**********************************************************************************************/ void PWM_init (void){//PWM初始化函數 CMOD=0x02; //設置PCA定時器 CL=0x00; CH=0x00; CCAPM0=0x42; //PWM0設置PCA工作方式為PWM方式(0100 0010) CCAP0L=0x00; //設置PWM0初始值與CCAP0H相同 CCAP0H=0x00; // PWM0初始時為0 CR=1; //啟動PCA定時器 } /**********************************************************************************************/ void PWM0_set (unsigned char a){//PWM0占空比設置函數 CCAP0L= a; //設置值直接寫入CCAP0L CCAP0H= a; //設置值直接寫入CCAP0H } /**********************************************************************************************/ void Read_init (unsigned char CHA){//8位A/D轉換初始化函數 unsigned char AD_FIN=0; //存儲A/D轉換標志 CHA &= 0x07; //選擇ADC的8個接口中的一個(0000 0111 清0高5位) ADC_CONTR = 0x40; //ADC轉換的速度(0XX0 0000 其中XX控制速度,請根據數據手冊設置) _nop_(); ADC_CONTR |= CHA; //選擇A/D當前通道 _nop_(); ADC_CONTR |= 0x80; //啟動A/D電源 DELAY_MS(1); //使輸入電壓達到穩定(1ms即可) } /**********************************************************************************************/ void ADC_Read (void){//8位A/D轉換函數 unsigned char AD_FIN=0; //存儲A/D轉換標志 ADC_CONTR |= 0x08; //啟動A/D轉換(0000 1000 令ADCS = 1) _nop_();//空指令,用于延時 _nop_(); _nop_(); _nop_(); while (AD_FIN ==0){ //等待A/D轉換結束 AD_FIN = (ADC_CONTR & 0x10); //0001 0000測試A/D轉換結束否 } ADC_CONTR &= 0xE7; //1111 0111 清ADC_FLAG位, 關閉A/D轉換, } /**********************************************************************************************/ void T_C_init (void){//定時/計數器初始化函數 TMOD = 0x11; //高4位控制T/C1 [ GATE,C/T,M1,M0,GATE,C/T,M1,M0 ] EA = 1; //中斷總開關 TH0 = 0; //16位計數寄存器T0高8位 TL0 = 0; //16位計數寄存器T0低8位 ET0 = 1; //T/C0中斷開關 TR0 = 1; //T/C0啟動開關 } /**********************************************************************************************/ void SP1 (void){//音頻播放函數 unsigned int a; CR=1; //啟動PCA定時器 LEDG = 0;//LED燈開 PWM0_set(128);//設置PWM到中間值,即音頻波形的基礎電平。 DELAY_MS (DL_F);//播放前延時 for(a=0;a<A_DA;a++){ //音頻播放數據長度(杜洋工作室=20029) DELAY_NS (X2);//播放數據間隔,即可調整音頻速度和音調 PWM0_set(wav[a]); //設置PWM占空比 } DELAY_MS (DL_A);//播放后延時 LEDG=1;//LED燈關 PWM0_set(0); //設置PWM占空比 CR=0; //啟動PCA定時器 PWM = 0;//PWM關閉前清0 } /**********************************************************************************************/ void main (void){//主函數 unsigned char ADH1,ADH2; //存儲A/D轉換標志 P3M0 = 0xFF;//狀態指示LED接口強推設置 Read_init(7);//ADC初始化 AD_G = 0;//光敏接口就緒 PWM = 0;//PWM啟動前準備 PWM_init(); //PWM初始化 T_C_init();//定時時初始 while(1){ if(menu == 0){//進入空閑模式程序塊(使用空閑模式以減小功耗) PCON = 0x01;//進入空閑模式 _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();//空指令幫助進入空閑模式 _nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); } if(menu == 1){//進入空閑模式程序塊 PCON = 0x01;//進入空閑模式 _nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); } if(menu == 2){//進入空閑模式程序塊 PCON = 0x01;//進入空閑模式 _nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); } if(menu == 3){//第1集光線強度采樣 TR0 = 0; //T/C0啟動開關 ADC_Read ();//ADC數據讀取 ADH1 = ADC_RES;//將第1次采樣數據送入寄存器 TR0 = 1; //T/C0啟動開關 PCON = 0x01;//進入空閑模式 _nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); } if(menu == 4){//進入空閑模式程序塊 PCON = 0x01;//進入空閑模式 _nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); } if(menu == 5){//進入空閑模式程序塊 PCON = 0x01;//進入空閑模式 _nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); } if(menu == 6){//第2次光線強度采集及處理 TR0 = 0; //T/C0啟動開關 ADC_Read (); ADH2 = ADC_RES;//將第2次采樣數據送入寄存器 if(ADH1>ADH2){//判斷光線是變弱 ADH1=ADH1-ADH2;//計算光線變化的差值 if(ADH1 > LMAX){//如果差值大于預設值 SP1();//則啟動語音播放 } }else{//判斷光線是變強 ADH1=ADH2-ADH1;//計算光線變化的差值 if(ADH1 > LMAX){//如果差值大于預設值 SP1();//則啟動語音播放 } } TR0 = 1; //T/C0啟動開關 PCON = 0x01;//進入空閑模式 _nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); } } } /**********************************************************************************************/ void T_C0 (void) interrupt 1 using 1{ //定時/計數器0中斷處理函數 TH0 = 0; //16位計數寄存器T0高8位(重新寫入初值) TL0 = 0; //16位計數寄存器T0低8位(0 = 65mS延時) menu++;//喚醒后,菜單間切換 if(menu>6){//溢出后處理 menu=0;//菜單歸0 } } /**********************************************************************************************/ /************************************************************* * 杜洋工作室 www.DoYoung.net /*************************************************************/ /*welcom.c*/ unsigned char code wav[] = { // ASCII 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 127, 127, 127, 128, 127, 128, 127, 128, 127, 127, 128, 127, 128, 127, 128, 127, 120, 120, 128, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 119, 120, 119, 120, 113, 120, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 120, 113, 120, 119, 120, 120, 120, 120, 120, 120, 119, 120, 119, 128, 119, 128, 119, 128, 127, 128, 127, 128, 127, 128, 127, 128, 128, 135, 134, 127, 135, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 135, 141, 134, 135, 134, 135, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 140, 134, 142, 139, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 135, 133, 127, 128, 126, 118, 123, 136, 132, 127, 127, 128, 127, 129, 135, 123, 124, 135, 125, 129, 108, 93 , 124, 133, 124, 118, 123, 130, 137, 128, 121, 129, 127, 125, 118, 121, 119, 123, 130, 122, 124, 125, 118, 121, 119, 120, 120, 120, 120, 119, 121, 116, 112, 113, 113, 113, 114, 109, 105, 107, 106, 103, 97 , 106, 101, 103, 108, 104, 112, 112, 119, 119, 126, 132, 141, 140, 147, 147, 154, 155, 155, 155, 155, 155, 155, 155, 155, 155, 148, 148, 148, 141, 141, 134, 134, 127, 128, 118, 113, 112, 105, 98 , 90 , 84 , 77 , 70 , 62 , 67 , 80 , 79 , 100, 113, 116, 131, 137, 153, 154, 171, 170, 164, 168, 161, 159, 153, 153, 143, 140, 142, 136, 138, 142, 140, 145, 154, 154, 160, 167, 175, 176, 176, 176, 176, 170, 169, 169, 162, 162, 155, 148, 148, 141, 134, 126, 119, 111, 98 , 89 , 67 , 54 , 29 , 38 , 54 , 34 , 62 , 73 , 85 , 94 , 110, 140, 140, 164, 157, 152, 168, 150, 149, 146, 155, 139, 132, 131, 118, 134, 121, 119, 127, 120, 113, 113, 113, 113, 113, 114, 121, 120, 132, 141, 144, 159, 162, 163, 177, 181, 174, 178, 171, 166, 152, 143, 132, 116, 103, 87 , 67 , 44 , 31 , 4 , 4 , 4 , 30 , 20 , 54 , 91 , 70 , 101, 116, 133, 147, 171, 159, 162, 164, 148, 148, 152, 148, 128, 133, 129, 127, 128, 127, 128, 127, 127, 112, 121, 119, 121, 119, 122, 128, 128, 143, 163, 173, 179, 191, 203, 203, 209, 212, 210, 212, 192, 176, 169, 146, 117, 104, 80 , 58 , 28 , 11 , 0 , 15 , 31 , 13 , 55 , 94 , 88 , 112, 142, 162, 167, 197, 183, 184, 180, 154, 165, 169, 154, 131, 147, 130, 136, 138, 138, 142, 142, 130, 127, 134, 128, 119, 120, 112, 114, 122, 130, 151, 175, 176, 195, 209, 211, 214, 226, 213, 205, 184, 163, 147, 125, 95 , 75 , 47 , 13 , 3 , 4 , 3 , 10 , 12 , 5 , 89 , 84 , 87 , 133, 148, 155, 173, 171, 157, 167, 137, 138, 144, 145, 115, 125, 116, 112, 119, 128, 127, 128, 116, 106, 116, 107, 98 , 101, 95 , 90 , 102, 117, 144, 169, 183, 198, 199, 212, 212, 216, 209, 190, 166, 150, 121, 90 , 66 , 31 , 3 , 4 , 3 , 3 , 12 , 0 , 45 , 102, 90 , 114, 145, 170, 174, 197, 168, 178, 161, 141, 152, 154, 137, 127, 144, 128, 139, 141, 148, 147, 139, 127, 137, 128, 116, 114, 131, 130, 132, 146, 168, 183, 200, 220, 226, 224, 229, 230, 217, 196, 179, 153, 115, 84 , 61 , 29 , 1 , 5 , 3 , 3 , 4 , 26 , 115, 94 , 113, 155, 183, 171, 210, 174, 177, 157, 131, 145, 155, 131, 113, 135, 126, 127, 133, 153, 142, 140, 121, 126, 121, 106, 100, 122, 107, 117, 137, 156, 175, 186, 201, 218, 210, 212, 209, 190, 162, 148, 116, 79 , 54 , 7 , 4 , 3 , 4 , 4 , 2 , 17 , 75 , 84 , 93 , 129, 171, 147, 185, 155, 152, 136, 118, 121, 141, 115, 103, 119, 120, 120, 131, 143, 138, 132, 121, 121, 114, 101, 100, 119, 98 , 131, 142, 159, 178, 193, 209, 217, 211, 211, 199, 176, 152, 130, 83 , 58 , 13 , 4 , 2 , 7 , 23 , 0 , 48 , 116, 112, 109, 162, 183, 172, 197, 168, 162, 143, 133, 139, 148, 130, 120, 142, 140, 142, 157, 173, 159, 149, 147, 142, 134, 131, 123, 146, 138, 149, 173, 203, 203, 226, 231, 224, 213, 198, 179, 150, 118, 94 , 56 , 12 , 4 , 2 , 12 , 16 , 10 , 119, 131, 114, 146, 202, 183, 186, 175, 161, 139, 121, 119, 135, 123, 102, 118, 139, 128, 136, 160, 155, 134, 135, 134, 120, 120, 147, 142, 146, 155, 163, 180, 201, 193, 210, 209, 174, 156, 141, 109, 64 , 37 , 12 , 2 , 4 , 3 , 4 , 4 , 60 , 126, 100, 107, 174, 173, 170, 155, 148, 123, 112, 104, 112, 121, 94 , 103, 126, 134, 120, 149, 153, 137, 121, 124, 130, 119, 135, 136, 149, 152, 167, 181, 209, 211, 211, 210, 189, 149, 127, 106, 60 , 21 , 2 , 3 , 10 , 32 , 0 , 54 , 132, 142, 125, 183, 202, 180, 184, 165, 144, 120, 128, 119, 143, 130, 121, 137, 165, 149, 164, 176, 162, 139, 134, 139, 148, 134, 139, 151, 169, 169, 188, 220, 230, 225, 217, 190, 150, 134, 92 , 48 , 10 , 6 , 0 , 41 , 29 , 21 , 121, 171, 133, 151, 213, 191, 170, 163, 139, 110, 105, 96 , 114, 136, 119, 110, 156, 167, 152, 164, 173, 147, 118, 135, 132, 148, 116, 132, 155, 162, 162, 185, 218, 209, 186, 158, 148, 106, 71 , 22 , 5 , 3 , 3 , 8 , 10 , 32 , 122, 174, 130, 155, 182, 180, 154, 129, 98 , 89 , 94 , 72 , 95 , 120, 109, 111, 150, 165, 161, 163, 154, 137, 119, 118, 134, 151, 142, 140, 170, 190, 192, 201, 220, 218, 166, 130, 120, 86 , 26 , 1 , 6 , 0 , 32 , 42 , 41 , 135, 186, 153, 147, 191, 182, 157, 138, 89 , 88 , 102, 90 , 100, 137, 143, 133, 164, 183, 182, 171, 169, 144, 128, 121, 120, 136, 159, 162, 169, 203, 211, 216, 231, 230, 196, 156, 124, 95 , 48 , 7 , 3 , 3 , 9 , 42 , 51 , 125, 226, 199, 170, 176, 183, 174, 142, 78 , 57 , 99 , 108, 100, 132, 160, 160, 173, 184, 182, 177, 162, 122, 108, 112, 123, 137, 140, 169, 175, 198, 199, 212, 214, 208, 173, 131, 101, 53 , 31 , 0 , 7 , 0 , 24 , 74 , 78 , 119, 206, 207, 185, 142, 130, 125, 123, 59 , 11 , 52 , 105, 108, 125, 149, 162, 177, 180, 158, 145, 150, 113, 91 , 103, 135, 141, 160, 173, 189, 190, 195, 203, 205, 196, 164, 104, 73 , 55 , 12 , 3 , 3 , 4 , 8 , 74 , 116, 156, 223, 230, 185, 153, 111, 108, 139, 83 , 36 , 62 , 117, 156, 171, 176, 164, 186, 195, 180, 149, 136, 150, 154, 176, 167, 163, 177, 201, 173, 192, 187, 222, 220, 185, 131, 74 , 80 , 50 , 18 , 0 , 6 , 0 , 51 , 139, 146, 209, 217, 212, 160, 122, 93 , 136, 135, 104, 69 , 99 , 145, 190, 193, 176, 153, 193, 197, 203, 188, 188, 177, 170, 157, 133, 136, 165, 197, 194, 182, 165, 161, 162, 129, 80 , 53 , 40 , 6 , 5 , 2 , 4 , 10 , 103, 131, 163, 167, 170, 130, 129, 87 , 81 , 111, 123, 97 , 102, 101, 153, 176, 173, 149, 155, 187, 200, 186, 164, 140, 135, 142, 139, 129, 138, 168, 163, 155, 139, 134, 136, 124, 101, 63 , 51 , 42 , 19 , 2 , 3 , 6 , 0 , 48 , 102, 135, 140, 141, 130, 109, 98 , 99 , 110, 133, 134, 129, 134, 140, 153, 164, 176, 175, 183, 183, 181, 172, 151, 154, 148, 162, 161, 163, 162, 160, 153, 156, 149, 147, 141, 126, 116, 105, 101, 81 , 69 , 45 , 29 , 2 , 5 , 13 , 46 , 87 , 122, 135, 134, 133, 118, 119, 125, 125, 143, 148, 155, 146, 151, 165, 172, 180, 183, 182, 177, 162, 162, 154, 152, 147, 148, 149, 141, 142, 141, 139, 134, 131, 128, 122, 114, 106, 98 , 82 , 77 , 66 , 61 , 45 , 32 , 3 , 4 , 5 , 20 , 44 , 81 , 89 , 105, 100, 92 , 89 , 89 , 104, 114, 126, 134, 134, 142, 140, 145, 146, 158, 157, 155, 148, 141, 133, 133, 129, 138, 143, 133, 136, 119, 128, 119, 132, 136, 124, 116, 99 , 100, 92 , 110, 99 , 88 , 77 , 59 , 46 , 21 , 15 , 17 , 24 , 38 , 64 , 87 , 105, 113, 98 , 103, 103, 103, 105, 116, 131, 155, 147, 149, 136, 141, 155, 179, 177, 176, 168, 162, 153, 157, 166, 154, 163, 153, 155, 149, 162, 155, 145, 152, 142, 155, 139, 135, 125, 130, 142, 149, 140, 114, 107, 82 , 78 , 80 , 86 , 88 , 93 , 90 , 106, 122, 134, 127, 122, 109, 120, 124, 154, 163, 170, 168, 157, 162, 175, 181, 183, 176, 167, 164, 170, 167, 150, 153, 155, 163, 160, 154, 138, 128, 140, 146, 149, 140, 124, 114, 119, 129, 133, 138, 107, 108, 99 , 126, 137, 120, 99 , 63 , 57 , 62 , 80 , 70 , 69 , 66 , 74 , 95 , 104, 108, 91 , 109, 108, 124, 139, 151, 141, 141, 135, 142, 142, 151, 141, 151, 155, 155, 140, 135, 130, 117, 128, 140, 137, 127, 128, 112, 122, 134, 138, 136, 121, 127, 127, 135, 124, 119, 124, 124, 118, 116, 99 , 107, 109, 119, 111, 88 , 77 , 67 , 77 , 107, 110, 114, 99 , 88 , 104, 119, 141, 146, 142, 137, 139, 152, 164, 176, 176, 175, 167, 163, 171, 168, 171, 163, 163, 162, 170, 169, 152, 144, 142, 148, 146, 163, 153, 151, 132, 143, 125, 140, 135, 141, 149, 154, 134, 125, 110, 109, 120, 113, 113, 95 , 84 , 88 , 93 , 87 , 84 , 92 , 100, 108, 115, 108, 111, 111, 126, 133, 142, 142, 147, 143, 147, 158, 167, 177, 161, 162, 145, 150, 147, 149, 143, 134, 135, 141, 132, 138, 124, 129, 131, 127, 128, 136, 130, 121, 113, 126, 110, 113, 105, 121, 111, 111, 96 , 99 , 86 , 93 , 54 , 79 , 42 , 63 , 56 , 68 , 82 , 92 , 107, 104, 109, 104, 110, 115, 130, 135, 134, 127, 121, 129, 141, 167, 186, 187, 163, 148, 142, 156, 171, 180, 181, 173, 158, 140, 149, 142, 157, 157, 160, 149, 147, 149, 140, 141, 142, 137, 138, 138, 128, 120, 113, 112, 105, 91 , 84 , 60 , 64 , 56 , 65 , 75 , 103, 117, 138, 130, 114, 126, 127, 131, 140, 148, 151, 153, 148, 155, 140, 158, 160, 167, 166, 184, 185, 183, 169, 163, 161, 179, 191, 192, 175, 163, 148, 142, 149, 158, 163, 159, 144, 141, 134, 128, 128, 127, 130, 116, 100, 89 , 71 , 71 , 48 , 39 , 15 , 17 , 17 , 39 , 68 , 115, 128, 134, 122, 101, 87 , 83 , 104, 127, 142, 141, 136, 126, 123, 119, 126, 135, 142, 147, 140, 141, 145, 152, 163, 161, 162, 157, 169, 162, 153, 148, 141, 149, 147, 154, 137, 132, 126, 128, 127, 127, 127, 118, 113, 95 , 68 , 55 , 34 , 9 , 4 , 4 , 2 , 27 , 93 , 144, 189, 172, 126, 73 , 55 , 67 , 114, 158, 177, 170, 148, 118, 111, 122, 136, 158, 150, 156, 133, 144, 139, 140, 152, 164, 195, 205, 204, 172, 147, 136, 158, 183, 217, 221, 200, 158, 132, 129, 137, 164, 162, 167, 128, 121, 88 , 78 , 42 , 21 , 0 , 8 , 0 , 24 , 95 , 221, 251, 214, 166, 46 , 44 , 25 , 114, 161, 209, 190, 151, 111, 100, 106, 137, 150, 154, 141, 126, 112, 115, 111, 129, 138, 154, 165, 156, 175, 153, 178, 145, 165, 146, 180, 174, 193, 176, 172, 140, 140, 129, 140, 138, 128, 115, 88 , 64 , 38 , 11 , 1 , 7 , 0 , 10 , 37 , 242, 245, 250, 182, 54 , 0 , 1 , 53 , 145, 231, 206, 162, 85 , 65 , 79 , 115, 140, 147, 124, 118, 99 , 105, 104, 118, 126, 134, 128, 132, 117, 121, 126, 162, 196, 226, 230, 203, 154, 133, 131, 167, 195, 218, 206, 175, 131, 106, 91 , 104, 106, 107, 73 , 33 , 0 , 6 , 3 , 1 , 72 , 248, 246, 255, 186, 8 , 9 , 0 , 71 , 215, 250, 246, 158, 88 , 77 , 118, 155, 154, 146, 102, 110, 117, 140, 151, 140, 143, 118, 120, 111, 114, 130, 133, 150, 162, 190, 181, 211, 199, 213, 178, 181, 149, 179, 173, 206, 198, 192, 152, 126, 101, 106, 106, 114, 100, 66 , 9 , 6 , 0 , 7 , 8 , 168, 255, 232, 255, 68 , 0 , 3 , 10 , 99 , 240, 243, 223, 120, 62 , 83 , 113, 121, 126, 79 , 85 , 87 , 132, 148, 149, 123, 110, 84 , 90 , 95 , 111, 113, 120, 120, 129, 126, 130, 119, 111, 115, 119, 143, 183, 228, 218, 213, 151, 108, 77 , 116, 152, 206, 220, 205, 154, 99 , 73 , 63 , 82 , 83 , 53 , 2 , 10 , 0 , 9 , 42 , 255, 237, 255, 217, 49 , 0 , 7 , 7 , 177, 255, 247, 234, 123, 85 , 105, 141, 151, 133, 91 , 86 , 111, 147, 189, 191, 172, 132, 87 , 82 , 86 , 113, 132, 155, 154, 155, 144, 140, 124, 124, 128, 134, 148, 148, 148, 147, 155, 179, 220, 232, 216, 167, 127, 120, 140, 181, 224, 217, 204, 147, 112, 86 , 87 , 99 , 92 , 77 , 7 , 6 , 1 , 4 , 24 , 196, 255, 240, 254, 46 , 5 , 6 , 0 , 102, 245, 252, 238, 169, 76 , 91 , 96 , 131, 121, 94 , 85 , 93 , 128, 171, 186, 169, 132, 81 , 50 , 50 , 71 , 121, 133, 157, 145, 131, 113, 99 , 86 , 101, 103, 118, 128, 137, 132, 136, 127, 123, 130, 136, 188, 171, 199, 139, 144, 104, 137, 147, 191, 180, 179, 134, 128, 95 , 113, 114, 120, 98 , 60 , 4 , 5 , 4 , 0 , 43 , 209, 255, 240, 255, 61 , 6 , 2 , 1 , 74 , 231, 254, 245, 189, 107, 107, 113, 133, 134, 98 , 86 , 78 , 120, 162, 203, 190, 162, 105, 73 , 57 , 76 , 120, 152, 176, 172, 160, 137, 120, 113, 122, 129, 140, 155, 149, 145, 132, 136, 135, 127, 161, 144, 228, 181, 220, 140, 153, 98 , 142, 134, 203, 190, 208, 144, 148, 98 , 120, 129, 143, 143, 116, 85 , 22 , 5 , 0 , 11 , 8 , 216, 252, 254, 247, 168, 0 , 15 , 0 , 36 , 152, 248, 250, 204, 125, 95 , 89 , 103, 106, 101, 70 , 72 , 76 , 129, 159, 184, 160, 130, 75 , 49 , 45 , 68 , 104, 135, 153, 149, 134, 116, 98 , 100, 101, 113, 112, 120, 113, 120, 120, 131, 122, 140, 144, 186, 160, 190, 133, 138, 106, 115, 129, 168, 176, 189, 157, 141, 109, 106, 110, 119, 120, 112, 96 , 58 , 13 , 5 , 0 , 7 , 64 , 253, 245, 251, 250, 94 , 0 , 10 , 1 , 80 , 200, 252, 249, 194, 125, 106, 96 , 128, 128, 121, 97 , 92 , 97 , 136, 170, 204, 189, 157, 99 , 69 , 45 , 84 , 114, 162, 177, 181, 153, 133, 108, 111, 119, 133, 141, 141, 140, 143, 136, 159, 169, 199, 181, 187, 141, 131, 116, 133, 156, 181, 192, 179, 155, 127, 112, 105, 111, 126, 134, 126, 108, 81 , 34 , 5 , 4 , 4 , 9 , 132, 255, 243, 255, 194, 27 , 0 , 4 , 7 , 92 , 210, 245, 234, 162, 117, 79 , 88 , 99 , 111, 94 , 86 , 69 , 78 , 111, 143, 171, 165, 134, 94 , 54 , 35 , 54 , 93 , 139, 157, 163, 140, 114, 88 , 85 , 91 , 117, 127, 130, 131, 112, 137, 144, 201, 176, 196, 135, 119, 101, 106, 149, 166, 202, 182, 166, 129, 107, 105, 117, 127, 135, 133, 124, 105, 72 , 34 , 3 , 6 , 3 , 44 , 151, 255, 243, 255, 202, 45 , 5 , 1 , 13 , 94 , 214, 247, 253, 183, 141, 94 , 99 , 114, 130, 126, 114, 101, 100, 115, 149, 175, 186, 168, 129, 90 , 64 , 73 , 99 , 149, 175, 176, 170, 137, 121, 105, 115, 124, 138, 147, 141, 148, 159, 192, 192, 198, 161, 136, 113, 110, 140, 169, 207, 203, 183, 139, 103, 89 , 98 , 114, 136, 148, 136, 116, 80 , 52 , 12 , 3 , 4 , 3 , 16 , 151, 249, 249, 251, 201, 60 , 1 , 6 , 0 , 46 , 162, 220, 232, 187, 132, 89 , 78 , 79 , 102, 106, 107, 90 , 85 , 88 , 107, 136, 154, 156, 136, 98 , 60 , 59 , 69 , 104, 139, 161, 156, 141, 110, 98 , 88 , 101, 111, 141, 137, 165, 163, 180, 166, 161, 141, 115, 117, 126, 153, 178, 196, 190, 159, 127, 102, 98 , 114, 123, 145, 149, 137, 117, 96 , 74 , 40 , 5 , 7 , 0 , 35 , 103, 232, 253, 252, 241, 142, 36 , 0 , 3 , 33 , 132, 212, 247, 230, 180, 134, 94 , 103, 111, 128, 127, 126, 108, 107, 111, 141, 160, 176, 167, 143, 109, 84 , 76 , 91 , 123, 153, 177, 174, 156, 131, 110, 106, 110, 134, 148, 164, 173, 183, 171, 162, 142, 136, 127, 134, 141, 167, 177, 179, 173, 143, 128, 104, 107, 109, 125, 132, 130, 121, 106, 83 , 68 , 51 , 23 , 1 , 6 , 0 , 55 , 136, 232, 248, 254, 190, 81 , 7 , 4 , 4 , 56 , 140, 209, 221, 195, 150, 101, 78 , 72 , 89 , 109, 122, 116, 101, 100, 99 , 116, 133, 151, 143, 135, 105, 87 , 71 , 81 , 106, 136, 156, 164, 153, 123, 106, 99 , 110, 123, 146, 161, 184, 169, 177, 145, 141, 124, 132, 141, 159, 174, 182, 175, 167, 147, 130, 124, 117, 132, 141, 148, 140, 140, 116, 103, 89 , 80 , 65 , 57 , 32 , 24 , 50 , 110, 186, 248, 249, 246, 164, 80 , 12 , 4 , 29 , 103, 170, 217, 231, 203, 161, 115, 88 , 89 , 104, 127, 141, 140, 130, 115, 113, 117, 132, 147, 155, 146, 127, 106, 93 , 97 , 109, 140, 155, 163, 150, 136, 119, 107, 106, 117, 129, 145, 150, 160, 156, 160, 142, 151, 117, 137, 118, 138, 139, 149, 153, 149, 135, 118, 112, 102, 101, 112, 112, 114, 106, 98 , 84 , 84 , 78 , 91 , 91 , 99 , 99 , 100, 99 , 99 , 103, 106, 111, 114, 113, 113, 106, 107, 106, 107, 106, 111, 114, 113, 112, 108, 111, 109, 113, 119, 119, 128, 127, 126, 119, 118, 111, 115, 111, 121, 131, 164, 172, 203, 192, 177, 156, 129, 114, 125, 130, 162, 186, 177, 186, 141, 129, 93 , 82 , 70 , 64 , 50 , 14 , 4 , 23 , 75 , 171, 250, 247, 255, 216, 129, 19 , 5 , 3 , 46 , 136, 219, 246, 250, 188, 142, 92 , 81 , 90 , 119, 150, 154, 156, 123, 112, 95 , 110, 131, 163, 176, 169, 145, 115, 94 , 82 , 97 , 121, 151, 169, 169, 159, 132, 116, 108, 111, 118, 134, 134, 134, 123, 109, 105, 111, 118, 133, 141, 148, 137, 122, 104, 99 , 99 , 105, 120, 128, 137, 139, 131, 119, 107, 106, 106, 106, 115, 120, 119, 121, 115, 107, 106, 113, 114, 121, 119, 120, 116, 106, 106, 106, 114, 114, 125, 128, 128, 122, 113, 113, 113, 112, 116, 120, 120, 119, 121, 113, 120, 111, 117, 120, 120, 120, 119, 128, 126, 120, 130, 122, 124, 128, 127, 128, 128, 127, 128, 127, 129, 125, 135, 139, 155, 151, 167, 155, 141, 137, 113, 129, 118, 138, 135, 151, 147, 144, 135, 128, 120, 119, 122, 128, 127, 127, 128, 120, 120, 120, 130, 136, 145, 148, 147, 148, 141, 133, 127, 127, 130, 139, 146, 149, 141, 141, 132, 127, 127, 128, 127, 128, 127, 127, 119, 120, 119, 120, 120, 120, 120, 120, 120, 120, 120, 120, 119, 120, 119, 128, 127, 128, 127, 128, 122, 119, 120, 113, 113, 113, 112, 117, 116, 112, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 111, 104, 111, 113, 113, 113, 120, 120, 118, 112, 114, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 112, 117, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 119, 122, 129, 126, 133, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 135, 130, 127, 127, 128, 127, 127, 130, 134, 136, 128, 134, 128, 135, 132, 129, 135, 134, 135, 134, 135, 134, 142, 141, 141, 141, 141, 141, 141, 141, 141, 142, 139, 133, 135, 134, 134, 134, 134, 134, 135, 131, 127, 128, 127, 127, 128, 127, 128, 127, 127, 128, 127, 128, 127, 127, 128, 126, 130, 120, 127, 120, 120, 119, 120, 119, 120, 119, 120, 120, 120, 112, 113, 113, 113, 113, 113, 113, 113, 113, 111, 106, 106, 107, 105, 113, 106, 114, 112, 114, 112, 115, 107, 112, 113, 113, 114, 119, 111, 118, 121, 114, 113, 113, 115, 119, 112, 114, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 114, 121, 119, 120, 119, 120, 119, 128, 127, 128, 127, 128, 128, 127, 128, 127, 135, 132, 127, 128, 127, 128, 127, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 127, 128, 127, 128, 127, 134, 134, 135, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 135, 134, 135, 127, 128, 127, 128, 126, 133, 129, 127, 127, 128, 128, 126, 117, 126, 127, 128, 120, 120, 119, 120, 120, 120, 120, 120, 120, 120, 120, 121, 116, 113, 111, 120, 112, 121, 111, 114, 114, 108, 112, 107, 113, 112, 114, 113, 111, 105, 106, 106, 106, 107, 106, 106, 107, 104, 113, 107, 113, 106, 107, 105, 107, 106, 105, 112, 113, 113, 113, 112, 105, 107, 105, 111, 113, 113, 120, 118, 112, 114, 112, 114, 112, 120, 120, 120, 120, 117, 111, 118, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 119, 123, 128, 128, 127, 128, 119, 120, 121, 129, 127, 128, 127, 127, 128, 127, 128, 127, 128, 128, 127, 128, 127, 127, 128, 127, 128, 127, 128, 127, 134, 134, 128, 134, 125, 132, 131, 125, 135, 127, 135, 126, 129, 127, 128, 127, 127, 128, 127, 128, 127, 128, 127, 128, 127, 127, 119, 121, 119, 124, 128, 127, 128, 128, 127, 128, 128, 127, 128, 127, 128, 120, 120, 119, 122, 129, 127, 128, 127, 128, 119, 120, 120, 120, 120, 119, 126, 128, 128, 126, 119, 120, 119, 125, 129, 127, 135, 127, 128, 128, 123, 120, 119, 127, 127, 128, 127, 127, 129, 121, 127, 120, 120, 120, 129, 126, 128, 127, 127, 128, 127, 128, 127, 127, 128, 126, 133, 134, 135, 134, 134, 135, 131, 131, 135, 134, 134, 134, 134, 135, 134, 135, 133, 141, 135, 135, 134, 134, 134, 133, 139, 141, 141, 134, 135, 132, 130, 134, 139, 136, 140, 141, 134, 134, 134, 134, 134, 135, 134, 141, 141, 141, 140, 142, 136, 135, 128, 128, 127, 135, 136, 142, 142, 136, 135, 128, 128, 127, 128, 127, 127, 128, 127, 128, 120, 120, 119, 121, 116, 113, 113, 119, 120, 113, 113, 113, 113, 114, 112, 114, 106, 114, 112, 113, 114, 109, 106, 101, 99 , 106, 108, 112, 120, 125, 119, 120, 120, 112, 115, 120, 119, 124, 128, 128, 127, 127, 119, 121, 117, 112, 114, 112, 119, 120, 112, 113, 113, 113, 113, 113, 113, 113, 120, 119, 121, 117, 112, 114, 107, 106, 114, 119, 114, 121, 119, 120, 120, 113, 113, 112, 115, 121, 118, 126, 128, 128, 127, 127, 118, 121, 118, 125, 128, 127, 127, 128, 127, 128, 127, 128, 127, 134, 134, 134, 134, 134, 134, 134, 134, 129, 127, 134, 128, 136, 134, 133, 140, 135, 134, 134, 135, 131, 131, 134, 140, 135, 141, 133, 136, 130, 132, 130, 132, 135, 135, 134, 135, 135, 131, 127, 127, 128, 127, 135, 127, 137, 131, 127, 128, 127, 128, 120, 129, 127, 128, 127, 128, 126, 129, 120, 128, 118, 121, 118, 122, 113, 120, 113, 113, 106, 115, 112, 114, 113, 113, 113, 112, 105, 107, 106, 107, 106, 107, 106, 106, 100, 108, 106, 106, 107, 106, 107, 99 , 107, 105, 107, 106, 106, 107, 105, 107, 100, 107, 109, 113, 118, 114, 119, 113, 107, 105, 108, 104, 113, 106, 119, 113, 121, 118, 121, 118, 122, 113, 119, 120, 128, 127, 128, 127, 128, 122, 118, 128, 127, 128, 128, 126, 130, 120, 127, 120, 128, 126, 130, 135, 134, 134, 134, 134, 134, 134, 133, 138, 138, 137, 142, 140, 141, 134, 134, 138, 138, 137, 142, 141, 141, 141, 139, 135, 130, 131, 134, 140, 141, 142, 141, 139, 134, 131, 127, 128, 127, 135, 142, 140, 142, 138, 130, 121, 120, 120, 121, 130, 137, 142, 140, 143, 128, 127, 118, 122, 117, 129, 130, 132, 135, 134, 133, 128, 125, 119, 120, 120, 119, 128, 127, 128, 127, 127, 128, 126, 129, 119, 128, 119, 130, 126, 129, 127, 128, 127, 134, 127, 137, 130, 127, 128, 128, 127, 128, 127, 127, 128, 126, 134, 128, 128, 119, 128, 117, 121, 119, 120, 120, 120, 120, 120, 120, 120, 119, 121, 115, 113, 113, 113, 112, 115, 120, 120, 119, 120, 113, 113, 113, 114, 112, 117, 121, 119, 120, 120, 119, 121, 115, 117, 115, 118, 120, 120, 118, 114, 121, 119, 120, 120, 120, 120, 129, 124, 122, 128, 129, 120, 127, 119, 121, 127, 128, 126, 130, 119, 128, 119, 128, 119, 130, 126, 129, 122, 119, 120, 113, 113, 113, 113, 112, 114, 112, 120, 120, 119, 112, 114, 113, 113, 113, 113, 113, 113, 114, 110, 105, 106, 106, 106, 106, 107, 114, 112, 113, 113, 113, 113, 113, 113, 112, 105, 107, 105, 112, 113, 113, 113, 112, 105, 107, 106, 106, 107, 106, 106, 108, 112, 105, 107, 106, 106, 106, 106, 100, 109, 102, 103, 107, 106, 106, 106, 106, 106, 109, 114, 113, 113, 113, 113, 113, 113, 113, 113, 112, 114, 112, 120, 113, 121, 120, 116, 116, 121, 120, 120, 120, 119, 120, 119, 121, 118, 127, 120, 120, 119, 118, 111, 118, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 117, 112, 114, 112, 113, 113, 120, 121, 129, 127, 128, 127, 127, 128, 127, 128, 127, 128, 127, 133, 135, 134, 134, 135, 132, 127, 127, 129, 120, 128, 127, 128, 127, 129, 123, 119, 121, 119, 120, 122, 125, 123, 123, 125, 121, 120, 119, 120, 111, 114, 113, 113, 113, 113, 113, 113, 114, 111, 105, 107, 105, 107, 99 , 106, 99 , 108, 105, 107, 106, 107, 99 , 100, 99 , 99 , 100, 99 , 101, 92 , 99 , 99 , 100, 99 , 100, 98 , 102, 91 , 100, 91 , 101, 98 , 101, 99 , 100, 99 , 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 108, 114, 113, 113, 113, 113, 113, 113, 113, 113, 113, 112, 118, 120, 120, 128, 127, 128, 127, 127, 128, 127, 128, 127, 127, 130, 134, 138, 142, 141, 141, 141, 141, 140, 145, 145, 140, 142, 141, 141, 135, 141, 132, 136, 133, 140, 141, 148, 147, 149, 145, 140, 141, 141, 141, 141, 141, 141, 140, 142, 136, 139, 141, 141, 141, 141, 140, 142, 137, 134, 135, 134, 134, 135, 134, 136, 129, 132, 135, 134, 134, 134, 126, 129, 123, 119, 120, 120, 120, 120, 119, 121, 115, 118, 120, 120, 113, 121, 119, 121, 118, 125, 128, 128, 120, 120, 118, 113, 112, 119, 114, 119, 120, 120, 119, 120, 119, 121, 114, 113, 113, 113, 114, 121, 119, 120, 120, 120, 120, 120, 120, 120, 120, 119, 120, 119, 127, 127, 128, 127, 129, 123, 119, 120, 120, 120, 121, 128, 127, 128, 127, 128, 127, 127, 128, 127, 128, 127, 128, 127, 134, 134, 135, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 135, 133, 140, 141, 141, 141, 141, 141, 141, 141, 142, 141, 148, 140, 142, 138, 134, 134, 135, 134, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 142, 140, 146, 143, 141, 141, 141, 139, 134, 134, 134, 134, 135, 134, 142, 141, 139, 134, 134, 136, 127, 135, 127, 136, 133, 135, 134, 135, 129, 127, 127, 120, 130, 123, 120, 119, 126, 128, 120, 120, 120, 120, 120, 119, 121, 113, 113, 113, 113, 113, 113, 109, 104, 113, 106, 114, 111, 106, 106, 106, 106, 106, 106, 106, 107, 114, 112, 114, 111, 120, 113, 121, 118, 123, 127, 131, 135, 134, 134, 134, 127, 128, 126, 129, 121, 121, 113, 113, 105, 97 , 90 , 77 , 67 , 48 , 31 , 3 , 5 , 0 , 28 , 88 , 158, 212, 232, 217, 171, 116, 69 , 47 , 56 , 90 , 123, 155, 162, 170, 158, 155, 157, 173, 181, 197, 189, 173, 158, 141, 133, 134, 139, 148, 155, 153, 147, 135, 121, 94 , 68 , 33 , 3 , 3 , 6 , 0 , 43 , 154, 240, 252, 251, 236, 120, 31 , 0 , 15 , 54 , 135, 169, 175, 149, 124, 101, 115, 137, 186, 204, 203, 175, 136, 113, 100, 112, 144, 169, 183, 191, 188, 180, 169, 152, 142, 129, 105, 89 , 76 , 63 , 40 , 9 , 4 , 3 , 4 , 17 , 144, 240, 249, 255, 194, 61 , 3 , 2 , 17 , 110, 176, 201, 158, 117, 85 , 96 , 146, 188, 209, 185, 134, 76 , 57 , 90 , 152, 196, 225, 214, 163, 149, 134, 144, 175, 188, 172, 158, 138, 122, 114, 97 , 75 , 49 , 15 , 2 , 4 , 3 , 42 , 188, 252, 251, 242, 160, 41 , 6 , 10 , 94 , 160, 184, 167, 125, 104, 139, 185, 232, 229, 176, 116, 80 , 90 , 119, 164, 203, 202, 181, 181, 175, 180, 212, 185, 184, 167, 177, 182, 207, 185, 156, 127, 85 , 87 , 82 , 63 , 20 , 0 , 10 , 19 , 202, 248, 253, 243, 130, 11 , 20 , 32 , 146, 176, 141, 90 , 92 , 128, 217, 252, 225, 147, 96 , 71 , 107, 157, 162, 133, 95 , 123, 133, 237, 222, 211, 164, 126, 142, 168, 194, 200, 175, 140, 143, 143, 138, 107, 84 , 35 , 11 , 4 , 1 , 6 , 41 , 238, 247, 255, 205, 71 , 33 , 73 , 49 , 111, 83 , 63 , 73 , 143, 189, 208, 195, 149, 99 , 121, 119, 116, 102, 88 , 82 , 114, 132, 192, 169, 204, 178, 177, 180, 170, 140, 163, 157, 177, 184, 173, 147, 138, 121, 97 , 83 , 32 , 0 , 5 , 3 , 13 , 134, 252, 252, 224, 149, 114, 114, 133, 10 , 45 , 52 , 93 , 150, 188, 165, 164, 197, 210, 152, 134, 96 , 82 , 124, 133, 103, 108, 117, 165, 208, 218, 199, 171, 182, 160, 188, 161, 180, 191, 190, 188, 164, 150, 133, 123, 93 , 60 , 8 , 4 , 3 , 3 , 114, 242, 187, 215, 183, 188, 190, 87 , 29 , 31 , 101, 136, 75 , 110, 144, 189, 246, 195, 121, 113, 148, 148, 96 , 81 , 74 , 90 , 124, 127, 123, 189, 191, 211, 160, 167, 144, 187, 166, 171, 148, 161, 155, 147, 124, 106, 79 , 71 , 28 , 1 , 7 , 1 , 7 , 134, 145, 73 , 208, 219, 147, 149, 21 , 71 , 125, 102, 25 , 29 , 140, 162, 149, 160, 137, 176, 168, 135, 96 , 99 , 127, 78 , 53 , 97 , 116, 172, 162, 177, 182, 197, 180, 163, 172, 195, 174, 147, 156, 154, 150, 114, 103, 91 , 68 , 15 , 3 , 0 , 40 , 129, 102, 101, 156, 239, 217, 84 , 153, 125, 155, 101, 65 , 71 , 143, 137, 122, 144, 208, 172, 159, 148, 167, 167, 119, 103, 100, 100, 120, 122, 164, 169, 198, 173, 186, 205, 199, 211, 190, 192, 179, 163, 145, 143, 124, 103, 75 , 55 , 22 , 6 , 0 , 60 , 83 , 41 , 124, 171, 175, 188, 85 , 151, 152, 132, 78 , 108, 104, 96 , 100, 110, 164, 161, 140, 153, 156, 146, 134, 117, 115, 98 , 91 , 76 , 129, 112, 143, 140, 159, 166, 175, 182, 197, 188, 180, 161, 151, 140, 116, 101, 83 , 61 , 35 , 0 , 17 , 0 , 92 , 5 , 58 , 102, 145, 171, 148, 120, 138, 154, 110, 91 , 108, 81 , 91 , 108, 108, 163, 119, 154, 158, 157, 151, 144, 136, 118, 91 , 92 , 94 , 106, 115, 132, 148, 161, 176, 190, 199, 205, 200, 198, 187, 177, 164, 147, 124, 111, 86 , 65 , 17 , 8 , 0 , 47 , 44 , 49 , 98 , 192, 151, 173, 145, 161, 202, 118, 145, 127, 104, 118, 108, 149, 154, 152, 156, 165, 170, 153, 178, 139, 150, 110, 110, 115, 105, 124, 124, 155, 153, 173, 180, 203, 207, 211, 212, 198, 191, 179, 156, 133, 105, 95 , 58 , 37 , 0 , 0 , 34 , 71 , 12 , 91 , 158, 138, 167, 123, 173, 157, 150, 102, 143, 97 , 92 , 114, 111, 134, 132, 126, 162, 134, 148, 148, 145, 121, 108, 106, 84 , 89 , 87 , 142, 87 , 132, 138, 167, 173, 181, 197, 196, 190, 179, 179, 161, 141, 127, 94 , 84 , 59 , 31 , 7 , 6 , 0 , 33 , 12 , 45 , 146, 118, 149, 140, 138, 177, 131, 134, 147, 113, 107, 108, 135, 119, 140, 133, 157, 143, 147, 170, 153, 135, 123, 113, 119, 96 , 107, 120, 109, 131, 159, 175, 191, 198, 207, 208, 205, 201, 213, 191, 176, 152, 133, 110, 90 , 63 , 42 , 2 , 4 , 11 , 63 , 26 , 123, 155, 127, 170, 140, 183, 180, 143, 165, 137, 110, 120, 133, 147, 128, 143, 146, 153, 150, 167, 170, 146, 141, 120, 114, 103, 89 , 122, 98 , 115, 133, 162, 164, 184, 198, 198, 205, 189, 208, 188, 174, 162, 142, 114, 91 , 73 , 55 , 24 , 8 , 0 , 71 , 21 , 42 , 108, 143, 113, 141, 142, 171, 162, 144, 135, 116, 91 , 106, 125, 111, 131, 122, 134, 133, 139, 157, 150, 128, 114, 108, 93 , 85 , 94 , 100, 100, 118, 137, 148, 152, 184, 190, 191, 193, 198, 194, 178, 170, 154, 131, 102, 99 , 79 , 45 , 26 , 6 , 3 , 8 , 11 , 32 , 116, 139, 111, 151, 149, 157, 173, 143, 162, 130, 107, 133, 133, 135, 128, 144, 151, 139, 163, 163, 165, 132, 137, 122, 108, 112, 109, 129, 117, 150, 147, 165, 180, 197, 209, 197, 218, 208, 211, 187, 186, 162, 136, 123, 106, 87 , 47 , 36 , 0 , 0 , 37 , 42 , 44 , 152, 130, 121, 169, 158, 169, 164, 162, 149, 119, 122, 128, 139, 122, 135, 141, 137, 127, 157, 148, 147, 123, 125, 109, 99 , 100, 101, 115, 101, 136, 143, 152, 165, 198, 180, 195, 199, 201, 179, 171, 163, 142, 111, 104, 84 , 43 , 27 , 5 , 7 , 1 , 60 , 11 , 57 , 135, 95 , 113, 146, 156, 140, 159, 147, 116, 108, 115, 116, 129, 112, 130, 136, 126, 130, 142, 143, 121, 121, 110, 97 , 92 , 109, 109, 105, 117, 141, 141, 161, 182, 192, 189, 196, 203, 198, 182, 181, 165, 141, 123, 109, 91 , 49 , 35 , 0 , 2 , 23 , 51 , 27 , 103, 151, 89 , 133, 174, 157, 156, 183, 163, 120, 136, 139, 136, 141, 142, 139, 148, 141, 156, 161, 151, 138, 130, 124, 107, 118, 127, 127, 120, 142, 147, 155, 178, 190, 190, 205, 203, 206, 197, 186, 174, 152, 128, 119, 94 , 72 , 44 , 13 , 0 , 11 , 12 , 38 , 57 , 148, 120, 96 , 159, 162, 142, 162, 173, 114, 123, 137, 124, 118, 133, 127, 120, 129, 138, 141, 142, 131, 115, 106, 106, 99 , 110, 112, 98 , 115, 127, 128, 144, 170, 162, 173, 181, 178, 176, 169, 161, 135, 116, 98 , 87 , 52 , 31 , 5 , 5 , 0 , 16 , 35 , 44 , 111, 107, 77 , 138, 158, 131, 152, 157, 117, 124, 128, 128, 127, 128, 128, 123, 126, 147, 142, 141, 140, 122, 115, 118, 108, 109, 127, 119, 121, 131, 142, 144, 169, 182, 183, 190, 197, 190, 188, 181, 164, 145, 129, 115, 90 , 74 , 43 , 16 , 8 , 48 , 60 , 48 , 103, 117, 107, 132, 155, 153, 166, 171, 147, 142, 150, 153, 143, 144, 150, 135, 141, 148, 148, 148, 146, 132, 126, 128, 120, 121, 128, 127, 128, 130, 142, 139, 162, 162, 172, 177, 184, 181, 185, 171, 163, 146, 132, 116, 96 , 79 , 51 , 27 , 3 , 31 , 42 , 47 , 78 , 91 , 83 , 100, 127, 127, 151, 151, 135, 128, 141, 135, 134, 134, 133, 117, 124, 128, 127, 128, 127, 120, 106, 115, 110, 107, 120, 109, 111, 120, 120, 129, 136, 145, 151, 161, 162, 169, 169, 169, 157, 143, 124, 117, 95 , 80 , 55 , 31 , 8 , 30 , 41 , 45 , 74 , 78 , 79 , 104, 130, 129, 154, 161, 141, 148, 147, 155, 148, 155, 143, 137, 133, 140, 141, 141, 140, 131, 127, 128, 127, 133, 135, 128, 135, 133, 137, 149, 161, 167, 176, 176, 184, 182, 183, 180, 167, 156, 148, 127, 111, 93 , 69 , 31 , 45 , 49 , 58 , 63 , 102, 81 , 101, 126, 135, 148, 174, 163, 149, 163, 152, 159, 164, 151, 142, 134, 135, 133, 137, 141, 140, 121, 127, 119, 129, 134, 133, 126, 128, 127, 133, 141, 148, 156, 163, 162, 162, 162, 162, 156, 140, 132, 115, 100, 85 , 64 , 35 , 8 , 30 , 35 , 32 , 62 , 69 , 64 , 95 , 111, 120, 138, 151, 133, 143, 141, 135, 140, 140, 126, 120, 117, 113, 112, 119, 114, 113, 112, 106, 108, 117, 120, 120, 119, 120, 120, 136, 135, 145, 152, 154, 156, 153, 163, 154, 152, 137, 127, 111, 94 , 81 , 55 , 32 , 19 , 50 , 36 , 51 , 84 , 72 , 93 , 121, 120, 137, 163, 156, 160, 163, 155, 148, 157, 149, 140, 139, 128, 128, 127, 134, 126, 128, 127, 128, 131, 141, 141, 148, 147, 139, 147, 156, 159, 169, 169, 169, 169, 169, 170, 166, 157, 150, 136, 119, 104, 88 , 68 , 38 , 45 , 52 , 43 , 64 , 85 , 79 , 101, 118, 122, 149, 162, 155, 155, 162, 153, 155, 155, 146, 134, 135, 119, 120, 120, 117, 113, 112, 114, 106, 121, 118, 122, 132, 131, 126, 133, 141, 141, 150, 153, 147, 148, 148, 147, 148, 141, 132, 117, 110, 89 , 83 , 61 , 45 , 28 , 46 , 39 , 42 , 68 , 66 , 72 , 98 , 106, 115, 140, 146, 142, 155, 145, 140, 148, 140, 134, 133, 123, 116, 111, 115, 106, 113, 105, 105, 100, 112, 113, 117, 128, 119, 130, 133, 138, 141, 146, 148, 148, 148, 148, 147, 148, 145, 136, 129, 120, 113, 105, 96 , 82 , 71 , 58 , 61 , 72 , 63 , 81 , 90 , 87 , 112, 121, 123, 145, 155, 155, 164, 160, 153, 160, 158, 148, 148, 140, 134, 135, 131, 127, 128, 122, 113, 113, 113, 112, 117, 119, 126, 127, 135, 134, 142, 142, 149, 151, 156, 154, 155, 155, 154, 148, 146, 140, 138, 129, 121, 113, 112, 104, 97 , 88 , 81 , 77 , 84 , 85 , 85 , 94 , 100, 101, 115, 121, 125, 141, 141, 141, 142, 138, 137, 143, 135, 134, 127, 120, 118, 112, 114, 108, 105, 107, 99 , 100, 100, 99 , 103, 106, 111, 113, 120, 127, 129, 134, 137, 142, 141, 141, 141, 141, 142, 138, 135, 129, 128, 120, 120, 112, 112, 105, 104, 98 , 100, 99 , 99 , 100, 99 , 102, 107, 109, 119, 120, 127, 134, 135, 142, 141, 141, 141, 141, 141, 141, 140, 133, 136, 130, 127, 128, 127, 127, 128, 127, 128, 127, 132, 135, 134, 141, 141, 149, 146, 152, 155, 155, 154, 155, 155, 153, 147, 148, 149, 142, 141, 141, 141, 133, 135, 135, 131, 127, 128, 127, 127, 128, 125, 119, 120, 120, 119, 127, 127, 128, 127, 128, 126, 132, 135, 134, 134, 134, 135, 132, 126, 128, 127, 128, 127, 134, 128, 136, 133, 135, 134, 134, 135, 134, 133, 128, 137, 129, 128, 121, 120, 120, 120, 119, 121, 116, 113, 113, 113, 113, 112, 105, 107, 106, 107, 101, 99 , 107, 106, 106, 109, 114, 113, 112, 119, 120, 120, 119, 120, 120, 120, 120, 120, 120, 120, 120, 119, 124, 128, 128, 126, 135, 134, 142, 155, 174, 181, 178, 166, 141, 127, 113, 121, 124, 140, 142, 135, 128, 119, 112, 117, 132, 138, 142, 136, 127, 120, 105, 106, 109, 113, 118, 119, 121, 112, 121, 120, 131, 138, 145, 154, 154, 155, 147, 146, 142, 148, 152, 155, 155, 148, 148, 147, 148, 148, 148, 148, 148, 148, 140, 133, 124, 119, 120, 119, 120, 113, 106, 98 , 89 , 82 , 74 , 71 , 71 , 77 , 92 , 108, 126, 146, 147, 152, 156, 148, 148, 147, 138, 135, 127, 115, 108, 106, 106, 107, 115, 120, 122, 134, 133, 146, 148, 148, 148, 147, 136, 135, 129, 128, 127, 135, 135, 142, 141, 137, 135, 128, 128, 119, 112, 103, 82 , 65 , 37 , 17 , 4 , 4 , 4 , 32 , 72 , 128, 161, 167, 170, 154, 139, 134, 132, 127, 125, 104, 86 , 71 , 63 , 65 , 89 , 114, 132, 153, 155, 148, 141, 131, 120, 133, 134, 139, 147, 141, 134, 134, 136, 146, 168, 186, 198, 183, 175, 150, 138, 123, 117, 108, 96 , 73 , 56 , 23 , 2 , 5 , 1 , 17 , 65 , 141, 205, 225, 214, 197, 152, 127, 128, 127, 134, 133, 108, 96 , 76 , 74 , 92 , 130, 162, 193, 202, 184, 155, 128, 103, 104, 119, 136, 158, 171, 167, 157, 155, 159, 182, 198, 220, 215, 205, 170, 135, 111, 86 , 78 , 77 , 68 , 48 , 11 , 4 , 2 , 6 , 4 , 84 , 183, 255, 242, 241, 168, 95 , 72 , 64 , 84 , 120, 130, 117, 110, 65 , 71 , 88 , 137, 175, 218, 206, 180, 122, 78 , 40 , 36 , 81 , 120, 166, 194, 186, 171, 152, 141, 156, 183, 203, 208, 194, 158, 112, 80 , 51 , 42 , 47 , 51 , 36 , 4 , 5 , 4 , 0 , 28 , 133, 231, 253, 251, 216, 117, 56 , 26 , 40 , 85 , 138, 155, 156, 130, 94 , 88 , 107, 147, 202, 230, 226, 186, 120, 57 , 27 , 29 , 76 , 143, 209, 240, 244, 217, 183, 164, 163, 193, 209, 226, 214, 186, 143, 105, 72 , 71 , 78 , 77 , 77 , 29 , 0 , 6 , 0 , 26 , 118, 252, 247, 253, 243, 163, 76 , 38 , 31 , 98 , 145, 182, 186, 155, 126, 89 , 101, 146, 195, 239, 237, 194, 129, 63 , 19 , 22 , 60 , 134, 198, 236, 251, 222, 189, 155, 156, 165, 199, 215, 213, 187, 143, 102, 70 , 57 , 65 , 65 , 71 , 23 , 2 , 4 , 4 , 4 , 68 , 207, 255, 248, 244, 155, 57 , 5 , 11 , 58 , 124, 169, 165, 140, 93 , 71 , 81 , 113, 172, 217, 224, 185, 116, 39 , 7 , 3 , 38 , 116, 180, 229, 232, 209, 170, 141, 139, 155, 197, 203, 213, 173, 144, 95 , 69 , 57 , 69 , 78 , 66 , 29 , 2 , 4 , 4 , 6 , 81 , 232, 254, 250, 245, 144, 48 , 12 , 18 , 87 , 148, 190, 187, 139, 104, 73 , 91 , 153, 211, 249, 243, 169, 99 , 25 , 5 , 27 , 94 , 164, 234, 244, 236, 200, 161, 153, 165, 194, 226, 232, 218, 177, 131, 103, 87 , 91 , 105, 113, 83 , 29 , 0 , 3 , 6 , 7 , 141, 254, 247, 255, 213, 91 , 15 , 12 , 61 , 147, 181, 204, 144, 94 , 69 , 71 , 138, 201, 245, 243, 195, 105, 39 , 6 , 20 , 66 , 131, 188, 217, 198, 184, 150, 155, 162, 194, 200, 209, 188, 167, 132, 109, 92 , 100, 99 , 96 , 70 , 21 , 2 , 4 , 3 , 4 , 58 , 199, 255, 244, 247, 109, 38 , 0 , 29 , 105, 148, 172, 138, 76 , 57 , 65 , 117, 193, 239, 222, 172, 89 , 39 , 15 , 43 , 90 , 123, 142, 153, 155, 160, 177, 185, 205, 194, 183, 172, 156, 162, 154, 156, 150, 126, 106, 91 , 75 , 59 , 23 , 3 , 2 , 10 , 0 , 89 , 222, 250, 249, 228, 118, 39 , 18 , 85 , 146, 172, 177, 115, 76 , 81 , 122, 186, 244, 243, 208, 130, 72 , 48 , 66 , 110, 139, 147, 142, 135, 152, 190, 214, 242, 221, 195, 171, 155, 165, 186, 192, 181, 153, 113, 94 , 84 , 86 , 73 , 24 , 4 , 0 , 12 , 0 , 180, 243, 255, 238, 167, 58 , 6 , 46 , 124, 178, 179, 131, 68 , 49 , 85 , 170, 228, 245, 196, 132, 50 , 46 , 66 , 111, 142, 126, 103, 93 , 114, 167, 223, 242, 213, 177, 130, 127, 150, 180, 196, 171, 141, 83 , 72 , 65 , 89 , 79 , 29 , 0 , 6 , 3 , 5 , 106, 247, 251, 228, 161, 41 , 16 , 44 , 123, 191, 162, 95 , 41 , 36 , 94 , 196, 240, 236, 168, 93 , 56 , 63 , 115, 149, 139, 107, 62 , 71 , 122, 198, 248, 250, 197, 145, 126, 150, 195, 231, 215, 170, 108, 91 , 94 , 120, 140, 106, 44 , 4 , 4 , 3 , 12 , 128, 246, 241, 255, 123, 93 , 66 , 106, 164, 164, 152, 72 , 64 , 79 , 147, 215, 253, 201, 146, 108, 89 , 136, 157, 165, 114, 74 , 48 , 94 , 160, 246, 248, 233, 174, 141, 150, 195, 223, 226, 185, 138, 110, 116, 130, 131, 116, 66 , 13 , 3 , 7 , 0 , 41 , 114, 201, 243, 221, 104, 93 , 83 , 109, 150, 127, 125, 39 , 67 , 99 , 160, 211, 204, 152, 107, 100, 111, 145, 138, 119, 55 , 41 , 60 , 120, 183, 224, 201, 164, 139, 143, 170, 205, 195, 174, 133, 120, 119, 130, 121, 100, 69 , 35 , 4 , 4 , 5 , 1 , 19 , 85 , 225, 241, 203, 134, 75 , 107, 109, 148, 131, 106, 37 , 74 , 116, 172, 207, 178, 146, 103, 123, 143, 155, 134, 93 , 52 , 58 , 96 , 138, 186, 204, 191, 191, 190, 190, 191, 198, 184, 175, 172, 168, 165, 141, 126, 101, 90 , 77 , 48 , 14 , 0 , 6 , 8 , 115, 168, 248, 223, 145, 108, 123, 157, 156, 137, 76 , 82 , 81 , 156, 192, 182, 188, 135, 135, 157, 168, 161, 129, 99 , 71 , 88 , 97 , 124, 133, 167, 196, 204, 211, 198, 181, 183, 187, 191, 185, 169, 154, 148, 144, 126, 95 , 80 , 57 , 22 , 3 , 6 , 0 , 37 , 95 , 184, 240, 168, 146, 110, 124, 176, 101, 121, 80 , 38 , 116, 120, 167, 160, 141, 144, 127, 152, 154, 125, 110, 89 , 63 , 72 , 84 , 90 , 120, 158, 180, 194, 182, 179, 184, 182, 190, 173, 155, 159, 146, 148, 146, 112, 92 , 77 , 70 , 39 , 15 , 0 , 14 , 0 , 130, 124, 188, 190, 108, 151, 150, 171, 146, 85 , 111, 94 , 97 , 158, 124, 143, 178, 147, 166, 165, 150, 149, 139, 130, 104, 78 , 94 , 99 , 106, 147, 169, 172, 189, 197, 204, 203, 205, 200, 181, 195, 186, 176, 167, 144, 122, 109, 107, 98 , 60 , 15 , 4 , 5 , 0 , 85 , 160, 125, 177, 138, 128, 177, 192, 147, 131, 139, 106, 104, 141, 144, 110, 153, 164, 129, 147, 164, 141, 142, 137, 110, 81 , 86 , 94 , 85 , 105, 135, 135, 156, 177, 183, 187, 202, 198, 175, 185, 178, 164, 145, 138, 116, 101, 91 , 82 , 58 , 27 , 3 , 2 , 6 , 0 , 88 , 82 , 67 , 130, 110, 110, 170, 158, 128, 119, 121, 114, 92 , 124, 122, 98 , 134, 131, 105, 128, 134, 136, 124, 108, 92 , 78 , 89 , 100, 83 , 83 , 104, 116, 141, 156, 178, 176, 187, 191, 185, 182, 183, 175, 159, 145, 139, 126, 111, 94 , 85 , 71 , 46 , 14 , 4 , 0 , 37 , 104, 82 , 85 , 114, 120, 155, 157, 164, 158, 147, 155, 139, 141, 132, 137, 147, 143, 136, 134, 142, 143, 155, 141, 125, 114, 112, 120, 112, 113, 102, 104, 125, 149, 162, 168, 183, 183, 194, 197, 197, 198, 192, 183, 175, 160, 145, 139, 126, 115, 104, 80 , 63 , 40 , 17 , 0 , 24 , 74 , 68 , 74 , 100, 102, 141, 139, 146, 163, 154, 158, 133, 149, 131, 136, 136, 139, 124, 112, 120, 120, 128, 116, 111, 100, 104, 107, 106, 99 , 92 , 90 , 101, 117, 130, 139, 154, 162, 170, 172, 182, 177, 186, 172, 163, 155, 147, 139, 132, 121, 103, 94 , 79 , 72 , 54 , 30 , 3 , 10 , 22 , 45 , 57 , 71 , 92 , 94 , 134, 146, 145, 169, 156, 149, 141, 148, 139, 142, 141, 138, 122, 119, 128, 119, 130, 122, 107, 111, 118, 121, 120, 126, 112, 122, 121, 138, 146, 161, 169, 170, 179, 182, 187, 190, 196, 192, 183, 174, 162, 161, 150, 144, 135, 129, 113, 106, 97 , 78 , 56 , 40 , 18 , 52 , 64 , 73 , 94 , 101, 112, 127, 146, 147, 161, 169, 161, 153, 156, 150, 152, 155, 143, 127, 127, 120, 129, 127, 128, 123, 112, 120, 119, 119, 123, 124, 120, 114, 119, 127, 136, 142, 151, 155, 155, 154, 167, 176, 176, 173, 161, 160, 150, 143, 136, 127, 119, 113, 109, 99 , 93 , 75 , 60 , 44 , 20 , 11 , 35 , 34 , 48 , 63 , 69 , 78 , 93 , 115, 122, 142, 149, 144, 139, 148, 141, 141, 141, 137, 122, 120, 120, 120, 120, 112, 106, 105, 110, 110, 105, 112, 114, 106, 106, 109, 112, 122, 132, 147, 141, 157, 167, 166, 178, 176, 171, 174, 183, 168, 153, 155, 152, 144, 137, 123, 113, 113, 104, 77 , 61 , 46 , 24 , 1 , 40 , 63 , 73 , 85 , 137, 144, 148, 163, 161, 183, 189, 161, 138, 161, 146, 127, 127, 134, 126, 129, 123, 126, 141, 157, 136, 141, 148, 145, 126, 135, 120, 121, 114, 107, 107, 122, 128, 128, 146, 165, 176, 175, 198, 195, 190, 175, 170, 164, 158, 141, 142, 135, 137, 119, 130, 128, 121, 127, 119, 106, 95 , 69 , 50 , 19 , 11 , 0 , 58 , 17 , 49 , 102, 128, 123, 151, 161, 175, 182, 147, 138, 145, 103, 94 , 102, 85 , 85 , 94 , 98 , 107, 123, 122, 145, 149, 134, 136, 139, 119, 113, 110, 95 , 85 , 85 , 79 , 96 , 98 , 103, 112, 130, 129, 171, 161, 178, 182, 180, 173, 165, 159, 139, 164, 129, 145, 141, 135, 146, 141, 149, 139, 142, 131, 125, 113, 91 , 75 , 39 , 21 , 0 , 23 , 48 , 22 , 79 , 121, 146, 156, 179, 193, 212, 195, 180, 179, 152, 119, 128, 105, 103, 102, 107, 119, 126, 134, 151, 170, 160, 166, 167, 150, 143, 127, 128, 116, 104, 98 , 104, 106, 112, 127, 141, 143, 157, 173, 198, 175, 200, 198, 176, 168, 159, 157, 142, 138, 142, 136, 127, 143, 140, 139, 136, 144, 135, 135, 113, 106, 82 , 49 , 23 , 10 , 0 , 43 , 7 , 46 , 99 , 116, 132, 160, 167, 187, 191, 161, 171, 152, 112, 112, 95 , 76 , 85 , 78 , 86 , 95 , 100, 123, 137, 133, 140, 141, 133, 125, 117, 108, 104, 81 , 78 , 85 , 85 , 88 , 103, 111, 115, 134, 138, 177, 166, 173, 188, 180, 164, 155, 156, 147, 140, 128, 134, 127, 126, 138, 136, 135, 141, 142, 139, 131, 123, 115, 97 , 64 , 49 , 33 , 0 , 31 , 44 , 24 , 100, 119, 142, 158, 180, 188, 215, 189, 188, 185, 146, 127, 124, 99 , 102, 92 , 103, 107, 107, 123, 145, 146, 155, 165, 155, 155, 148, 140, 133, 122, 111, 114, 109, 105, 120, 119, 130, 136, 149, 178, 178, 181, 196, 196, 182, 180, 167, 168, 152, 141, 141, 133, 128, 138, 139, 132, 140, 140, 148, 140, 134, 124, 106, 94 , 65 , 47 , 23 , 4 , 14 , 49 , 17 , 79 , 106, 115, 138, 162, 170, 185, 168, 167, 159, 126, 107, 106, 89 , 78 , 78 , 81 , 90 , 92 , 102, 128, 119, 132, 142, 139, 130, 127, 128, 120, 105, 100, 97 , 91 , 92 , 96 , 106, 106, 120, 129, 147, 154, 163, 173, 184, 169, 170, 160, 152, 149, 140, 138, 136, 129, 127, 142, 132, 137, 146, 144, 141, 136, 127, 119, 102, 77 , 69 , 35 , 27 , 10 , 64 , 24 , 59 , 106, 119, 138, 164, 175, 189, 189, 176, 182, 156, 134, 137, 117, 106, 106, 107, 114, 112, 119, 142, 149, 147, 163, 161, 152, 147, 146, 136, 130, 120, 120, 112, 105, 111, 123, 117, 131, 140, 148, 157, 179, 172, 189, 190, 177, 175, 171, 154, 160, 140, 148, 137, 128, 139, 134, 136, 141, 142, 138, 134, 130, 121, 107, 91 , 67 , 44 , 19 , 5 , 11 , 39 , 20 , 74 , 101, 114, 122, 161, 163, 182, 171, 169, 159, 128, 119, 116, 91 , 83 , 86 , 84 , 92 , 94 , 109, 121, 123, 129, 141, 135, 127, 127, 117, 110, 103, 93 , 92 , 85 , 86 , 93 , 102, 110, 116, 127, 140, 177, 153, 180, 171, 173, 175, 157, 155, 148, 148, 132, 136, 131, 126, 135, 144, 133, 148, 140, 141, 130, 125, 110, 102, 82 , 57 , 41 , 9 , 20 , 50 , 37 , 73 , 110, 127, 136, 168, 175, 194, 185, 179, 179, 150, 127, 135, 110, 101, 108, 104, 113, 112, 129, 143, 146, 143, 163, 153, 142, 141, 141, 125, 118, 112, 114, 109, 104, 119, 120, 130, 143, 151, 159, 185, 185, 188, 197, 181, 176, 172, 156, 155, 150, 142, 141, 141, 135, 142, 141, 141, 142, 135, 135, 127, 117, 104, 92 , 69 , 51 , 25 , 5 , 5 , 29 , 12 , 51 , 92 , 109, 118, 144, 162, 165, 172, 151, 155, 130, 106, 113, 91 , 80 , 93 , 92 , 91 , 100, 112, 125, 135, 128, 135, 134, 118, 117, 111, 100, 92 , 85 , 85 , 85 , 86 , 101, 107, 111, 127, 135, 152, 162, 169, 173, 169, 163, 156, 147, 146, 134, 140, 133, 135, 135, 134, 142, 140, 141, 141, 138, 130, 121, 115, 99 , 90 , 65 , 42 , 21 , 7 , 14 , 48 , 44 , 78 , 132, 125, 150, 182, 176, 188, 183, 169, 158, 135, 126, 130, 112, 104, 119, 119, 114, 135, 140, 149, 151, 147, 148, 141, 132, 128, 122, 108, 106, 107, 100, 107, 113, 124, 135, 136, 150, 162, 167, 183, 183, 191, 176, 168, 170, 164, 156, 154, 154, 147, 148, 148, 146, 154, 148, 148, 140, 133, 128, 122, 108, 97 , 75 , 57 , 35 , 13 , 0 , 22 , 40 , 30 , 90 , 120, 120, 145, 157, 163, 162, 159, 143, 135, 112, 100, 107, 92 , 86 , 102, 108, 105, 120, 128, 134, 126, 129, 123, 114, 108, 99 , 99 , 83 , 85 , 88 , 91 , 98 , 104, 120, 119, 130, 138, 152, 160, 162, 168, 169, 162, 154, 153, 146, 149, 147, 148, 142, 141, 148, 147, 149, 144, 141, 137, 128, 120, 113, 103, 87 , 68 , 47 , 34 , 7 , 3 , 39 , 42 , 64 , 106, 136, 135, 156, 176, 170, 175, 167, 158, 138, 131, 120, 127, 119, 113, 124, 137, 132, 143, 154, 155, 148, 141, 140, 130, 129, 122, 121, 108, 106, 113, 114, 122, 131, 137, 147, 146, 168, 176, 177, 183, 181, 171, 170, 163, 162, 162, 162, 153, 156, 151, 146, 153, 155, 148, 141, 140, 132, 124, 115, 109, 95 , 73 , 56 , 41 , 25 , 9 , 21 , 48 , 54 , 81 , 120, 127, 130, 147, 156, 154, 155, 144, 127, 127, 110, 108, 114, 109, 105, 111, 120, 120, 121, 129, 124, 120, 115, 113, 107, 106, 98 , 92 , 92 , 91 , 95 , 105, 106, 112, 120, 129, 135, 147, 155, 159, 162, 163, 148, 149, 146, 141, 140, 142, 136, 139, 141, 141, 141, 142, 139, 133, 136, 129, 127, 121, 113, 104, 90 , 80 , 67 , 56 , 44 , 48 , 63 , 72 , 80 , 97 , 107, 111, 131, 140, 147, 155, 154, 147, 148, 148, 147, 149, 142, 141, 134, 135, 142, 140, 142, 137, 134, 134, 135, 127, 128, 127, 126, 114, 117, 120, 120, 119, 128, 128, 136, 145, 159, 166, 170, 169, 169, 169, 176, 168, 170, 166, 157, 154, 155, 149, 148, 147, 141, 139, 134, 131, 128, 122, 114, 106, 99 , 82 , 78 , 63 , 41 , 36 , 45 , 63 , 63 , 86 , 91 , 95 , 115, 133, 133, 143, 150, 135, 135, 134, 133, 127, 125, 115, 112, 114, 112, 120, 112, 114, 111, 106, 106, 107, 105, 108, 99 , 100, 91 , 101, 99 , 99 , 103, 105, 116, 126, 140, 147, 156, 154, 155, 155, 154, 156, 149, 149, 141, 141, 133, 135, 134, 132, 126, 128, 127, 128, 121, 113, 113, 105, 98 , 88 , 86 , 78 , 62 , 45 , 49 , 63 , 72 , 81 , 102, 99 , 113, 127, 140, 145, 155, 148, 148, 140, 142, 140, 142, 137, 134, 130, 126, 133, 135, 134, 134, 127, 128, 127, 127, 128, 127, 129, 121, 120, 120, 128, 127, 139, 148, 150, 159, 167, 169, 174, 176, 176, 175, 169, 169, 159, 155, 151, 147, 144, 139, 143, 134, 135, 127, 127, 119, 119, 109, 107, 103, 91 , 74 , 66 , 51 , 56 , 72 , 71 , 81 , 94 , 89 , 100, 118, 123, 133, 134, 134, 134, 134, 134, 134, 125, 120, 118, 112, 113, 113, 113, 113, 113, 114, 106, 106, 106, 106, 106, 106, 106, 106, 106, 109, 119, 119, 127, 127, 134, 134, 142, 140, 143, 149, 146, 140, 143, 136, 135, 129, 128, 120, 120, 119, 120, 112, 106, 107, 104, 99 , 96 , 91 , 89 , 80 , 78 , 74 , 63 , 71 , 71 , 78 , 85 , 86 , 93 , 101, 109, 115, 123, 129, 126, 132, 134, 135, 133, 135, 127, 135, 127, 128, 127, 128, 127, 128, 127, 128, 127, 129, 125, 134, 128, 134, 128, 133, 134, 134, 141, 141, 142, 149, 147, 150, 155, 155, 152, 147, 148, 148, 148, 148, 143, 140, 142, 135, 134, 127, 128, 127, 120, 119, 112, 114, 110, 107, 103, 99 , 96 , 91 , 92 , 92 , 91 , 98 , 100, 99 , 105, 113, 113, 113, 120, 120, 120, 120, 120, 121, 129, 124, 119, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 119, 122, 129, 127, 128, 127, 127, 128, 124, 118, 121, 115, 112, 114, 108, 105, 108, 99 , 106, 100, 99 , 99 , 100, 91 , 92 , 91 , 85 , 92 , 91 , 92 , 91 , 92 , 91 , 93 , 103, 106, 108, 115, 111, 117, 120, 120, 119, 124, 129, 127, 128, 126, 133, 135, 134, 134, 135, 134, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 142, 139, 133, 135, 134, 135, 131, 126, 129, 126, 130, 121, 125, 124, 118, 120, 119, 120, 120, 120, 120, 120, 120, 120, 120, 119, 120, 119, 127, 127, 128, 127, 128, 127, 135, 134, 135, 134, 142, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 142, 139, 136, 141, 132, 135, 133, 135, 133, 136, 130, 130, 133, 126, 129, 126, 129, 124, 119, 120, 119, 121, 116, 112, 114, 112, 114, 109, 105, 107, 105, 107, 101, 99 , 100, 99 , 99 , 99 , 99 , 100, 99 , 100, 99 , 100, 99 , 105, 106, 106, 106, 106, 106, 107, 106, 112, 113, 113, 113, 113, 113, 113, 113, 113, 119, 120, 120, 120, 120, 120, 120, 120, 120, 120, 128, 127, 128, 127, 128, 127, 128, 127, 128, 135, 134, 134, 134, 134, 134, 134, 134, 135, 141, 133, 135, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 142, 139, 135, 142, 140, 141, 141, 140, 134, 143, 138, 136, 141, 142, 139, 135, 141, 134, 143, 140, 142, 140, 141, 141, 141, 142, 138, 136, 140, 133, 135, 136, 142, 141, 140, 133, 135, 134, 135, 134, 135, 134, 135, 134, 135, 132, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 124, 119, 120, 119, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 119, 120, 118, 124, 125, 117, 124, 128, 127, 128, 128, 125, 117, 126, 123, 122, 129, 124, 117, 126, 123, 123, 125, 118, 121, 119, 119, 123, 129, 127, 128, 127, 128, 128, 127, 128, 127, 131, 135, 134, 135, 134, 134, 134, 134, 134, 135, 134, 135, 134, 135, 133, 139, 137, 136, 143, 140, 142, 141, 141, 141, 141, 141, 142, 138, 133, 138, 143, 137, 134, 135, 134, 134, 134, 134, 134, 135, 134, 135, 131, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 129, 123, 122, 131, 121, 125, 124, 121, 131, 121, 124 };