#include<string.h> #define L(i) strlen(t[i]) #define S(f,s,c) +f*!!strchr(s,c) #define U return #define R(x,y,b,z) T(x,y)z&b&&f(x,y), #define V i<0|j<0|j>=L(i) char t[80][80];c,n,z,i,j; T(i,j){char c=t[i][j];U V?0:S(1,"HIJKLTUVWXYZ",c)S(2,"CEFGHIKNSTUVWXY",c)S(8,"AFHIJKMNPRSX",c)S(4,"ACEHIKLMQRXZ",c);} f(i,j){int z=T(i,j);U V|t[i][j]<0?0:(t[i][j]=-1,R(i-1,j-1,1,/4&z)R(i-1,j+1,2,/4&z)R(i+1,j+1,1,&z/4)R(i+1,j-1,2,&z/4)1);}
CKZNXXJEHCNHICKFHNAFZTMNXZKXSXAFHEKKFJYUZPCHRSNAUPEZKIHZJSKKPHQJYHKMXSHCXKEHCXQ YSRCHHQLXXKKXITAAHSKMXISHIGFXMVXTZZKLXIXVHJYKTAHSHYPCFLHSWIHHCXXRXXJNKXXVVRNSKM CZWJKKNIXXUHKXCKRTXXSVHQZERHXIXNHXPKELNKHXRHFKHIEPKUWKXKUPHEKKIKLLSFWUSLYEEXLSI KHGURVKSXXKAGXIWKCSHFNVWWHNHNIVYKKAKZKFSKHCVRHUENHFIIKNUNICHYRKYXXHTLKYHPQKWHKI KGAFRXJMKMJJSXCUTFAKLHHFXTIXKNHKKRHIZHXWRRXJNHXQEMKKXCNVHWFMPERJKKZLHIKIUZRKWLM YRXXXCXXHVISVIYTHNHKSXKRXYHXUFYYKXTHXRYIIKHEWHXVZAZHTQKJAKKHXKKVCKJHWHIIZXXZZYK FQLXHIHJFKSKWMTHXISAXTVIKKHTIXUAGUAJHHHHRVHXHRNWKXKUKWHVUJLKIJCWTLCHTXSYTKLTFWX AEKNFXUXHXHICSNCYWNEVVALHXUSACWKRNJAKLLXKVJCZHSAKYHXLHHTHFKSMCGXHFHPKTHXTRYYWXK HHHKHXGKFUHKSKHKKHHRHIKYNQSXMKQKIXHTXXHHIXCZIWGXKAHRXKRYXPXXXVSYIXWXVMUFYWHKINZ XXWWHXUTXGKXFKZUTHHZPJGMAEHZVGHLEXHKKPXHZIVKFETHKXTIVKSMHWYEKHIMIHWEHKHIIJXXJZS XHHXHRHKKXHHVXYZMNHIYHKKXXKAVWKUKEXYGGCHMLHFJCKXXXHEXGCZUKMHIXKVXKHZHFLCKXIPZHH TCHAXXKHHNKKMKPRFKKURCWLFXWIXUGTKKXHKRSYKZUXQXIEYWWWKKIXGXHALKAXXJHEXXLMNXJKHHL INKRHXMMXZSTAZZKGLAPKLHSPGKUINHUMXXXLTNZWENCXLKRIXHZXHHKHCSXSHHXXKCTXXXHSFHJIHI SHXKTXKXWPYZXKCNYSAVMICKJHKSMXKAWVNHZKGPFYPAEKEWXNKXXHKEYHAYWKIYHKXEHNJJRISLXXI IHZLMKYUTHWHIXEKRJIHFVHCFKLMSKIKHMUHQLYXILMHKXXXCJHZXJKKHSHXMVCHIGSICHITKIGMYYT USKJTKLQYXYKKRKELMXVMLKNNNXIHPHMXKNXXYFKRHXRNNJRCQKEFKXXSWHUECTMCWVCXHLALKMSIZM VCKPXRCSYRVEKTCUHKVIKAXHMNMJMTKMGXEPJXYZVLKQFIIJRZHXHHSSRKHHYRHZXFHXXLUKXCAHNXX CGHQIQXTHRLIKKQFHQCUKZXLMVLSWHJKGKYKJMKVFIHHKYHCKAFXHMEHKJKMKWIXAYEKYKCXIMKHRXJ XYIJIIAHHEXKIYGKHKIALIXKRHRXYXRAVHGXTUKKKXHIIGNHXFVVHTFUKHNIKHFKRXHXXNIIXTSQHIH XSNXRHIUXHTXWYRHXHSXZKKKXIKHEKSHHWINIGEIXNJYSXILYIKHVYAMFNKXYWEINHHXSVFVXQRHUHW FRIRFCKFKIVHCKYXKXMTXELJXNCKWYHKXVTXIIHFVFZVHYSXEXZNWKWIXESHXFHKCKVPXUXCIMRHNXR XELHXNMKVHRHHHVKTKKPCXEXZHKPHNAWVXJKWWHMSKFFRUJVSHGXFATZSSWYXKHIHKAHXIEJXSKXFLE KFKECCCPWKXJTVKXHJRYVXUIFHKUHHHLMKSVJICQHKXZKNIXHKEHKNYTKKFKHUCHZFILHRHKHQKIIEJ MGIKXXPZQXHRHHXKXJHAGJKHIXKILXNEVWHXWWLTFWHHUMKJPZTJXXTXVPTMHHMGEPHIXRHLGQTWJCV UKHXXYXHAFXXSIJXHHXKLJQJIIKXIKYHSRKUNNKHTMXTCTKXGWFHSJKQSCHINSKLGSKUTXKKAWAEXAM LFKXWWXXSKKXPUIKTFREKIXLXNXKHHVXJKVWEFKFMYFIHGHXSHTEUJRIEAMQSXQMRJIHRETXYMHKIUX XFAAMXHXUFITLAWNMJYHTCWQFNXAIXKSZXIXXKRKAHWHYEAMVHNKLHKVUTAIZLVXGCHHAZTTHCELIGK XPJRXIVVFTJKQFNSKMKFKIHMRCHWFYVIRVXFPTKIKUKQKKMVKWIYIKRXWEVXUIHFHXASHHXVFWEWHHK KYELCKHLXXHXHTVMJHNFQUFJXKUHIZXFEXRZMEYZHSJXVZKMYHNCVEXKXKATRFLGHXTHXRPHXLHKSTY IXUUFXHWMKRIWWIRSKSCQHXSIIKRHXZNFCXXHSLXHRNHZXNWHKMQRPTHTHXXSVKHXZXICYHSXXXKXHU TXESLHCCEHHHHKHICSILWLHFEKVKSUECLAZHZXIKRUKWKFHXILWNSTMXXAGKWVLQNXESKXYIIXKXZRI HHSSHXRXKHNUWLKPXLIXFUIHXNKIKJCHTGWXLJZSLHSMZMSZTKLFAVEKIMGXJVAIKXHWUUHKHURIYMG IXMYFVXIWMZVNVYWKYFVXJKKEHKMNLYXNXFSRHHSANKTKTNVKNTRHPXKLRCMHLHUWKIMGWVFAPZXWXH RHIKVZWLHJYUKCQSSCNZFRRMXTJXQMRXCZIVPRHJMHVVXHHHLHKNKRKNXLKKREIWSTINKKXFSMPILXK KSFKKXGIAKXKRWHNHZMVFVFUHIKJWIHUJHHNKKSXMMUVNHEJIYCCWEHHHGJXWJJVXWIPXCKWHSXFYXI RWVXEHJLHANHXIVHMMQHAHHRKTMHXXXLHPCQRSHTHVXXJSXQZRHKKLSFYXKTKLKXHKHRSXLKKXUJXKJ TNKIMHEXKVYMVMRKTXIXJHTXYIXKMHXKKWQGFLGIFIKXKTMXSYYMTVQITPWHXHHKXEYKXHHJETJHXVK KXEWWAHIHVHXAUTCHZLRXKMKHKNKREKKMKHIHPXXZNFHFYIXHJXXWKIKHQWWISXZHJZKHHZXTGIIXJN YKZHRXXFQKHKXZHVEWSHREHKIYTFSTHLREKHFJIAVWKMKJMXHXKWKWYRTKMHIIXNCVKXRHKKEMYERRL KREZXUHKRQKFYKWKHEZXKWWXEHXYKLAIKYNVXFRPUNFHVJHKWZXSXKIHKYHKXFHYXXXTXIXIXGIXKHK ZHIKXXXRCSKVKYVHXKRJHHXWCNEXRQIKAIHHTFHWCSCZCHKXMUMKLVKXPKLIZIYKRKHIKZSHHAKCNKK ZUHHHWKMNIXRGAVXHCXAQUKXHHEXLIRNNHLHCKRZSXHKMKWTKHKVJEUSKHXEFPHMPKHYKKUMHFLKSIJ KKKZXHRRNSSKXWIUCXPJUFLJSVXHMRKHXWHYURHXNKCWKIXKKWHXZMRAHHXCKIHKXXTJRHTEHUHTPZK HAKHLHCEGIXIIVAYWWKXCEXIHKWMKEHILYZEXKHKYVWJVKVYHFTSNIHGHCIJXKNSXXTXHSYEXNFKHSY KWGUHKCXWGCXKFSIPZXIZKPLHIXXYPKYHHFKYMNTXHIVMNTRYJPUKUKYUMZFTYSIIXVAXINHCMXKTEH GQYGHKHIKKKIKXYGCHKLAYSXPHHKFSICIKFFHSKHMAWVYKHJKNZZXYISGZMJWRRIJILHHKKHFFKARKH RIKUACKKMVIGHXKKMHFSXJEKXFMKSHXZXHKMHHXXSXHHLXHHEKKAKMXXECVLHEIKGWACSNKKVKARERJ CXMVNITXXMKCYUIHUHUXUIKYHNZYHXXLTHJATGKHKTIKKYTWXRJIXCJNHTYXIRLTKAMEHZMKRJXHAWV HKIMIQKMRSJNHZZYKHWWKSFIRHKHFWKKYFITXWATKKXSECSHKXHPQCNIIIWFMKUHUMXWCXYJHVSVELR NXUKLFAHVGGHYVTAWNIXHKXHXHXXAKKANKYIFXUTLKKTHHIKHKATJXKXETTWEKNIHQSKIXXJXXYLXXJ RXPCUSXZLZXVKIRLSVXHHXXKMAIXCXXQVIKIUKIXIXXJHXFRRSXXQREIWHXFKWISXYHVEKHYYXKZLMN XCHKWYHJRWXRLXLEAXXHKVRKLGUMWSCXINKHMNHHISNKLVKWXRWKEKPCRGZNIXSXTXHEKEEKHXTHJUH XGVNFTHKHNVGXGSRIPGKFXZTUKEKYKIINRKUHIKLHXRIYXRIKXSCENMZLXXHAXXWTIGJXHHWXHMIFIK HEVJQXTXKPFSTVKWGKXTKYRXJHVPKKNLQLPSXPIZVNIAKJJRHZHKFXIGRHKVCTVXINNHTGLIHMVYINA HIQHXXVZAHIHRHIHFTUWFKGKQKTAUXJSIXWHUXNXJIJIIAWUKHRLIHKVSIFSNKKHNTYCTPNWIKHHIKX MRLCMZXPALCTFXPHVHSVNXTJWFHKQZTZEYMALXXIXRJIKCFJYSPXKZXKUGKZLQHKUYINNUKKKLKMVLI VQHFXEKRVSHKKKHGWZWTLXRFWMVXHKKXWXKEHAJIXJKHXFNNGHKKLXKKKLJYKJEEHCKXTGHHICISHMF ZXPUAXPXKXXVYAHPIJHLRCIKXLCGZXLWFJPHXAHFKSLFEHGLKHFIIHHKHHCTVAKWPXWGIQKHNILHQJW XHPIQLZHKVUKXCMLHSFHEKHEKREWXKYIXSZHTAHIIEUYVUHSMKTHFKMGKSLMHXKYACCXXKATLYXKXFL WKHIKFVFKUVXXRVEYUTCRNCXPZCCLSKTHWQXXJMHFLKXHNXCVZXHGXYAVYEXVJCHKXIKMSVAXVHNEXV IXIKYSSJQKKPTXFXFREKXJAKKXEJXNVXHEUJHIMHHPNRVZHXUKZPWTXCCIHXAKZUSHXRMSLIUWHIHKK MXIHKCKKHSIHXCKCRKATFKFSJXLRXIJNFYQISMKHSAYKZXPXNIHWSKHXYZLAVXIEXVTYHGSRXXAGQRK IMCXXHXSCXVXCKCTHNSHWEIRAELTJMFKCXQIIXVFSZXHXXIPCCFIZXEXPWHEGJUHWXGZJCISRJSCIPV HIXHUIHJXXLXXXZLNZCTJKYHNHAVIHIITLHXGEXXKUIXGNKLHHUVFJAFKHHPCJSUKXHCSIHKCXZEIFI UKUHWRKSJFKZNYJMSZYRTXZKWHVIXLXHRFXTZHTHHHUMYTXKRXMFAKLUMAPNGHKKJUKYIHUXQHMIUVI XHCKNCKTSXTZMHETTLTMYXHJKUUVXHHSHIVSZKHHWXAWMFXVVHFUCXHMXWKXHXKVLLHXZSICSACKIHC FXFNPHXHTHCLHKJTSLVTHKHHXHXHHKTKSUTIXKYQUHAQXXNSLKUMTKHSKKYTXHTVPGVHHMXVNLHXIRF WJFVVXITNRCXKHTFARSIXASVCNXJQNXIJVUHYIVNIRZXMHHFKHKMMNCUXFTEXEKEHTIHSKAKXZVTSKY ZJGHRTHUWMHHZXHPAIHWHUSXXKLHKYKHJSHHNKXXKRSHMKHSIHIUIXKZXSUZHKXIMMIXMXTXZZLXXIM EQZKRLALIEVHXYKHXIFYKXMAINSNIASMGLLYHXHRIXVWUKZHFREJCAXKXWYHXNUKTQCUKIHLWKTEKMC MHLXXHHYQWHTXVHCMKKHGIUFSEHNEVYSXQHHXXKHMXUXQKHZHHHSHRKWHMMEHZMIKKYYWIUNEIJUIKT NCHKRNSJYLLIXKXAIERXKKXIQZVHXFVIIAXHIYUGZURXFHSXKLIWESKHEXQSCUHWKALZIVEZHAFKKWA IKCJWNVRKMITKNYXJYKYXVXXUKWHXXJAKLXXXVKXGXKKZXMHCKKCGRLZQINVHRLNVWXTKVLTEPTXUXH XVCICKXXXEVTIKIHHSHCKYIJXNCJKJSLSHVXJHTHSIKUXPHWRIKMFXXMMHKHCAQWITIEWEXPFHYXXKU XXSHHIXHWWRKITSHSXHJKEWHXIZHSHZCHFARIXNPHYSNIKJXLQENKFCXYRWMXAPIYTZKNMXFHNIMCCS PAACXJMNVZZHMXXSNVSXEIINNCHLSTIXHHKYXLEHQHKHPRWIXXHRKVCXFKLHSHKGXJGKLLLWSHIISKT WUYXTJHXXMKJCYIXQJRNFKYHHUUKTIAYXVUUXFCYLHXWWZAUHWZIUAIGKHKIMKXXXKJZXCKKRCJAKQJ EVAGXIHTINSXENKWVXWCLFUVHXFPFCIFVHWXRIFZRYZKUUEMXNGAJLIFHJJIGUXFKKRIMKGFKXJYXKV KKRHHWKIYXWXWKLWXWKFHXLXRXRKKENMHHIQRHTTMFYTGRLSHRXIXKKUEHXXJKRIKSYLTKYJMNIUWVE