iOS 獲取漢字【簡體中文】筆畫數

Kaelzzs發表於2019-01-18

思路

  • 漢字字典庫匹配筆畫數

    • 優點: 實現邏輯簡單,字典庫好擴充套件
    • 缺點: 記憶體消耗較大(不過也能承擔)

    思路: 這種實現思路是比較簡單的,具體思路是將簡體漢字所有字都窮舉出來,然後分別匹配上指定的筆畫數,當做一個大的資料庫,每次都去查詢一下。

  • 漢字GBK編碼匹配筆畫數

    • 優點:相比字典庫匹配,效率高,速度快
    • 缺點:新增編碼庫不好新增,不好擴充套件

    思路: 這種實現方案是需要獲取GBK編碼分別對應的筆畫數,放到指定陣列(資料庫)中,每次通過輸入的漢字 轉碼為二進位制,通過二進位制的值 匹配資料庫中的筆畫數。

    -**************************
    廢話少說,盤它!
    -**************************

上程式碼,盤它!

先來看下成果

** 測試程式碼 **

dispatch_async(dispatch_get_global_queue(0, 0), ^{
        // 處理耗時操作的程式碼塊...
        NSString *testString = @"濃睡不消殘酒";
        // 字典查詢匹配
        [self testStrokeCount:testString];
        // 編碼查詢匹配
        [self chineseCharactersCount:testString];
    });
複製程式碼

** 測試結果 **

------- 字典查詢匹配

TemplateApp[78833:3000133] 漢字:濃 ------ 筆畫數:9
TemplateApp[78833:3000133] 漢字:睡 ------ 筆畫數:13
TemplateApp[78833:3000133] 漢字:不 ------ 筆畫數:4
TemplateApp[78833:3000133] 漢字:消 ------ 筆畫數:10
TemplateApp[78833:3000133] 漢字:殘 ------ 筆畫數:9
TemplateApp[78833:3000133] 漢字:酒 ------ 筆畫數:10

------  編碼查詢匹配
TemplateApp[78833:3000133] 漢字:濃  ------ 筆畫數:9
TemplateApp[78833:3000133] 漢字:睡  ------ 筆畫數:13
TemplateApp[78833:3000133] 漢字:不  ------ 筆畫數:4
TemplateApp[78833:3000133] 漢字:消  ------ 筆畫數:10
TemplateApp[78833:3000133] 漢字:殘  ------ 筆畫數:9
TemplateApp[78833:3000133] 漢字:酒  ------ 筆畫數:10
複製程式碼

漢字字典庫匹配筆畫數 核心程式碼

-(NSDictionary *)chineseCharacters{
    if (!_chineseCharacters) {
        _chineseCharacters = [[NSDictionary alloc] init];
        _chineseCharacters = [self readLocalJsonFileWithName:@"Chinese" type:@"json"];
    }
    return _chineseCharacters;
}
- (NSArray *)bytesArray{
    if (!_bytesArray) {
        _bytesArray = [[NSArray alloc] init];
        _bytesArray = [self readLocalJsonFileWithName:@"byteNum" type:@"json"];
    }
    return _bytesArray;
}


#pragma mark - **************** Tool function
/** 讀取本地檔案 */
-(nullable id)readLocalJsonFileWithName:(NSString *)fileName type:(NSString *)type{
    // 獲取檔案路徑
    NSString *path = [[NSBundle mainBundle] pathForResource:fileName ofType:type];
    // 將檔案資料化
    NSData *data = [[NSData alloc] initWithContentsOfFile:path];
    // 對資料進行JSON格式化並返回字典形式
    return [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
}

+(BOOL)isAllCCString:(NSString *)tempStr{
    for (int i=0; i<tempStr.length; i++) {
        NSString *indexstr = [tempStr substringWithRange:NSMakeRange(i, 1)];
        NSInteger strlength = [KLChineseCharactersTool getCharactCountOfString:indexstr];
        if (strlength != 2) {
            return NO;
        }
        
    }
    return YES;
}

-(BOOL)isBlankString:(NSString *)string{
    
    if (string ==nil || string ==NULL) {
        return YES;
    }
    if ([string isKindOfClass:[NSNull class]]) {
        return YES;
    }
    if ([[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]length]==0) {//特殊字元判斷
        return YES;
    }
    return NO;
}

-(NSInteger)getSigleChineseStrokeCountWith:(NSString *)str{
    NSInteger count = 0;
    
    BOOL isALLCC = [[self class] isAllCCString:str];
    if (!isALLCC) {
        // 如果不是純漢字返回筆畫數為0
        return 0;
    }
    
    // 單字元判斷
    if (str.length<=0) {
        NSLog(@"字串不合法");
        return 0;
    }
    
    // 多字元 取第一個字元判斷
    NSString *sigleStr = @"";
    if (str.length > 1) {
        NSLog(@"並非單個字元");
        sigleStr = [str substringWithRange:NSMakeRange(0, 1)];
    }
    
    if (str.length == 1) {
        sigleStr = str;
    }
    
    
    // 獲取筆劃列表
    NSDictionary *chineseDic = self.chineseCharacters;
    
    // 查詢
    for (int i=0; i<25; i++) {
        // 按次序獲取某個筆劃數的所有漢字組成的字元
        NSString *itemString = [chineseDic objectForKey:[NSString stringWithFormat:@"%d",(i+1)]];
        //如果 傳入漢字不為空 異常判斷
        if (![self isBlankString:itemString] && itemString.length > 0 ) {
            // 包含這個漢字 將筆畫數 i+1 返回
            if ([itemString rangeOfString:sigleStr].location != NSNotFound) {
                NSLog(@"漢字:%@  ------ 筆畫數:%d",sigleStr,i+1);
                count = count + (i+1);
                break;
            }
        }
        
    }
    
    if (count == 0) {
        NSLog(@"字型檔中暫時沒有該漢字");
    }
    
    return count;
}

-(NSInteger)getChineseStrokeCountWith:(NSString *)chineseString{
    NSInteger count = 0;
    
    // 單個漢字?
    if (chineseString.length == 1 ) {
        return [self getSigleChineseStrokeCountWith:chineseString];
    }
    
    // 多漢字
    // 獲取筆劃列表
    
    for (int i=0; i<chineseString.length; i++) {
        // 將傳入字元分割成單個字
        NSString *indexStr = [chineseString substringWithRange:NSMakeRange(i, 1)];
        NSInteger sigleCount = [self getSigleChineseStrokeCountWith:indexStr];
        count = count + sigleCount;
    }
    
    NSLog(@"%@  --- 共計:%ld劃",chineseString ,(long)count);
    
    return count;
}
複製程式碼

GBK編碼查詢法 核心程式碼

#pragma mark - **************** BGBK漢字編碼 匹配
+(int)getCharactCountOfString:(NSString *)strtemp{
    
    int strlength = 0;
    char* p = (char*)[strtemp cStringUsingEncoding:NSUnicodeStringEncoding];
    for (int i=0 ; i<[strtemp lengthOfBytesUsingEncoding:NSUnicodeStringEncoding] ;i++) {
        if (*p) {
            p++;
            strlength++;
        }
        else {
            p++;
        }
        
    }
    return strlength;
}



-(NSInteger)getStrokeCountWithHighByte:(int)highByte lowByte:(int)lowByte{
    NSInteger strokeCount = 0;
    //high: 176 - 247       low: 161 - 154  該範圍才是漢子區域
    if (highByte < 0xB0 || highByte > 0xF7 || lowByte < 0xA1 || lowByte > 0xFE) {
        // 非GB2312合法字元
        return 0;
    }else{
        int offset = (highByte - 0xB0) * (0xFE - 0xA0) + (lowByte - 0xA1);
        NSArray *byteArr = self.bytesArray;
        strokeCount = ((NSNumber *)[byteArr objectAtIndex:offset]).intValue;
        return strokeCount;
    }
    return strokeCount;
}


-(NSInteger)getBytesChineseStrokeCountWith:(NSString *)ccString{
    NSInteger count = 0;
    
    // 單個漢字?
    if (ccString.length == 1 ) {
        return [self getBytesSigleChineseStrokeCountWith:ccString];
    }
    
    for (int i=0; i<ccString.length; i++) {
        
        NSString *indexstr = [ccString substringWithRange:NSMakeRange(i, 1)];
        
        NSInteger strlength = [KLChineseCharactersTool getCharactCountOfString:indexstr];
        
        if (strlength!=2) {
            NSLog(@"kael --  字元 不合法 %@",indexstr);
            break;
        }
        
        if (strlength == 2) {
            count = count + [self getBytesSigleChineseStrokeCountWith:indexstr];
        }
        
        
    }
    
    return count;
}

-(NSInteger)getBytesSigleChineseStrokeCountWith:(NSString *)ccString{
    NSInteger count = 0;
    // 1、先判斷是否是漢字
    BOOL isALLCC = [[self class] isAllCCString:ccString];
    if (!isALLCC) {
        // 如果不是純漢字返回筆畫數為0
        return 0;
    }
    
    // 2、判斷字元個數
    // 不合法
    if (ccString.length<=0) {
        NSLog(@"字串不合法");
        return 0;
    }
    
    // 多字元 取第一個字元判斷
    NSString *sigleStr = @"";
    if (ccString.length > 1) {
        NSLog(@"並非單個字元");
        sigleStr = [ccString substringWithRange:NSMakeRange(0, 1)];
    }
    
    // 單字元判斷
    if (ccString.length == 1) {
        sigleStr = ccString;
    }
    
    
    NSInteger strlength = [KLChineseCharactersTool getCharactCountOfString:sigleStr];
    
    if (strlength!=2) {
        NSLog(@"kael --  字元 不合法 %@",ccString);
        return 0;
    }else{
        // BGK 編碼 --> 轉為 NSData
        NSStringEncoding enc =CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
        NSData *indexData = [ccString dataUsingEncoding:enc];
        // NSData --> Bytes
        Byte *indexByte = (Byte *)[indexData bytes];
        // 取高8位 低8位
        int highByte = indexByte[0];
        int lowByte = indexByte[1];
        
        count = [self getStrokeCountWithHighByte:highByte lowByte:lowByte];
        NSLog(@"漢字:%@ ------ 筆畫數:%ld",sigleStr,count);
        
    }
    
    return count;
}
複製程式碼

核心資料 及 【檔案】

  • 漢字字典庫匹配字典
{"1":"一乙",
 "2":"丁七乃乜九了二人亻兒入八冂幾凵刀刁力勹匕十廠厶又",
 "3":"萬丈三上下丌個丫丸久乇麼義乞也習鄉亍於虧亡億兀凡刃勺千衛叉口囗土士夕大女子孑孓寸小尢屍山巛川工己已巳巾幹么廣廾弋弓才門飛馬",
 "4":"不與丐醜專中豐丹為之烏書予雲互亓五井亢什仁仂仃仄僅僕仇仉今介仍從侖倉允元公六兮內岡冗鳳凶分切刈勸辦勾勿勻化匹區卅升午卞厄廳歷及友雙反壬天太夫夭孔少尤尹尺屯巴幣幻廿開引心憶戈戶手扎支攴攵文鬥斤方無日曰月木欠止歹殳毋比毛氏氣水火爪父爻爿片牙牛犬王瓦肀藝見計訂訃認譏貝車鄧長閂隊韋風且丕世丘丙業叢東絲主乍乎乏",
 "5":"樂仔仕他仗付仙仝仞仟仡代令以仨儀仫們兄蘭冉冊寫冬馮凸凹出擊刊芻功加務勱包匆北匝卉半卟佔卡盧卮卯厲去發古句另叨叩只叫召叭叮可臺叱史右叵葉號司嘆叻叼嘰囚四聖處外央夯失頭奴奶孕寧它宄對爾尕尻尼左巧巨市布帥平幼庀弁弗弘歸必忉戊戔撲扒打扔斥旦舊未末本札術正母氐民氕永汀汁匯漢滅犯犰玄玉瓜甘生用甩田由甲申電疋白皮皿目矛矢石示禮禾穴立糾艽艾艿節訐訌討讓訕訖訓議訊記軋邊遼邗邙邛鄺釒閃阡阢飢馭鳥龍",
 "6":"丞丟乒乓喬乩買爭亙亞交亥亦產仰仲仳仵件價任份仿企伉伊伍伎伏伐休眾優夥會傴傘偉傳伢傷倀倫傖偽佇佤充兆先光全共關興再軍農冰冱沖決鳧凼刎刑劃刖列劉則剛創劣動匈匠匡華協印危壓厭厙籲吃各吆合吉吊同名後吏吐向吒嚇呂吖嗎囝回囟因囡團在圩圪圬圭圮圯地圳壙場圾壯夙多夷誇夾奪夼奸她好妁如妃妄妝婦媽字存孫宅宇守安寺尋導尖塵尥堯盡屹屺嶼歲豈岌州巡鞏帆師年並莊慶延廷異式弛當懺忖忙戌戍戎戲成託扛扣扦執擴捫掃揚收旨早旬旭旮旯曲曳有朱樸朵機朽殺雜權次歡此死畢氖氘氽汆汊汐汔汕汗汛汜汝江池汙湯汲燈灰爺牝牟犴獷獁玎璣百祁竹米糸紆紅紂纖紇約級紈纊紀紉缶網羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色芄芊芋芍芎芏芑芒薌芝芨虍蟲血行衣西觀講諱謳詎訝訥許訛論訟諷設訪訣貞負軌達遷迂迄迅過邁邡邢那邦邪鄔釓釔閆閉問闖阪阮阱防陽陰陣階頁餳馱馴馳齊",
 "7":"兩嚴串麗亂亨畝伯估伲伴伶伸伺似伽佃但位低住佐佑體何佗佘餘佚佛作佝佞佟你傭僉佧克免兌兕兵況冶冷凍初刪判刨利別剄助努劫劬劭勵勁勞匣醫卣滷即卻卵縣君吝吞吟吠吡唚否吧噸吩含聽吭吮啟吱吲吳吵吸吹吻吼吾呀呃呆呈告呋吶嘸囈呔嘔嚦唄員咼嗆嗚囤囫園困囪圍圇圻址阪均坊坌坍坎壞坐坑塊堅壇壢壩塢墳墜聲殼奩奐妊妍妒妓妖妗妙妞妣妤妥妨嫵嫗媯姊姒孚孛孜孝宋完巨集壽尬尾尿局屁層岈岍岐岑岔嶇崗峴嶴嵐島岜希幃帳庇床庋序廬廡庫應棄弄弟張形彤彷役徹忌忍忐忑忒志忘忡忤憂忪快忭忮忱忸忻愾懷憮慪悵愴我戒扭扮扯擾扳扶批扼找技抄抉把抑抒抓投抖抗折撫拋摶摳掄搶護報拒擬攸改攻旰旱時曠更杆杈杉杌李杏材村杓杖杜杞束槓條來楊榪極歟步殲每氙氚求汞汨汩汪汰汴汶洶汽汾沁沂沃沅沆沈沉沌沏沐沔沙沛溝沒灃漚瀝淪滄溈滬泐泛靈灶灸灼災燦煬牡牢狀猶狁狂狃狄狽玖瑪甫甬男甸町疔癤療皁盯矣磯社祀秀私禿究窮系緯紜純紕紗綱納縱綸紛紙紋紡紐紓罕羌肓肖肘肚肛肜肝肟腸良羋芘芙蕪芟芡芤芥蘆芩芪芫芬芭芮芯芰花芳芴芷芸芹芽芾蓯苄葦藶苊莧萇蒼苧蘇苡苣虯補角言證詁訶評詛識詐訴診詆謅詞詘詔譯詒谷豆豕豸貢財赤走足身軒軔辛辰迎運近迓返迕還這進遠違連遲邑郵邯邰邱邳邴邵邶邸鄒鄴鄰酉裡針釘釗釙釕閏闈閒閎間閔閌悶阻阼阽阿陀陂附際陸隴陳陘韌飩餼飪飫飭飯飲驅駁驢鳩雞麥龜",
 "8":"喪乖乳事些亟享京佩佬佯佰佳佴佶佻佼佾使侃侄侈侉例侍侏侑侔侗供依俠侶僥偵側僑儈儕儂兔兗其具典冼冽淨憑凱函刮到刳制刷券剎刺刻劊劌剴剁劑劾勢匭卑卒卓單賣卦臥卷巹廁叄參叔取呢呤呦周呱味呵呶呷呸呻呼命咀咂咄咆咋和咎詠咐咒咔咕咖嚨咚嚀噝哎囹固國圖坡坤坦坨坩坪坫坭坯坳坶坷坻坼垂垃壟壠壚備夜奄奇奈奉奮奔妮妯妲妹妻妾姆始姐姑姓委姍孟孢季孤孥學宓宕宗官宙定宛宜寶實寵審尚居屈屜屆岢岣巖岫岬嶺岱嶽岵岷岸崬巋峁嶧巫帑帔帕帖簾帙帚帛幟幸底庖店廟庚府龐廢建彌弦弧弩弳錄彼往徵徂徑忝忠念忽忿態慫怊怍怏怔怕怖怙怛憐怡怦性怩怪怫怯怵懌戕或戧戽戾房所承抨披抬抱抵抹抻押抽抿拂拄擔拆拇拈拉拊拌拍拎拐拓拔拖拗拘拙拚招攏揀擁攔擰撥擇放斧斬於旺昀昂昃昆昊昌明昏易昔昕曇朊朋服杪杭杯傑杲杳杵杷杼鬆板構枇枉枋析枕林枘枚果枝樅樞棗櫪梘棖槍楓梟櫃欣歐武歧歿毆氓氛沓沫沭沮沱沲河沸油治沼沽沾沿洩泅泊泌泓泔法泖泗濘泠泡波泣泥注淚泫泮泯泱泳瀧瀘濼瀉潑澤涇淺炅爐炊炎炒炔炕燉炙煒熗炬爬爸版犛牧物狍狎狐狒狗狙獰玟玢玩玫瑋環現甕甌甙畫甾畀暢疙疚疝瘧癘瘍的盂盱盲直知矸矽礬礦碭碼祆祈祉稈秉穸穹空竺糴線紺紲紱練組紳細織終縐絆紼絀紹繹經紿罔羅者耵耶肅股肢膚肥肩肪肫肭骯肯肱育餚肷肺肼肽腎腫脹脅臾舍艱苑苒苓苔苕苗檾苛苜苞苟苠苤若苦苫苯英苴苷蘋苻茁茂範茄茅茆茇茉茌莖蘢蔦塋煢茚虎虜蟣蝨表衩衫襯規覓視誆誄試詿詩詰詼誠誅詵話誕詬詮詭詢詣諍該詳詫諢詡責賢敗賬貨質販貪貧貶購貯貫轉軛輪軟轟迢迤迥迦迨邇迪迫迭迮述逕邾鬱郄郅郇郊郎郟鄶鄭鄆採金釷釺釧釤釩釣鍆釹釵閘鬧阜陋陌降限陔陝隸隹雨青非頂頃餞飾飽飼飴駔駛駟駙駒騶駐駝駑駕驛駘魚鳶鳴黽齒",
 "9":"臨舉亭亮親侮侯侵便促俄俅俊俎俏俐俑俗俘俚俜保俞俟信俁儔儼倆儷儉修茲養冒冠剃削剌前剮劍勃勇勉勳匍南卸釐厚受變敘叛呲咣吒咦咧諮咩咪咫咬咭咯我們咳咴鹹咻咽咿哀品哂哄哆哇哈哉哌響哏哐啞噠嘵嗶噦譁噲哚嚌噥哞喲哪囿型垌壘垓垛垠垡垢垣垤墾垧堊墊埡垮塏堖城埏復奎奏契奕獎姘姚姜姝姣姥姨奼姻姿威娃婁婭嬈嬌孌娜孩孿客宣室宥宦憲宮封將尜嘗屋屎屏峋峒峙峽嶠崢巒差巷帝帶幀幫幽庠庥度庭弈弭彎彖彥彪待徇很徉徊律後怎怒思怠急怨總懟恂恃恍恆恢恤恨恪恫恬慟懨愷惻惱惲戰扁扃拜括拭拮拯拱拴拶拷拼拽拾持掛指按挎挑挖撾撻挾撓擋撟掙擠揮挪挺政故斫施既昝星映春昧昨昭是昱昴暱昶晝顯曷朐枯枰枳枵架枷枸柁柃柄柏某柑柒染柔柘柙柚柝柞檸柢查柩柬柯柰柱柳檉柿梔柵標棧櫛櫳棟櫨櫟欄樹歪殂殃殄殆殤殘段毒毖毗氈氟氡氫泉泵澩潔洄洇洋洌洎灑洗洙洚洛洞津洧洪洫洮洱洲洳洵洹活窪洽派浹澆湞濁測澮濟瀏渾滸濃潯涎炫炭炮炯炱炳炷炸點炻煉熾烀爍爛烴爰牮牯牲牽狠狡狨狩獨狹獅獪猙獄猻玲玳玷玻珀珂珈珉珊珍珏琺瓏瓴甚甭畈畋界畎畏疣疤疥疫癧瘡瘋癸皆皇皈盅盆盈相盹盼盾省眄眇眈眉看瞘眨矜矧矩砂砉砌砍砑砒研磚硨砘硯碸砭祓祖祗祚祛祜祝神祠禰禹禺秋種科秒秕秭穿窀突竊窆豎竽竿篤笈類秈籽綁絨結絝繞絎繪給絢絳絡絕絞統缸罘罰美羿耍耐耔耷胂胃胄膽背胍胎胖胗胙胚胛勝胝胞胡胤胥朧腖胩臚脛脈舁舡舢艤茈茗茛茜繭茨茫茬茭茯茱茳茴茵茶茸茹茺茼荀荃荊荇草荏薦荑荒荔莢蕘蓽蕎薈薺蕩榮葷滎犖熒蕁藎蓀蔭蕒葒葤藥莒莛虐虹虺虻虼雖蝦蠆蝕蟻螞蚤衍衲衽衿袂襖嫋要覘覽覺訇誡誣語誚誤誥誘誨誑說誦誒貳賤賁貰貼貴貺貸貿費賀貽赳赴趙趴軲軻轤軸軹軼軤軫轢軺輕迷迸跡追退送適逃逄逅逆選遜郗郛郜郝郡郢酈鄖酊酋重鈣鈽鈦鉅鈍鈔鍾鈉鋇鋼鈑鈐鑰欽鈞鎢鉤鈧鍅鈥鈄鈕鈀閨聞闥閩閭閥閣閡陛陟陡院除隉隕險面革韭音頇項順須颮颯食餌饒餉餃餅首香驍罵驕驊駱駭駢骨鬼鷗鴉鴇鴆",
 "10":"乘亳俯俱俳俸俺俾倌倍倏倒倔倘候倚倜借倡倥倦倨倩倪倬倭倮債值傾偌健黨兼冢冤冥悽準凇涼凋凌剔剖剜剞剡剝劇勐匪匿卿厝原叟哥哦哧哨哩哭哮哲哳哺哼哽哿唁唆脣唉唏唐唑唔嘜嘮嗩唣喚唧啊圃圄圓垸埂埃埋埒埔埕塒壎堝壺夏套奘奚姬娉娌娑娓娘娟娠娣娥娩娛媧嫻婀孬宰害宴宵家宸容寬賓射屐屑展屙峨峪峭峰峻嶗崍席幬座弱徐徒徠恁戀恐恕恙恚恝恣恧恩恭息懇惡悃悄悌悍悒悔悖悚悛悝悟悅慳憫扇拳拿挈摯攣挨挫振挹挽捂捃捅捆捉捋捌捍捎捏捐捕撈損撿換搗效敉敵敖齋料旁旃旄旅旆晁晃晉晌晏曬曉曄暈暉晚晟朔朕朗柴栓棲慄栝校栩株栲栳樣核根格栽欒桀桁桂桃桄桅框案桉桊桌桎桐桑桓桔桕椏橈楨檔榿橋樺檜槳樁梃梆梢梧梨殉殊殷斃毪氤氦氧氨氬泰流漿浙浚浜浞浠浣浦浩浪浮浯浴海浸浼塗涅消涉湧涑涓涔涕濤澇淶漣潿渦渙滌潤澗漲澀烈烊烘烙燭煙烤煩燒燁燴燙燼熱愛爹特犧狳狴狷狸狺狻狼猁獫璽珙珞珠珥珧珩班琿琊瓞瓶瓷畔留畚畛畜疰皰疲疳痾疸疹疼疽疾痂痃痄病症癰痙皋皺益盍盎盞鹽監眙眚真眠眢眩砝弢砟砣砥砧砩砬砰破砷砸砈礪礱砼礫礎祟祥祧禎離祕租秣秤秦秧秩秫積稱窄窈竅站競笄笆笊筍笏笑筆筧笫粉粑紊素索緊綆綃絹繡綏絛繼綈缺罟罡罷羔羞翁翅耄耆耕耖耗耘耙聳恥耽耿聶胭胯胰胱胲胳胴膠胸胺胼能脂脆脊膾脎髒臍腦脒膿臬臭致舀舐舨航舫般舭舯艦艙豔荷荸荻荼荽蒞莆莉莎莓莘莜莞莠莨莩莪莫莰萊蓮蒔萵薟獲蕕瑩鶯蓴莽慮虔蚊蚋蚌蚍蚓蠶蚜蠔蚣蚧蚨蚩蚪蜆衄袞衰衷衾袁袍袒袖襪袢被覬請諸諏諾讀諑誹課諉諛誰諗調諂諒諄誶談誼豇豹豺賊贄賈賄貲賃賂贓資賅贐趕起趵躉趿躬軎軾載輊轎輇輅較辱逋逍透逐逑遞途逖逗通逛逝逞速造逡逢邐邕部郫郭郯郴鄲都酌配酎酏酐酒釜鈺錢鉦鉗鈷缽鈳鉕鈽鈸鉞鑽鉬鉭鉀鈿鈾鐵鉑鈴鑠鉛鉚鈰鉉鉈鉍鈮鈹鐸閫鬮閱閬陪陬陲陴陵陶陷隼雋難頊頑顧頓頎頒頌頏預餑餓餘餒驪騁驗駿高髟鬯鬲鴣鶇鸕鴨鴦鴟鴝鴛鴕",
 "11":"龕鷥齔乾偃假偈偎偏偕做停傯偶偷僂僨償傀兜獸冕減湊凰剪副勒勖勘匏匐匙匱匾廂厴廄唪唬售唯唰唱唳唷唼唾唿啁啃啄商啉啐啕啖啜啡啤啥啦嘖啪嗇囀齧啵啶啷嘯喏喵圈圉圊埝域埠埤埭垵埴埸培基埽堀堂堆堇堋堍塹墮堵夠奢娶娼婆婉婊婕婚婢婧婪嬰嬋嬸孰宿寂寄寅密寇尉屠崆崇崎崔崖崛崞崤崦崧崩嶄崮巢帷常幘幗庳庵庶康庸庹庾廊彈彗彩彬得徘徙徜恿悉悠患您愨懸悱悴悸悻悼情惆驚惋惕惘惚惜惝惟惦懼慘愜慚憚慣戚戛扈挲捧捩捭據捱捶捷捺捻掀掂掇授掉掊掎掏掐排掖掘掠探接控推掩措掬掭掮擄摑擲撣摻摜揶敏救敕教斂敝敢斛斜斷旋旌旎族晗晡晤晦晨曹曼望桫桴桶桷樑梅梏梓梗夢梭梯械梳梵檢櫺欲欷殍殞殮毫氪涪涫涮涯液涵涸涿澱淄淅淆淇淋淌淑淖淘淙淝淞淠淡淤淦淫淬淮深淳混淹添清淵淥漬瀆漸澠漁瀋滲渚渠烯烷烹烽焉焊焐焓煥燜燾爽牾牿犁猊獵猓獼猖猗猛猜猝猞玀豬貓率球琅理琉璉瑣瓠甜略畦疵痊痍癢痔痕瘂皎皚皸盒盔蓋盜盤盛眥眭眯眵眶眷眸眺眼著睜矯砦矽硇硌硎硐硒碩硤磽硭票祭禱禍秸移穢穭窯窒窕竟章笙笛笞笠笤笥符笨笪第笮笱笳笸箋籠籩筇粒粕粗粘糶糲累績緒綾續綺緋綽鞝緄繩維綿綬繃綢綹綣綜綻綰綠綴緇綞羚羝羥翊翌翎耜聃聆聊聾職聹胬脖脘腳脞脬脯脫脲腡臉舂舳舴舵舶舷舸船艫艴菀菁菅菇菊菌菏菔菖菘菜菝菟菠菡菥菩菪菰菱菲菸菹菽萁萃萄萆萋萌萍萎萏萑萘萜蘿螢營縈蕭薩萸著虛蚯蚰蚱蚴蚵蚶蚺蛀蛄蛆蛇蛉蠱蛋蠣蟶釁銜袈袋袤襲袱袷袼襠裉覡觖謀諶諜謊諫諧謔謁謂諤諭諼讒諮諳諺諦謎諞豉豚象賕賑賚賒赦赧趺趼趾躍蹌距軀輒輔輛逭逮逯逵逶逸邏郾鄂鄄酗酚醞酞野銬銠鉺銪鋮鋏鋣鐃鐺銅鋁銱銦鎧鍘銖銑鋌銩鏵銓鎩鉿銚鉻銘錚銫鉸銥鏟銃鐋銨銀銣閾閹閶鬩閿閽閻閼闡隅隆隈隋隍隨隱隗雀雩雪顱領頗頸餛餡館馗騏騎騍騅驂鷙鴯鴰鵂鴿鸞鴻鹿麩麻黃龔",
 "12":"褻傅傈傍傣儻儐儲儺傲鑿剩割募博厥廈廚啻啼啾喀喁喂喃善喇喈喉喊喋喑喔喘喙喜喝喟喧喱喳噴喹喻嘍嚳嗖嗟堙堞堠堡堤堪堰塄塔壹奠奧婷婺婿媒媚媛媼嫂孱孳富寐寒寓尊就屬屢崴崽崾嵇嵋嵌嶸嵛嶁嵫嵬嵯巰巽帽冪幄幅弒強弼彘彭御徨循悲惑惠懲憊惰惴惶惹惺愀愉愎愕慍愣憤憒愧慌慨戟戡戢扉掌掣掰掾揄揆揉揍揎描提插揖揞揠握揣揩揪揭揲援揸攬撳攙擱摟攪搓搔搜搭搽摒敞散敦敬斌斐斑斯普景晰晴晶晷智晾暫暑曾替最朝期棉棋棍棒棕棘棚棠棣森棰稜棵棹棺棼槨椅椋植椎椐椒櫝槧欏橢椰楗楮榔欹欺款殖殫殛毯毳毿毽氮氯氰淼渝渡渣渤渥溫渫渭港渲渴遊渺湃湄湍湎湓湔湖湘湛湟湫湮灣溼潰濺漵溉溲滁滋滑滯焙焚焦焯焰焱然煮牌牘犀犄犢犋犍猢猥猩蝟猱猴猸猹猾琚琛琢琥琦琨琪琬琮琰琳琴琵琶瓊瑛瓿甥甯番畲疇疏痘痛痞痢痣痤痦痧癆瘓癇登皓皖皴睃睇睞瞼矬短硝硪硫硬確礆祺祿禪禽稀稂稃程稍稅窖窗窘竄窩竣童竦筅等筋筌筏筐築筒答策筘篳篩箏筵粞粟粢粵粥糞紫絮縶緙緗緘緬纜緹緲緝繢緦緞緶緱縋緩締縷編緡緣縉羨翔翕翹耋耠聒聯臠脾腆腈臘腋醃腑腓腔腕腙腚腱腴舄舒舜舾艇萱萼落葆葑葙葚葛葜葡董葩葫葬葭蔥葳葵葶葸葺蒂蕆蒈蕢蔣蔞蒎蛐蛑蛔蛘蛙蛛蛞蛟蛤蛩蛭蠻蟄蛺蟯螄蠐蜒蜓街裁裂裝裎裒裕裙褳襝褲襉覃覿觚觴詈謨讜謖謝謠謗諡謙謐貂賦賭齎贖賞賜賡賠賧趁趄超越趨跆跋跌跎跏跑跖跗跚跛躒踐輦輩輝輥輞輟輜辜逼逾遁遂遄遇遍遏遐遑遒道遺酡酢酣酤酥釉釋量鑄鐒鋪錸鋱鏈鏗銷鎖鋰鋥鋤鍋鋯鋨鏽銼鋝鋒鋅鋶鉲鐗銳銻鋃鋟鋦錒闌闃闊闋隔隘隙雁雄雅集僱雯靂靚韓頡頰頜潁頦颶飧饗餷饋餿饞騙騭騷騖魷魯魴鵓鸝鵑鵠鵝鵒鷳鵜黍黑黹黿鼎",
 "13":"催傺傻像剽剿勤疊嗄嗅嗉嗌嗍嗑嗒嗓嗔嗜嗝嗡嗣嗤嗥嗦嗨嗪囁嗬嗯嗲噯嗵嗷嘟塌塍塑塘塞塥填塬墓媲媳媵媸媾嫁嫉嫌嬡嬪嫫寢寞尷嵊嵩嵴幌幕廉廒廓彀徭微想愁愆愈愍意愚感愫慈慊慎懾戤戥搋搌搏搐搛搞搠搡搦搪搬攜摁攝攄擺搖擯攤摸敫數斟新旒暄暇暌暖暗椴椹椽椿楂楔楚楝楞楠楣楦楫楱楷楸楹樓榀概欖榆櫬櫚櫸榘槌槎槐歃歆歇歌殿毀轂毹氳溏源溘溜溟溢溥溧溪溯溱溴溶溷溺溻溽滂滇滏滓滔潷滾灩灄滿瀅濾濫灤濱灘漓漠漭煅煊煌煎煜煞煤煦照煨煲煳煸煺牒犏獻猷猿獒瑁瑕瑗瑙瑚瑜瑞瑟瑰甄畸畹痰痱痴痺痼痿瘀瘁瘃癉瘐皙盟睚睛睡睢督睥睦睨睫睬睹瞄矮硼碇碉碌礙碎碑碓碗碘碚磧磣碰稟禁禊福稔稗稚稞稠穌窟窠窺竇筠筢筮筱筲筷籌筻籤簡糧粱粲粳縛縟縝縫縞纏縭縊縑繽罨罩罪置署群羧耮聘肄肆腠腥腧腩顎腮腰腹腺膩靦膃騰腿舅艄艉蒗蒙蒜蒡蒯蒲蒴蒸蒹蒺蒽蒿蓁蓄蓉蓊蓍蓐蓑蓓蓖藍薊蘺蕷鎣驀蓬虞蛸蛹蛾蜂蜃蜇蜈蜉蜊蜍蛻蝸蜣衙裔裘裟裨裰裱裸裼裾褂褚覦觜解觥觸訾詹譽謄謹謾謫譾謬豢貅貉貊賴趑趔跟跣跤跨跪跫跬路跳蹺蹕躚跺躋躲輳輻輯輸轡辭闢遘遛遢遣遙遨鄙鄞鄢鄣酩酪酬酮酯醯醬鑑錆鍺鍩錯錨錛鎝錁錕錫錮鑼錘錐錦杴錈鍃鉳錟錠鍵鋸錳錙闔闐闕障雉雍雎雛零雷雹霧靖靳靴靶韙韞韻頤頻頹頷穎颼饃餾饈驁騮騫騸骰骱髡魁魂鮁鮃鯰鱸鮒鮑鱟鮐鵡鵲鶓鵪鵯鵬鶉麂鼓鼠齟齡",
 "14":"齙齠僖僚僦僧僬僭僮僳儆兢凳劁劂廝嗽嗾嘀嘁嘈嘉嘌嘎嘏噓嘛嘞嘣嚶嘧塾墁境墅墉墒牆墚夤夥嫖嫘嫜嫠嫡嫣嫦嫩嬙孵察寡寤寥寨屣嶂幔幛廑廖弊彰願慕慝慢慵慷截戩搴搿摔摘摞摧摭摹摺撂攖撇撖敲斡旖旗暝曖暨榍榕榛榜榧榨榫榭榱榴榷榻槁槊槔檻檳櫧槭模歉殯毓滴滹漂漆漉漏演漕漤漩漪漫漯漱漳漶漾瀠瀟瀲濰潢瀦澉煽熄熊薰熔熘熙熬犒獍獐瑭瑤璦璃甍疑瘊瘌瘕瘞瘻瘙瘟瘥瘦瘩睽睪睿瞀瞅瞍碟碡碣碥碧鹼碲碳碴碹磁磋禚穩窨窬窶竭端箅箍箐箔箕算箜箝管箢簀篋籜籮簞簫箬箸粹粼粽精糝綦綮縹縵縲纓縮繆繅罌罱羆翟翠翡翥耥聚肇腐膀膂膈膊膏臏膜臧輿舔舞艋蓰蓼蓿蔌蔑蔓蔗蔚蔟蔡蔫薔蔸蘞藺蔻藹蔽蕖蜀蜘蜚蜜蜞蠟蜢蜥蜩蜮蜱蜴蜷蜻蜾蜿蠅蟈蟬螂裳裴裹褊褐褓褙褸褡褪覯觫誓譚譖譙讕譜譎豪貌贅賻賺賽赫跽踅踉踴躊轅轄輾辣遭遮鄯鄱酲酴酵酶酷酸酹釅釃釀銎鑾鍥鍇鏘鍶鍔鍤鍬鍾鍛鎪鍰鑀鍍鎂鏤鐨鋂闞隧雌雒需霽霆靜靼鞅韜韶顆饉饅驃騾驄骶骷髦魃魄魅鮭鮚鮪鮞鱭鮫鮮鯗鱘鶘鶚鶻鶿鶥鶩麼鼐鼻",
 "15":"齜齦僵僻儇儋凜劈劐勰嘬嘭囑嘲嘶嘹嘻嘿噌噍噎噔噗噘噙嚕噢噶墀增墟墨墩嬉寮履屨嶙嶝襆幡幢廛影徵德慧慰憋憎憔憧憨憬懂戮摩撅撐撒撕撙撞撤撩撬播撮撰攆擷擼攛擒敷暮暴暹槲槽槿樊樗樘樟橫檣櫻橄橡櫫毅滕潘潛潦潭潮潲潸潺潼澄澈澌澍澎瀾澳熟熠熨熳熵牖獗獠瑾璀璁璇璋瓔璜畿瘛瘠瘢瘤癟癱瘼瞌瞎瞑瞞瞢碾磅磉磊磐磔磕磙稷稹稻稼稽稿窳箭箱箴篁篆篇篌簣簍糅餱糈糊糌餈纈繚繕繒羯羰翦翩耦耬聵聰膘膛膝膣艏艘蔬蕃蕈蕉蕊蕙蕞蕤蕨蘄蘊蕺虢蝌蠍蝓蝗蝙蝠蝣蝤蝥蝮蝰蝴蝶蝻螻蝽蠑螋褒褥褫襤覲覷觶讞譴譫豌豫賾赭趟趣踏踔踝踞踟踢踣踩蹤躓踮躑踺躺轆遴遵醅醇醉醋醌鋈鏌鎮鎘鑷鐫鎳錼鎦鎬鎊鎰鎵鑌霄震霈黴靠靨鞋鞍韃鞽題顎顓顏額飄饜饊饌驏骸骺骼髫髯魘鯁鱺鰱鰹鯉鰣鰷鯀鯊鯇鯽鷂鶼鶴麾黎",
 "16":"齏齬齪儒冀凝劓嘴噤器噩噪噫噬噱噻噼嚆圜墼壁壅嬖嬗嬴寰廨廩徼憝憩憷憾懈懊懶懍撼擀擂擅操擎擐擗擻整斕暾樨樵樽樾橇橐橘橙橛櫥櫓櫞檎檠歙殪氅氆氌潞澡澧澶澹激濂濉瀨瀕熹燃燎燔燕燠燧犟獬獺璞瓢甏甑瘭瘰瘳瘴瘵瘸癮癭癀癃盥瞟瞠瞥瞰磨磬磲磺禧穆穡窿篙篚篝篡篥篦篪籃籬篷糕糖糗糙韁繾繰繯繳罹羲翮翰翱耨耩耪聱膦膨膪膳臻蕹蕻蕾薄薅薇薏薛薜薤薨薪藪薯螃螅螈融螓螗螟蟎螭螯蟆蟒衡褰褶贗贊贈踱踵踹踽蹀蹁蹂蹄蹉轍轔辨辯遽避邀邂鄹醍醐醑醒醚醛鏨鏢鏜鏝鏍鏞鏡鏑鏃鏇隰雕霍霎霏霓霖靛鞔鞘顳顢顛顙飆飈餐髭髹髻魈魎鯖鯪鯫鯡鯤鯧鯝鯢鯰鯛鯨鯴鯔鸚鷓鷚鹺麇麈黌黔默",
 "17":"鼽儡嚅嚎嚏嚓壑壕嬲嬤孺嶷徽懋懣懦戴擘擢擤擦曙朦檀檄簷檑檗檁檬濞濠濡濮濯燥燮爵獯璐璨璩甓疃癌癍皤瞧矚瞪瞬瞳瞵磴磷礁礅穗篼篾簇簋簌簏籪簧糜糟糠縻繁繇罄罅罾羈翳翼膺羶臀臁臂臃臆臊臌艚薰薷薹藁藉藏藐蘚螫螬螳螵螺螽蟀蟊蟋蟑蟓蟥襁襄觳謇豁豳貔貘贍贏蹇蹈蹊蹋躡蹣辮邃邈醢醣鍪鐔钁鐐鏷鎦鐓鑭鐠鑹鏹鐙隳霜霞鞠馘驟髀髁魍魏鱝鰈鰓鱷鰍鰒鰉鯿鰠鷯鷦鷲鷸麋黏黛黜黻鼢鼾齲",
 "18":"齷龠囅囂彝懵戳曛曜檫瀑燹璧癔癖癜癩瞻瞽瞿礓礞簟簦簪糨翻艟藕藜藤藩蟛蟠蟪蟮襟覆謦蹙蹦蹩躇邋醪鎏鏊鑊鐳鐲鐮鐿讎鞣鞫鞭韉顥餮馥髂髏鬃鬈鰲鰭鰨鰥鰩鷺鷹",
 "19":"黝黟黠鼬嚯孽巔攀攉攢曝瀚瀛瀣爆璺瓣疆癬礤簸簿籀籟纘羸羹艨藻藿蘅蘑蘧蟹蟾蠃蠊蠓蠖襞襦警讖蹬蹭蹯躕蹲蹴蹶蹼躥酃醭醮醯鏖鑔霪靄靡韝鞴顫驥髖髕鬏魑鰳鰾鱈鱉鰻鰵鱅鸌麒麓",
 "20":"麴黢黼鞀嚷嚼壤孀巍攘曦瀵瀹灌獾瓚矍籍糯纂耀櫱蘩蠕蠛譬躁躅酆醴醵鑣霰顬馨驤鬢魔鱖鱔鱗",
 "21":"鱒黥黧黷黲鼉鼯夔曩灝爝癲礴禳羼蠡蠢贛躪醺鐾露霸霹顰髓",
 "22":"鱧麝黯鼙囊懿氍瓤穰耱蘸蘼躐躔鑲",
 "23":"霾饔饕髑鬻鸛麟攥攫癯罐趲躦顴",
 "24":"鬟鼷鼴齇灞矗蠲蠹衢襻躞鑫",
 "25":"鬣饢囔戇攮纛",
 "26":"蠼爨"}

複製程式碼
  • 位元匹配漢字筆畫陣列

    [10,7,10, 10, 8, 10, 9, 11, 17, 14, 13, 5, 13, 10, 12, 15, 10, 6,
    10,9,13, 8, 10, 10, 8, 8, 10, 5, 10, 14, 16, 9, 12, 12, 15, 15, 7, 
    10,5, 5, 7, 10, 2, 9, 4, 8, 12, 13, 7, 10, 7, 21, 10, 8, 5, 9, 6, 13,
    8, 8, 9, 13, 12, 10, 13, 7, 10, 10, 8, 8, 7, 8, 7, 19, 5, 4, 8, 5,
    9, 10, 14, 14, 9, 12, 15, 10, 15, 12, 12, 8, 9, 5, 15, 10,
    16, 13, 9, 12, 8, 8, 8, 7, 15, 10, 13, 19, 8, 13, 12, 8, 5, 12, 9,
    4, 9, 10, 7, 8, 12, 12, 10, 8, 8, 5, 11, 11, 11, 9, 9, 18, 9, 12,
    14, 4, 13, 10, 8, 14, 13, 14, 6, 10, 9, 4, 7, 13, 6, 11, 14, 5, 13,
    16, 17, 16, 9, 18, 5, 12, 8, 9, 9, 8, 4, 16, 16, 17, 12, 9, 11, 15,
    8, 19, 16, 7, 15, 11, 12, 16, 13, 10, 13, 7, 6, 9, 5, 8, 9, 9,
    10, 6, 8, 11, 15, 8, 10, 8, 12, 9, 13, 10, 14, 7, 8, 11, 11, 14,
    12, 8, 7, 10, 2, 10, 7, 11, 4, 5, 7, 19, 10, 8, 17, 11, 12, 7, 3,
    7, 12, 15, 8, 11, 11, 14, 16, 8, 10, 9, 11, 11, 7, 7, 10, 4, 7, 17,
    16, 16, 15, 11, 9, 8, 12, 8, 5, 9, 7, 19, 12, 3, 9, 9, 9, 14, 12,
    14, 7, 9, 8, 8, 10, 10, 12, 11, 14, 12, 11, 13, 11, 6, 11, 19, 8,
    11,
    6, 9, 11, 4, 11, 7, 2, 12, 8, 11, 10, 12, 7, 9, 12, 15, 15, 11, 7,
    8, 4, 7, 15, 12, 7, 15, 10, 6, 7, 6, 11, 7, 7, 7, 12, 8, 15, 10, 9,
    16, 6, 7, 10, 12, 12, 15, 8, 8, 10, 10, 10, 6, 13, 9, 11, 6, 7, 6,
    6, 10, 8, 8, 4, 7, 10, 5, 9, 6, 6, 6, 11, 8, 8, 13, 12, 14, 13, 13,
    13, 4, 11, 14, 4, 10, 7, 5, 16, 12, 18, 12, 13, 12, 9, 13,
    10, 12, 24, 13, 13, 5, 12, 3, 9, 13, 7, 11, 12, 7, 9, 12, 15, 7, 6,
    6, 7, 8, 11, 13, 8, 9, 13, 15, 10, 11, 7, 21, 18, 11, 11, 9, 14,
    14, 13, 13, 10, 7, 6, 8, 12, 6, 15, 12, 7, 5, 4, 5, 11, 11, 15, 17,
    9, 19, 16, 12, 14, 11, 13, 10, 13, 14, 11, 14, 7, 6, 3, 14, 15, 12,
    11, 10, 13, 12, 6, 12, 14, 5, 3, 7, 4, 12, 17, 9, 9, 5, 9, 11, 9,
    11,
    9, 10, 8, 4, 8, 10, 11, 9, 5, 12, 7, 11, 11, 8, 11, 11, 6, 9, 10,
    9, 10, 2, 10, 17, 10, 7, 11, 6, 8, 15, 11, 12, 11, 15, 11, 8, 19,
    6, 12, 12, 17, 14, 4, 12, 7, 14, 8, 10, 11, 7, 10, 14, 14, 8, 8, 6,
    12, 11, 9, 7, 10, 12, 16, 11, 13, 13, 9, 8, 16, 9, 5, 7, 7, 8, 11,
    12, 11, 13, 13, 5, 16, 10, 2, 11, 6, 8, 10, 12, 10, 14, 15, 8, 11,
    13,
    2, 7, 5, 7, 8, 12, 13, 8, 4, 6, 5, 5, 12, 15, 6, 9, 8, 9, 7, 9, 11,
    7, 4, 9, 7, 10, 12, 10, 13, 9, 12, 9, 10, 11, 13, 12, 7, 14, 7, 9,
    12, 7, 14, 12, 14, 9, 11, 12, 11, 7, 4, 5, 15, 7, 19, 12, 10, 7, 9,
    9, 12, 11, 9, 6, 6, 9, 13, 6, 13, 11, 8, 12, 11, 13, 10, 12, 9, 15,
    6, 10, 10, 4, 7, 12, 11, 10, 10, 6, 2, 6, 5, 9, 9, 2,
    9, 5, 9, 12, 6, 4, 9, 8, 9, 18, 6, 12, 18, 15, 8, 8, 17, 3, 10, 4,
    7, 8, 8, 5, 7, 7, 7, 7, 4, 8, 8, 6, 7, 6, 6, 7, 8, 11, 8, 11, 3, 8,
    10, 10, 7, 8, 8, 8, 9, 7, 11, 7, 8, 4, 7, 7, 12, 7, 10, 8, 6, 8,
    12, 12, 4, 9, 8, 13, 10, 12, 4, 9, 11, 10, 5, 13, 6, 8, 4, 7, 7, 4,
    15, 8, 14, 7, 8, 13, 12, 9, 11, 6, 9, 8,
    10, 11, 13, 11, 5, 7, 7, 11, 10, 10, 8, 11, 12, 8, 14, 9, 11, 18,
    12, 9, 12, 5, 8, 4, 13, 6, 12, 4, 7, 6, 13, 8, 15, 14, 8, 7, 13, 9,
    11, 12, 3, 5, 7, 9, 9, 7, 10, 13, 8, 11, 21, 4, 6, 9, 9, 7, 7, 7,
    12, 7, 16, 10, 10, 14, 10, 16, 13, 15, 15, 7, 10, 14, 12, 4, 11,
    10, 8, 12, 9, 12, 10, 12, 9, 12, 11, 3, 6, 9, 10, 13, 10, 7, 8, 19,
    10, 10, 11, 3, 7, 5, 10, 11, 8, 10, 4, 9, 3, 6, 7, 9, 7, 6, 9, 4,
    7, 8, 8, 9, 8, 8, 11, 12, 11, 8, 14, 7, 8, 8, 8, 13, 5, 11, 9, 7,
    8, 9, 10, 8, 12, 8, 5, 9, 14, 9, 13, 8, 8, 8, 12, 6, 8, 9, 6, 14,
    11, 23, 12, 20, 8, 6, 3, 10, 13, 8, 6, 11, 5, 7, 9, 6, 9, 8, 9, 10,
    8, 13, 9, 8, 12, 13, 12, 12, 10, 8, 8, 14, 6, 9, 15, 9, 10, 10, 6,
    10, 9, 12, 14, 7, 12, 7, 11, 12, 8, 12, 7, 16, 16, 10, 7, 16, 10,
    11, 6, 5, 5, 8, 10, 17, 17, 14, 11, 9, 6, 10, 5, 10, 8, 12, 10, 11,
    10, 5, 8, 7, 6, 11, 13, 9, 8, 11, 14, 14, 15, 9, 15, 12, 11, 9, 9,
    9, 10, 7, 15, 16, 9, 8, 9, 10, 9, 11, 9, 7, 5, 6, 12, 9, 12, 7, 9,
    10, 6, 8, 5, 8, 13, 10, 12, 9, 15, 8, 15, 12,
    8, 8, 11, 7, 4, 7, 4, 7, 9, 6, 12, 12, 8, 6, 4, 8, 13, 9, 7, 11, 7,
    6, 8, 10, 7, 12, 10, 11, 10, 12, 13, 11, 10, 9, 4, 9, 12, 11, 16,
    15, 17, 9, 11, 12, 13, 10, 13, 9, 11, 6, 9, 12, 17, 9, 12, 6, 13,
    10, 15, 5, 12, 11, 10, 11, 6, 10, 5, 6, 9, 9, 9, 8, 11, 13, 9, 11,
    17, 9, 6, 4, 10, 8, 12, 16, 8, 11, 5, 6, 11, 6, 13, 15, 10, 14,
    6, 5, 9, 16, 4, 7, 10, 11, 12, 6, 7, 12, 13, 20, 12, 3, 9, 10, 6,
    7, 13, 6, 9, 2, 10, 3, 13, 7, 16, 8, 6, 11, 8, 11, 9, 11, 11, 4, 5,
    9, 7, 7, 7, 10, 6, 14, 9, 6, 8, 10, 5, 9, 12, 10, 5, 10, 11, 15, 6,
    9, 8, 13, 7, 10, 7, 6, 11, 7, 13, 10, 8, 8, 6, 12, 9, 11, 9, 14,
    12, 8, 10, 13, 9, 11, 11, 9, 14, 13, 12, 9, 4, 13, 15, 6,
    10, 10, 9, 8, 11, 12, 10, 8, 15, 9, 9, 10, 6, 19, 12, 10, 9, 6, 6,
    13, 8, 15, 12, 17, 12, 10, 6, 8, 9, 9, 9, 20, 12, 11, 11, 8, 11, 9,
    7, 9, 16, 9, 13, 11, 14, 10, 10, 5, 12, 12, 11, 9, 11, 12, 6, 14,
    7, 5, 10, 8, 11, 13, 14, 9, 9, 13, 8, 7, 17, 7, 9, 10, 4, 9, 9, 8,
    3, 12, 4, 8, 4, 9, 18, 10, 13, 4, 13, 7, 13, 10, 13, 7, 10, 10,
    6, 7, 9, 14, 8, 13, 12, 16, 8, 11, 14, 13, 8, 4, 19, 12, 11, 14,
    14, 12, 16, 8, 10, 13, 11, 10, 8, 9, 12, 12, 7, 5, 7, 9, 3, 7, 2,
    10, 11, 11, 5, 6, 13, 8, 12, 8, 17, 8, 8, 10, 8, 8, 11, 7, 8, 9, 9,
    8, 14, 7, 11, 4, 8, 11, 15, 13, 10, 5, 11, 8, 10, 10, 12, 10, 10,
    11, 8, 10, 15, 23, 7, 11, 10, 17, 9, 6, 6, 9, 7, 11, 9, 6, 7, 10,
    9, 12, 10, 9, 10, 12, 8, 5, 9, 4, 12, 13, 8, 12, 5, 12, 11, 7, 9,
    9, 11, 14, 17, 6, 7, 4, 8, 6, 9, 10, 15, 8, 8, 9, 12, 15, 14, 9, 7,
    9, 5, 12, 7, 8, 9, 10, 8, 11, 9, 10, 7, 7, 8, 10, 4, 11, 7, 3, 6,
    11, 9, 10, 13, 8, 14, 7, 12, 6, 9, 9, 13, 10, 7, 13, 8, 7, 10, 12,
    6, 12, 7, 10, 8, 11, 7, 7, 3, 11, 8, 13, 12, 9, 13, 11,
    12, 12, 12, 8, 8, 10, 7, 9, 6, 13, 12, 8, 8, 12, 14, 12, 14, 11,
    10, 7, 13, 13, 11, 9, 8, 16, 12, 5, 15, 14, 12, 9, 16, 12, 9, 13,
    11, 12, 10, 11, 8, 10, 10, 10, 7, 7, 6, 8, 9, 13, 10, 10, 11, 5,
    13, 18, 16, 15, 11, 17, 9, 16, 6, 9, 8, 12, 13, 7, 9, 11, 11, 15,
    16, 10, 10, 13, 11, 7, 7, 15, 5, 10, 9, 6, 10, 7, 5, 7, 10, 4, 7,
    12, 8, 9,
    12, 5, 11, 7, 8, 2, 14, 10, 9, 12, 10, 7, 18, 13, 8, 10, 8, 11, 11,
    12, 10, 9, 8, 13, 10, 11, 13, 7, 7, 11, 12, 12, 9, 10, 15, 11, 14,
    7, 16, 14, 5, 15, 2, 14, 17, 14, 10, 6, 12, 10, 6, 11, 12, 8, 17,
    16, 9, 7, 20, 11, 15, 10, 7, 8, 9, 11, 13, 13, 10, 7, 11, 10, 7,
    10, 8, 11, 5, 5, 13, 11, 14, 12, 13, 10, 6, 15, 10, 9, 4, 5, 11, 8,
    11, 16,
    11, 8, 8, 7, 13, 9, 12, 15, 14, 8, 7, 5, 11, 7, 8, 11, 7, 8, 12,
    19, 13, 21, 13, 10, 11, 16, 12, 8, 7, 15, 7, 6, 11, 8, 10, 15, 12,
    12, 10, 12, 9, 11, 13, 11, 9, 10, 9, 13, 7, 7, 11, 11, 7, 8, 6, 4,
    7, 7, 6, 11, 17, 8, 11, 13, 14, 14, 13, 12, 9, 9, 9, 6, 11, 7, 8,
    9, 3, 9, 14, 6, 10, 6, 7, 8, 6, 9, 15, 14, 12, 13, 14, 11, 14, 14,
    13, 6, 9, 8, 8, 6, 10, 11, 8, 13, 4, 5, 10, 5, 8, 9, 12, 14, 9, 3,
    8, 8, 11, 14, 15, 13, 7, 9, 12, 14, 7, 9, 9, 12, 8, 12, 3, 7, 5,
    11, 13, 17, 13, 13, 11, 11, 8, 11, 15, 19, 17, 9, 11, 8, 6, 10, 8,
    8, 14, 11, 12, 12, 10, 11, 11, 7, 9, 10, 12, 9, 8, 11, 13, 17, 9,
    12, 8, 7, 14, 5, 5, 8, 5, 11, 10, 9, 8, 16, 8, 11, 6, 8, 13, 13,
    14, 19, 14, 14, 16, 15, 20, 8, 5, 10, 15, 16, 8, 13, 13, 8, 11, 6,
    9, 8, 7, 7, 8, 5, 13, 14, 13, 12, 14, 4, 5, 13, 8, 16, 10, 9, 7, 9,
    6, 9, 7, 6, 2, 5, 9, 8, 9, 7, 10, 22, 9, 10, 9, 8, 11, 8, 10, 4,
    14, 10, 8, 16, 10, 8, 5, 7, 7, 10, 13, 9, 13, 14, 8, 6, 15, 15, 11,
    8, 10, 14, 5, 7, 10, 10, 19, 11, 15, 15, 10, 11, 9, 8, 16, 5,
    8, 8, 4, 7, 9, 7, 10, 9, 6, 7, 5, 7, 9, 3, 13, 9, 8, 9, 17, 20, 10,
    10, 8, 9, 8, 18, 7, 11, 7, 11, 9, 8, 8, 8, 12, 8, 11, 12, 11, 12,
    9, 19, 15, 11, 15, 9, 10, 7, 9, 6, 8, 10, 16, 9, 7, 8, 7, 9, 10,
    12, 8, 8, 9, 11, 14, 12, 10, 10, 8, 7, 12, 9, 10, 8, 11, 15, 12,
    13, 12, 13, 16, 16, 8, 13, 11, 13, 8, 9, 21, 7, 8, 15, 12, 9,
    11, 12, 10, 5, 4, 12, 15, 7, 20, 15, 11, 4, 12, 15, 14, 16, 11, 14,
    16, 9, 13, 8, 9, 13, 6, 8, 8, 11, 5, 8, 10, 7, 9, 8, 8, 11, 11, 10,
    14, 8, 11, 10, 5, 12, 4, 10, 12, 11, 13, 10, 6, 10, 12, 10, 14, 19,
    18, 12, 12, 10, 11, 8, 2, 10, 14, 9, 7, 8, 12, 8, 8, 11, 11, 10, 6,
    14, 8, 6, 11, 10, 6, 3, 6, 7, 9, 9, 16, 4, 6, 7, 7, 8, 5, 11,
    9, 9, 9, 6, 8, 10, 3, 6, 13, 5, 12, 11, 16, 10, 10, 9, 15, 13, 8,
    15, 11, 12, 4, 14, 8, 7, 12, 7, 14, 14, 12, 7, 16, 14, 14, 10, 10,
    17, 6, 8, 5, 16, 15, 12, 10, 9, 10, 4, 8, 5, 8, 9, 9, 9, 9, 10, 12,
    13, 7, 15, 12, 13, 7, 8, 9, 9, 10, 10, 11, 16, 12, 12, 11, 8, 10,
    6, 12, 7, 9, 5, 7, 11, 7, 5, 9, 8, 12, 4, 11, 6, 11, 8, 7, 11,
    8, 11, 17, 15, 5, 11, 23, 6, 16, 10, 6, 11, 10, 4, 8, 4, 10, 8, 16,
    7, 13, 14, 12, 11, 12, 13, 12, 16, 5, 9, 22, 20, 20, 20, 5, 9, 7,
    9, 12, 10, 4, 4, 2, 7, 7, 6, 4, 3, 7, 6, 5, 4, 4, 6, 9, 13, 9, 16,
    14, 13, 10, 9, 4, 12, 9, 6, 9, 20, 16, 17, 6, 10, 8, 6, 2, 15, 8,
    6, 15, 13, 12, 7, 10, 8, 10, 15, 9, 11, 13, 17, 13, 14, 3, 8,
    6, 12, 10, 13, 8, 12, 12, 6, 12, 13, 6, 10, 12, 14, 10, 9, 6, 8, 7,
    7, 13, 11, 13, 12, 10, 9, 8, 7, 3, 7, 14, 8, 5, 8, 16, 17, 16, 12,
    6, 10, 15, 14, 6, 11, 12, 10, 3, 8, 14, 11, 10, 12, 10, 6, 3, 14,
    4, 10, 7, 8, 11, 11, 11, 6, 8, 11, 13, 10, 13, 10, 7, 6, 10, 5, 8,
    7, 7, 11, 10, 8, 9, 7, 8, 11, 9, 8, 13, 11, 7, 5, 12, 9, 4, 11,
    9, 11, 12, 9, 5, 6, 5, 9, 9, 12, 8, 3, 8, 2, 5, 9, 7, 4, 9, 9, 8,
    7, 5, 5, 8, 9, 8, 8, 6, 5, 3, 5, 9, 8, 9, 14, 10, 8, 9, 13, 16, 9,
    5, 8, 12, 8, 4, 5, 9, 9, 8, 8, 6, 4, 9, 6, 7, 11, 11, 8, 14, 11,
    15, 8, 11, 10, 7, 13, 8, 12, 11, 12, 4, 12, 11, 15, 16, 12, 17, 13,
    13, 12, 13, 12, 5, 8, 9, 7, 6, 9, 14, 11, 13, 14,
    10, 8, 9, 14, 10, 5, 5, 10, 9, 17, 4, 11, 10, 4, 13, 12, 7, 17, 9,
    12, 9, 11, 10, 9, 12, 15, 15, 9, 7, 5, 5, 6, 13, 6, 13, 5, 7, 6, 8,
    3, 8, 10, 8, 10, 9, 7, 6, 9, 12, 15, 16, 14, 7, 12, 9, 10, 10, 12,
    14, 13, 13, 11, 7, 8, 14, 13, 14, 9, 11, 11, 10, 21, 13, 6, 17, 12,
    14, 10, 6, 10, 10, 13, 11, 10, 14, 11, 10, 12, 8, 13, 5, 5, 6, 12,
    16, 9, 17, 15, 9, 8, 8, 5, 10, 11, 4, 8, 7, 7, 13, 8, 15, 13, 7,
    17, 13, 15, 14, 10, 8, 12, 10, 14, 11, 5, 9, 6, 13, 13, 11, 12, 15,
    10, 16, 10, 15, 11, 15, 10, 11, 10, 13, 10, 11, 10, 9, 11, 10, 5,
    10, 10, 18, 13, 10, 13, 11, 10, 15, 12, 12, 15, 16, 12, 7, 12, 17,
    11, 10, 9, 8, 4, 11, 13, 5, 11, 9, 14, 12, 9, 7, 8, 11, 13, 9, 10,
    8, 4, 7, 9,
    5, 6, 11, 9, 9, 9, 12, 10, 10, 13, 17, 6, 11, 7, 12, 11, 10, 12, 9,
    12, 11, 7, 5, 10, 5, 7, 9, 8, 10, 10, 10, 11, 3, 6, 8, 12, 6, 11,
    13, 13, 13, 14, 9, 7, 4, 17, 8, 6, 11, 10, 7, 6, 8, 12, 7, 8, 12,
    9, 9, 12, 9, 9, 4, 10, 9, 5, 15, 9, 12, 8, 10, 3, 11, 7, 13, 10,
    11, 12, 11, 8, 11, 3, 12, 7, 4, 3, 8, 6, 8, 8, 11, 7, 6, 9,
    20, 13, 6, 4, 7, 10, 7, 11, 11, 4, 14, 11, 7, 11, 8, 6, 6, 7, 7, 5,
    14, 8, 9, 9, 12, 17, 7, 12, 11, 11, 15, 3, 14, 12, 10, 4, 9, 7, 7,
    14, 10, 6, 13, 10, 8, 9, 13, 10, 12, 7, 14, 8, 12, 7, 7, 7, 9, 4,
    6, 9, 9, 4, 7, 11, 7, 7, 4, 8, 4, 10, 4, 14, 6, 9, 7, 5, 13, 11, 8,
    4, 5, 10, 9, 8, 14, 8, 6, 11, 8, 12, 15, 6, 13, 10,
    12, 10, 7, 11, 15, 3, 11, 14, 11, 13, 6, 12, 17, 11, 10, 3, 13, 12,
    11, 9, 7, 12, 6, 8, 15, 9, 7, 17, 14, 13, 9, 8, 9, 3, 12, 10, 6,
    11, 13, 6, 5, 14, 6, 9, 8, 11, 11, 7, 9, 8, 13, 9, 9, 8, 13, 7, 13,
    11, 12, 9, 10, 8, 8, 9, 11, 22, 9, 15, 17, 12, 3, 12, 10, 8, 13, 9,
    8, 9, 9, 15, 13, 6, 11, 11, 12, 15, 9, 10, 18, 12, 10, 10, 11, 10,
    3, 7, 10, 7, 11, 10, 10, 13, 8, 13, 15, 15, 6, 9, 13, 6, 11, 8, 11,
    5, 11, 9, 19, 16, 8, 8, 12, 10, 16, 7, 12, 8, 7, 13, 7, 4, 9, 11,
    9, 13, 12, 12, 6, 6, 9, 7, 6, 6, 16, 8, 7, 8, 8, 5, 4, 10, 6, 7,
    12, 14, 6, 9, 10, 6, 13, 12, 7, 10, 10, 14, 6, 14, 11, 14, 9, 10,
    6, 13, 11, 9, 6, 7, 10, 9, 12, 12, 11, 11, 7, 12, 9, 11, 11, 5,
    9, 19, 10, 9, 13, 16, 8, 5, 11, 6, 9, 14, 12, 6, 8, 6, 6, 6, 10, 6,
    5, 5, 9, 6, 6, 8, 9, 10, 7, 3, 7, 4, 10, 11, 13, 11, 12, 9, 6, 6,
    11, 9, 11, 10, 11, 10, 7, 9, 12, 8, 7, 7, 15, 11, 8, 8, 8, 11, 11,
    9, 14, 10, 12, 16, 6, 9, 12, 10, 9, 12, 10, 11, 10, 9, 5, 10, 10,
    7, 6, 8, 8, 6, 9, 6, 10, 6, 11, 9, 10, 14, 16, 13, 7, 14,
    13, 6, 13, 11, 12, 9, 9, 10, 9, 9, 20, 12, 15, 8, 6, 11, 7, 3, 6,
    11, 5, 5, 6, 12, 8, 11, 1, 12, 7, 12, 11, 8, 6, 6, 13, 6, 12, 11,
    5, 10, 14, 7, 8, 9, 18, 12, 9, 10, 3, 1, 7, 4, 4, 7, 8, 7, 6, 3, 7,
    17, 11, 13, 9, 6, 13, 13, 15, 4, 3, 10, 13, 8, 5, 10, 7, 6, 17, 11,
    8, 9, 9, 6, 10, 9, 6, 8, 7, 11, 11, 11, 7, 4, 4, 11,
    5, 8, 15, 11, 18, 7, 14, 10, 11, 11, 9, 14, 7, 17, 9, 15, 13, 12,
    9, 9, 8, 7, 17, 10, 11, 13, 14, 13, 8, 8, 10, 5, 11, 9, 5, 9, 6,
    11, 7, 4, 5, 7, 10, 7, 8, 12, 7, 6, 4, 5, 7, 12, 9, 2, 5, 6, 11, 3,
    8, 13, 13, 13, 14, 7, 9, 12, 8, 12, 12, 11, 11, 4, 10, 8, 3, 6, 9,
    6, 9, 6, 5, 11, 6, 8, 6, 12, 12, 10, 12, 13, 11, 9, 8, 13,
    10, 12, 12, 10, 15, 5, 10, 11, 10, 4, 9, 10, 10, 12, 14, 7, 7, 10,
    13, 13, 12, 7, 8, 14, 9, 9, 4, 6, 12, 11, 9, 8, 12, 4, 10, 10, 10,
    4, 9, 4, 9, 4, 7, 15, 11, 10, 13, 5, 5, 10, 6, 10, 9, 7, 10, 10, 6,
    6, 9, 19, 12, 16, 10, 10, 12, 14, 17, 12, 19, 8, 6, 16, 9, 20, 16,
    10, 7, 7, 17, 8, 8, 6, 8, 10, 9, 15, 15, 12, 16, 4, 12, 12, 5, 5,
    11, 8, 9, 9, 14, 8, 5, 9, 7, 14, 10, 6, 10, 10, 14, 18, 9, 13, 11,
    8, 10, 8, 14, 11, 10, 22, 9, 5, 9, 10, 12, 11, 15, 11, 14, 14, 7,
    12, 10, 7, 3, 7, 8, 5, 8, 16, 13, 8, 9, 7, 8, 9, 13, 13, 6, 14, 5,
    14, 7, 10, 12, 16, 8, 13, 14, 7, 10, 9, 13, 10, 13, 10, 16, 6, 7,
    8, 8, 10, 7, 15, 10, 15, 6, 13, 9, 11, 8, 9, 6, 8, 16, 9, 5, 9,
    9, 10, 8, 7, 6, 8, 4, 7, 14, 8, 8, 10, 5, 3, 8, 11, 8, 12, 12, 6,
    10, 8, 7, 9, 4, 11, 5, 6, 7, 7, 10, 11, 6, 10, 13, 8, 9, 8, 12, 10,
    13, 8, 8, 11, 12, 8, 11, 4, 9, 8, 9, 10, 8, 9, 8, 9, 6, 6, 6, 8, 6,
    9, 7, 12, 9, 7, 8, 8, 10, 8, 9, 17, 10, 10, 12, 6, 11, 10, 8, 10,
    6, 10, 12, 8, 17, 15, 5, 11, 9, 7, 11, 8, 12, 12,
    7, 8, 9, 8, 7, 4, 9, 4, 9, 8, 15, 14, 15, 10, 6, 12, 6, 15, 6, 7,
    12, 13, 9, 14, 7, 11, 10, 10, 10, 8, 8, 10, 12, 8, 10, 11, 11, 7,
    9, 9, 9, 10, 9, 12, 11, 7, 12, 5, 9, 13, 3, 6, 11, 6, 18, 12, 15,
    8, 11, 9, 7, 7, 7, 9, 12, 10, 7, 8, 11, 9, 7, 7, 8, 10, 20, 16, 15,
    12, 13, 12, 15, 9, 5, 7, 9, 11, 7, 7, 10, 0, 0, 0, 0, 0,
    3, 3, 3, 4, 4, 4, 5, 6, 6, 10, 10, 16, 1, 8, 1, 2, 3, 4, 4, 5, 5,
    6, 9, 11, 14, 14, 19, 1, 8, 14, 2, 6, 4, 7, 7, 11, 14, 4, 6, 10,
    11, 12, 14, 15, 16, 2, 5, 8, 11, 11, 15, 8, 7, 2, 4, 6, 7, 8, 8, 8,
    9, 10, 10, 10, 13, 13, 14, 14, 15, 16, 2, 8, 2, 4, 4, 4, 5, 5, 5,
    5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9,
    9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11,
    11, 11, 11, 11, 11, 11, 12, 12, 12, 13, 14, 14, 14, 14, 14, 14, 15,
    15, 5, 6, 7, 7, 9, 17, 6, 8, 4, 12, 16, 17, 18, 21, 2, 9, 9, 11, 6,
    6, 7, 2, 8, 10, 10, 11, 12, 12, 12, 13, 16, 19, 19, 2, 6, 8, 8,
    10, 2, 10, 10, 2, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8,
    8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 11,
    11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13,
    14, 14, 14, 15, 15, 19, 2, 8, 2, 5, 5, 6, 6, 7, 7, 7, 7, 8, 9, 9,
    10, 10, 10, 11, 11, 11, 16, 5, 5, 5, 5, 6, 6, 7, 7, 7, 7,
    7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 10, 10, 11, 11, 13, 13,
    13, 14, 14, 16, 19, 17, 5, 7, 5, 7, 7, 8, 10, 10, 11, 15, 9, 17,
    20, 2, 2, 6, 10, 2, 5, 10, 12, 7, 9, 9, 14, 16, 16, 17, 6, 6, 6, 6,
    6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9,
    9, 9, 9, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11,
    11, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 14, 14, 14, 15, 20, 21,
    22, 3, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
    8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
    9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
    10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11,
    11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
    11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
    12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
    13, 14, 14, 14, 14, 14, 14, 14,
    14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16,
    16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 18, 19, 19, 19, 20, 20, 22,
    3, 9, 6, 7, 9, 9, 10, 10, 11, 3, 5, 5, 12, 3, 6, 7, 8, 8, 8, 8, 9,
    9, 9, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
    12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13,
    13, 14, 14, 14, 14,
    14, 15, 15, 15, 15, 16, 16, 16, 17, 17, 19, 23, 25, 3, 7, 8, 12, 5,
    5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8,
    8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10,
    10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
    11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12,
    12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13,
    13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14,
    14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16,
    16, 16, 16, 16, 17, 17, 19, 25, 3, 6, 6, 7, 7, 8, 9, 10, 11, 11,
    16, 7, 8, 8, 8, 10, 11, 11,
    11, 12, 14, 14, 15, 15, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8,
    8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 11, 11, 11, 11, 11, 11,
    11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 14, 15, 15,
    17, 17, 19, 3, 7, 8, 9, 9, 9, 10, 11, 11, 12, 13, 15, 16, 24, 3, 3,
    5, 6, 6, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10,
    10, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 14, 14, 15,
    15, 16, 17, 20, 6, 14, 12, 14, 3, 3, 6, 7, 7, 7, 7, 7, 8, 9, 10,
    10, 11, 12, 12, 13, 13, 14, 15, 15, 25, 5, 7, 7, 8, 9, 9, 11, 11,
    11, 11, 12, 13, 14, 15, 16, 16, 17, 3, 5, 6, 6, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9,
    9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11,
    11, 12, 12, 12, 12, 12, 12, 12, 13, 13, 14, 15, 15, 15, 16, 16, 18,
    8, 17, 4, 6, 7, 7, 7, 7, 9, 9, 10, 10, 10, 11, 11, 11, 11, 11, 11,
    12, 12, 13, 13, 13, 14, 3, 4, 8, 3, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10,
    10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11,
    11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
    12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
    13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15,
    15, 15, 15, 15, 16,
    16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 19, 19, 19, 20, 20, 21, 24,
    3, 5, 8, 8, 9, 10, 12, 13, 14, 14, 15, 16, 16, 17, 17, 3, 7, 7, 8,
    8, 8, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 12,
    12, 12, 12, 13, 13, 13, 13, 15, 15, 16, 16, 17, 17, 18, 3, 11, 9,
    12, 5, 9, 10, 10, 12, 14, 15, 21, 8, 8, 9, 11, 12, 22, 3, 6, 6, 7,
    7, 7, 7,
    7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10,
    10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13,
    13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 15, 16, 16, 17, 17, 20,
    5, 9, 7, 8, 12, 3, 3, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 10, 11, 11,
    11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 19, 20, 3, 6, 6, 6, 6, 6,
    7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 11, 11,
    11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
    13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 16,
    16, 16, 16, 19, 3, 15, 3, 8, 10, 6, 6, 8, 8, 8, 9, 9, 9, 9, 9, 9,
    9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 12, 12, 12, 12, 12,
    12, 12, 12,
    12, 12, 13, 13, 13, 13, 13, 14, 14, 15, 15, 15, 15, 15, 15, 15, 16,
    17, 17, 17, 18, 20, 20, 13, 13, 14, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8,
    8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
    9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
    10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12,
    12,
    12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
    13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14,
    14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16,
    16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 13, 14, 8, 9, 9, 9,
    11, 11, 11, 12, 12, 14, 16, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10,
    10, 10, 10, 11, 12, 12,
    12, 12, 13, 15, 16, 10, 5, 8, 11, 12, 12, 13, 13, 13, 14, 14, 8, 9,
    12, 16, 16, 17, 4, 6, 6, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9,
    10, 10, 10, 10, 10, 10, 11, 11, 12, 13, 13, 14, 14, 16, 18, 18, 20,
    21, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 12, 12, 14, 9, 10, 11,
    12, 13, 14, 15, 15, 9, 13, 6, 8, 9, 11, 11, 12, 12, 12, 13, 14, 10,
    11, 12,
    14, 17, 10, 10, 12, 12, 12, 13, 15, 16, 16, 22, 5, 6, 7, 7, 9, 10,
    10, 11, 13, 4, 11, 13, 12, 13, 15, 9, 15, 6, 7, 7, 7, 8, 8, 8, 8,
    8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10,
    10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12,
    12, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 15, 15, 16, 17, 17,
    17, 17,
    17, 16, 7, 11, 12, 13, 13, 16, 9, 9, 12, 13, 16, 16, 4, 13, 13, 17,
    12, 15, 16, 8, 10, 10, 10, 11, 11, 13, 14, 7, 8, 8, 8, 9, 9, 9, 9,
    9, 10, 10, 11, 11, 11, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 14,
    15, 15, 15, 15, 16, 16, 16, 18, 21, 30, 4, 11, 13, 16, 8, 8, 9, 11,
    12, 4, 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 10, 10, 12, 12, 13, 14, 16,
    21, 7, 7,
    9, 10, 10, 10, 10, 10, 10, 11, 13, 13, 14, 16, 16, 17, 17, 24, 4,
    6, 8, 9, 12, 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10,
    10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 12, 13, 13, 13, 13,
    13, 14, 14, 14, 14, 14, 15, 15, 15, 16, 16, 17, 17, 18, 19, 18, 21,
    11, 12, 17, 19, 8, 9, 9, 9, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12,
    12, 12, 12, 13, 13,
    13, 13, 14, 14, 14, 14, 15, 15, 16, 16, 16, 17, 18, 7, 8, 9, 9, 9,
    10, 12, 13, 17, 9, 10, 10, 12, 13, 14, 14, 16, 17, 17, 10, 16, 23,
    5, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
    10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
    10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
    11, 11, 11,
    11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12,
    12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13,
    13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15,
    15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17,
    17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 19, 20, 14, 9, 12, 13, 9,
    9, 10, 10, 11, 12, 12, 12, 13, 13,
    15, 15, 16, 17, 18, 22, 9, 11, 12, 13, 17, 10, 11, 7, 7, 8, 9, 9,
    10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12,
    13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 16, 16, 16, 17, 17,
    17, 17, 18, 18, 22, 5, 7, 7, 8, 8, 9, 9, 10, 10, 10, 10, 10, 10,
    10, 10, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13,
    14, 14, 14, 14, 14, 14, 14,
    15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 17, 18, 18, 18, 18,
    21, 23, 11, 12, 8, 8, 9, 9, 10, 11, 13, 13, 14, 14, 14, 15, 5, 8,
    9, 9, 9, 9, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 13,
    13, 14, 14, 14, 14, 14, 15, 15, 16, 17, 19, 24, 5, 9, 11, 12, 9, 6,
    9, 10, 12, 12, 13, 14, 15, 15, 16, 16, 22, 12, 8, 11, 11, 11, 12,
    15, 16, 12, 9, 10, 10,
    12, 12, 12, 12, 13, 15, 15, 16, 16, 16, 18, 20, 21, 6, 10, 7, 8, 9,
    9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11,
    11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
    12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14,
    14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
    15, 15, 15, 15, 16, 16, 16, 16,
    16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
    18, 18, 18, 18, 19, 19, 19, 19, 20, 21, 24, 26, 6, 14, 17, 17, 10,
    8, 9, 9, 9, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11,
    11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 14, 14,
    14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16,
    16, 16, 17, 17, 17, 17, 17, 17,
    18, 18, 18, 19, 19, 19, 8, 9, 11, 12, 10, 10, 9, 9, 9, 10, 10, 10,
    10, 11, 11, 11, 11, 12, 13, 13, 14, 15, 17, 18, 19, 10, 10, 11, 13,
    13, 19, 11, 11, 13, 15, 15, 16, 9, 10, 10, 11, 11, 12, 12, 13, 14,
    14, 14, 15, 15, 15, 15, 15, 16, 18, 6, 15, 9, 11, 12, 14, 14, 15,
    15, 16, 17, 6, 12, 14, 14, 17, 25, 11, 19, 9, 12, 13, 13, 23, 11,
    15, 10, 11, 9, 10, 10, 10, 12,
    12, 12, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 16, 16, 16, 17, 17,
    18, 19, 19, 19, 20, 20, 21, 7, 16, 10, 13, 14, 18, 18, 10, 10, 11,
    11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13,
    14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16,
    16, 17, 17, 17, 19, 19, 19, 19, 19, 20, 21, 22, 22, 23, 24, 7, 12,
    13, 13, 17, 17, 11, 11, 12, 12, 13,
    13, 14, 15, 13, 18, 12, 11, 12, 12, 14, 14, 16, 16, 16, 19, 19, 20,
    22, 10, 13, 13, 13, 14, 14, 15, 15, 17, 8, 12, 20, 8, 10, 10, 13,
    14, 18, 18, 14, 14, 15, 16, 17, 18, 18, 21, 24, 12, 12, 13, 13, 13,
    13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15,
    15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
    16, 17, 17, 17, 17, 17, 17, 17, 17,
    18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 20, 20, 20, 21, 14, 14,
    15, 15, 16, 18, 18, 18, 19, 19, 13, 13, 14, 14, 14, 15, 15, 17, 17,
    18, 18, 19, 19, 22, 14, 14, 15, 16, 16, 17, 19, 12, 15, 18, 22, 22,
    10, 13, 14, 15, 15, 16, 16, 16, 18, 19, 20, 23, 25, 14, 15, 17, 13,
    16, 16, 17, 19, 19, 21, 23, 17, 17, 17, 18, 18, 19, 20, 20, 20, 20,
    21, 17, 18, 20, 23, 23, 16, 17, 23
    ]
    複製程式碼

連結:pan.baidu.com/s/1yV5E9NZc… 密碼:p1b6

感謝:C# 計算中文漢字筆畫數

感謝:VBS計算漢字筆畫


相關文章