BZOJ1695 : [Usaco2007 Demo]Walk the Talk

时间:2023-03-10 07:29:27
BZOJ1695 : [Usaco2007 Demo]Walk the Talk

观察单词表可以发现:

对于长度为3的单词,前两个字母相同的单词不超过7个

对于长度为4的单词,前两个字母相同的单词不超过35个

于是首先$O(26*26*nm)$预处理出

s1[x][i][j]表示(i,j)右上角里面字母x的出现次数

s2[x][y][i][j]表示(i,j)右上角里面单词xy的出现次数

枚举一个点,计算长度为1的单词的出现次数

枚举两个点,计算长度为2,3,4的单词的出现次数

总时间复杂度为$O(kn^2m^2)$,k不超过43

#include<cstdio>
#include<string>
using namespace std;
const int N=35,M=2265,S=26;
int n,m,i,j,x,y,a[N][N],ans,v1[S],v2[S][S],s1[S][N][N],f[S][S][N][N],s2[S][S][N][N];
char ch[N];string d[M];
struct E{int x,y;E*nxt;}*g3[S][S],*g4[S][S],pool[M],*cur=pool,*p;
inline void add3(int a,int b,int x){p=cur++;p->x=x;p->nxt=g3[a][b];g3[a][b]=p;}
inline void add4(int a,int b,int x,int y){p=cur++;p->x=x;p->y=y;p->nxt=g4[a][b];g4[a][b]=p;}
int main(){
d[0]="A";
d[1]="AA";
d[2]="AAA";
d[3]="AAAA";
d[4]="ABBE";
d[5]="ABED";
d[6]="ABET";
d[7]="ABLE";
d[8]="ABLY";
d[9]="ABUT";
d[10]="ACE";
d[11]="ACES";
d[12]="ACHE";
d[13]="ACID";
d[14]="ACME";
d[15]="ACNE";
d[16]="ACRE";
d[17]="ACT";
d[18]="AD";
d[19]="ADD";
d[20]="ADDS";
d[21]="ADO";
d[22]="ADS";
d[23]="AFAR";
d[24]="AFT";
d[25]="AGAR";
d[26]="AGE";
d[27]="AGED";
d[28]="AGER";
d[29]="AGES";
d[30]="AGO";
d[31]="AGOG";
d[32]="AGUE";
d[33]="AH";
d[34]="AID";
d[35]="AIDE";
d[36]="AIDS";
d[37]="AIL";
d[38]="AIM";
d[39]="AIMS";
d[40]="AIR";
d[41]="AIRS";
d[42]="AIRY";
d[43]="AJAR";
d[44]="AKIN";
d[45]="ALAS";
d[46]="ALBA";
d[47]="ALE";
d[48]="ALEE";
d[49]="ALGA";
d[50]="ALL";
d[51]="ALLY";
d[52]="ALMA";
d[53]="ALMS";
d[54]="ALOE";
d[55]="ALSO";
d[56]="ALUM";
d[57]="AM";
d[58]="AMEN";
d[59]="AMID";
d[60]="AMMO";
d[61]="AMOK";
d[62]="AMYL";
d[63]="AN";
d[64]="ANAL";
d[65]="AND";
d[66]="ANEW";
d[67]="ANON";
d[68]="ANT";
d[69]="ANTE";
d[70]="ANTI";
d[71]="ANTS";
d[72]="ANUS";
d[73]="ANY";
d[74]="APE";
d[75]="APED";
d[76]="APES";
d[77]="APEX";
d[78]="APSE";
d[79]="APT";
d[80]="AQUA";
d[81]="ARC";
d[82]="ARCH";
d[83]="ARCS";
d[84]="ARE";
d[85]="AREA";
d[86]="ARID";
d[87]="ARK";
d[88]="ARM";
d[89]="ARMS";
d[90]="ARMY";
d[91]="ART";
d[92]="ARTS";
d[93]="AS";
d[94]="ASH";
d[95]="ASK";
d[96]="ASKS";
d[97]="ASP";
d[98]="ASS";
d[99]="AT";
d[100]="ATE";
d[101]="ATOM";
d[102]="ATOP";
d[103]="AUNT";
d[104]="AURA";
d[105]="AUTO";
d[106]="AVER";
d[107]="AVID";
d[108]="AVOW";
d[109]="AWAY";
d[110]="AWE";
d[111]="AWED";
d[112]="AWL";
d[113]="AWLS";
d[114]="AWRY";
d[115]="AX";
d[116]="AXED";
d[117]="AXER";
d[118]="AXES";
d[119]="AXIS";
d[120]="AXLE";
d[121]="AXON";
d[122]="AYE";
d[123]="AYES";
d[124]="BABE";
d[125]="BABY";
d[126]="BACK";
d[127]="BAD";
d[128]="BADE";
d[129]="BAG";
d[130]="BAGS";
d[131]="BAH";
d[132]="BAIL";
d[133]="BAIT";
d[134]="BAKE";
d[135]="BALD";
d[136]="BALE";
d[137]="BALK";
d[138]="BALL";
d[139]="BALM";
d[140]="BAN";
d[141]="BAND";
d[142]="BANE";
d[143]="BANG";
d[144]="BANK";
d[145]="BANS";
d[146]="BAR";
d[147]="BARB";
d[148]="BARD";
d[149]="BARE";
d[150]="BARK";
d[151]="BARN";
d[152]="BARS";
d[153]="BASE";
d[154]="BASH";
d[155]="BASK";
d[156]="BASS";
d[157]="BAT";
d[158]="BATH";
d[159]="BATS";
d[160]="BAUD";
d[161]="BAWL";
d[162]="BAY";
d[163]="BAYS";
d[164]="BE";
d[165]="BEAD";
d[166]="BEAK";
d[167]="BEAM";
d[168]="BEAN";
d[169]="BEAR";
d[170]="BEAT";
d[171]="BEAU";
d[172]="BECK";
d[173]="BED";
d[174]="BEDS";
d[175]="BEE";
d[176]="BEEF";
d[177]="BEEN";
d[178]="BEEP";
d[179]="BEER";
d[180]="BEES";
d[181]="BEET";
d[182]="BEG";
d[183]="BEGS";
d[184]="BELL";
d[185]="BELT";
d[186]="BELY";
d[187]="BEND";
d[188]="BENT";
d[189]="BEST";
d[190]="BET";
d[191]="BETA";
d[192]="BETS";
d[193]="BEVY";
d[194]="BIAS";
d[195]="BIB";
d[196]="BIBS";
d[197]="BID";
d[198]="BIDE";
d[199]="BIDS";
d[200]="BIER";
d[201]="BIG";
d[202]="BIKE";
d[203]="BILE";
d[204]="BILK";
d[205]="BILL";
d[206]="BIN";
d[207]="BIND";
d[208]="BING";
d[209]="BINS";
d[210]="BIRD";
d[211]="BIT";
d[212]="BITE";
d[213]="BITS";
d[214]="BLAB";
d[215]="BLED";
d[216]="BLEW";
d[217]="BLIP";
d[218]="BLOB";
d[219]="BLOC";
d[220]="BLOT";
d[221]="BLOW";
d[222]="BLUE";
d[223]="BLUR";
d[224]="BOA";
d[225]="BOAR";
d[226]="BOAT";
d[227]="BOB";
d[228]="BOBS";
d[229]="BODE";
d[230]="BODY";
d[231]="BOG";
d[232]="BOGS";
d[233]="BOIL";
d[234]="BOLD";
d[235]="BOLL";
d[236]="BOLT";
d[237]="BOMB";
d[238]="BOND";
d[239]="BONE";
d[240]="BONG";
d[241]="BONY";
d[242]="BOO";
d[243]="BOOB";
d[244]="BOOK";
d[245]="BOOM";
d[246]="BOON";
d[247]="BOOR";
d[248]="BOOS";
d[249]="BOOT";
d[250]="BORE";
d[251]="BORN";
d[252]="BOSS";
d[253]="BOTH";
d[254]="BOUT";
d[255]="BOW";
d[256]="BOWL";
d[257]="BOWS";
d[258]="BOX";
d[259]="BOY";
d[260]="BOYS";
d[261]="BRA";
d[262]="BRAE";
d[263]="BRAG";
d[264]="BRAN";
d[265]="BRAS";
d[266]="BRAT";
d[267]="BRAY";
d[268]="BRED";
d[269]="BREW";
d[270]="BRIG";
d[271]="BRIM";
d[272]="BROW";
d[273]="BUCK";
d[274]="BUD";
d[275]="BUDS";
d[276]="BUFF";
d[277]="BUG";
d[278]="BUGS";
d[279]="BULB";
d[280]="BULK";
d[281]="BULL";
d[282]="BUM";
d[283]="BUMP";
d[284]="BUMS";
d[285]="BUN";
d[286]="BUNK";
d[287]="BUNS";
d[288]="BUNT";
d[289]="BUOY";
d[290]="BURL";
d[291]="BURN";
d[292]="BURP";
d[293]="BURY";
d[294]="BUS";
d[295]="BUSH";
d[296]="BUSS";
d[297]="BUST";
d[298]="BUSY";
d[299]="BUT";
d[300]="BUTT";
d[301]="BUY";
d[302]="BUYS";
d[303]="BUZZ";
d[304]="BY";
d[305]="BYE";
d[306]="BYTE";
d[307]="CAB";
d[308]="CABS";
d[309]="CAFE";
d[310]="CAGE";
d[311]="CAKE";
d[312]="CALF";
d[313]="CALL";
d[314]="CALM";
d[315]="CAM";
d[316]="CAME";
d[317]="CAMP";
d[318]="CAN";
d[319]="CANE";
d[320]="CANS";
d[321]="CANT";
d[322]="CAP";
d[323]="CAPE";
d[324]="CAPS";
d[325]="CAR";
d[326]="CARD";
d[327]="CARE";
d[328]="CARP";
d[329]="CARS";
d[330]="CART";
d[331]="CASE";
d[332]="CASH";
d[333]="CASK";
d[334]="CAST";
d[335]="CAT";
d[336]="CATS";
d[337]="CAVE";
d[338]="CAW";
d[339]="CEDE";
d[340]="CELL";
d[341]="CENT";
d[342]="CHAP";
d[343]="CHAR";
d[344]="CHAT";
d[345]="CHEF";
d[346]="CHEW";
d[347]="CHIC";
d[348]="CHIN";
d[349]="CHIP";
d[350]="CHIT";
d[351]="CHOP";
d[352]="CHUM";
d[353]="CITE";
d[354]="CITY";
d[355]="CLAD";
d[356]="CLAM";
d[357]="CLAN";
d[358]="CLAP";
d[359]="CLAW";
d[360]="CLAY";
d[361]="CLIP";
d[362]="CLOD";
d[363]="CLOG";
d[364]="CLOT";
d[365]="CLUB";
d[366]="CLUE";
d[367]="COAL";
d[368]="COAT";
d[369]="COAX";
d[370]="COCA";
d[371]="COCK";
d[372]="COCO";
d[373]="COD";
d[374]="CODE";
d[375]="COED";
d[376]="COG";
d[377]="COGS";
d[378]="COIL";
d[379]="COIN";
d[380]="COKE";
d[381]="COLD";
d[382]="COLT";
d[383]="COMB";
d[384]="COME";
d[385]="CON";
d[386]="CONE";
d[387]="COO";
d[388]="COOK";
d[389]="COOL";
d[390]="COON";
d[391]="COOP";
d[392]="COP";
d[393]="COPE";
d[394]="COPS";
d[395]="COPY";
d[396]="CORD";
d[397]="CORE";
d[398]="CORK";
d[399]="CORN";
d[400]="COST";
d[401]="COSY";
d[402]="COT";
d[403]="COTS";
d[404]="COVE";
d[405]="COW";
d[406]="COWL";
d[407]="COWS";
d[408]="COZY";
d[409]="CRAB";
d[410]="CRAG";
d[411]="CRAM";
d[412]="CREW";
d[413]="CRIB";
d[414]="CROP";
d[415]="CROW";
d[416]="CRUD";
d[417]="CRUX";
d[418]="CRY";
d[419]="CUB";
d[420]="CUBE";
d[421]="CUBS";
d[422]="CUE";
d[423]="CUED";
d[424]="CUES";
d[425]="CUFF";
d[426]="CULL";
d[427]="CULT";
d[428]="CUP";
d[429]="CUPS";
d[430]="CURB";
d[431]="CURD";
d[432]="CURE";
d[433]="CURL";
d[434]="CURS";
d[435]="CURT";
d[436]="CUSP";
d[437]="CUT";
d[438]="CUTE";
d[439]="CUTS";
d[440]="CYST";
d[441]="CZAR";
d[442]="DAD";
d[443]="DADS";
d[444]="DALE";
d[445]="DAM";
d[446]="DAME";
d[447]="DAMN";
d[448]="DAMP";
d[449]="DAMS";
d[450]="DARE";
d[451]="DARK";
d[452]="DARN";
d[453]="DART";
d[454]="DASH";
d[455]="DATA";
d[456]="DATE";
d[457]="DAWN";
d[458]="DAY";
d[459]="DAYS";
d[460]="DAZE";
d[461]="DEAD";
d[462]="DEAF";
d[463]="DEAL";
d[464]="DEAN";
d[465]="DEAR";
d[466]="DEBT";
d[467]="DECK";
d[468]="DEED";
d[469]="DEEM";
d[470]="DEEP";
d[471]="DEER";
d[472]="DEFY";
d[473]="DELL";
d[474]="DEMO";
d[475]="DEN";
d[476]="DENS";
d[477]="DENT";
d[478]="DENY";
d[479]="DESK";
d[480]="DEUS";
d[481]="DEW";
d[482]="DEWY";
d[483]="DIAL";
d[484]="DICE";
d[485]="DID";
d[486]="DIE";
d[487]="DIED";
d[488]="DIEM";
d[489]="DIES";
d[490]="DIET";
d[491]="DIG";
d[492]="DIGS";
d[493]="DIKE";
d[494]="DILL";
d[495]="DIM";
d[496]="DIME";
d[497]="DIMS";
d[498]="DIN";
d[499]="DINE";
d[500]="DING";
d[501]="DINT";
d[502]="DIP";
d[503]="DIPS";
d[504]="DIRE";
d[505]="DIRT";
d[506]="DISC";
d[507]="DISH";
d[508]="DISK";
d[509]="DIVE";
d[510]="DO";
d[511]="DOCK";
d[512]="DOE";
d[513]="DOER";
d[514]="DOES";
d[515]="DOG";
d[516]="DOGS";
d[517]="DOLE";
d[518]="DOLL";
d[519]="DOME";
d[520]="DON";
d[521]="DONE";
d[522]="DONS";
d[523]="DOOM";
d[524]="DOOR";
d[525]="DOPE";
d[526]="DOSE";
d[527]="DOT";
d[528]="DOTE";
d[529]="DOTS";
d[530]="DOVE";
d[531]="DOWN";
d[532]="DOZE";
d[533]="DRAB";
d[534]="DRAG";
d[535]="DRAM";
d[536]="DRAW";
d[537]="DREW";
d[538]="DRIP";
d[539]="DROP";
d[540]="DRUG";
d[541]="DRUM";
d[542]="DRY";
d[543]="DUAL";
d[544]="DUB";
d[545]="DUBS";
d[546]="DUCK";
d[547]="DUCT";
d[548]="DUD";
d[549]="DUE";
d[550]="DUEL";
d[551]="DUES";
d[552]="DUET";
d[553]="DUG";
d[554]="DUKE";
d[555]="DULL";
d[556]="DULY";
d[557]="DUMB";
d[558]="DUMP";
d[559]="DUNE";
d[560]="DUNG";
d[561]="DUNK";
d[562]="DUPE";
d[563]="DUSK";
d[564]="DUST";
d[565]="DUTY";
d[566]="DYAD";
d[567]="DYE";
d[568]="DYED";
d[569]="DYER";
d[570]="DYES";
d[571]="DYNE";
d[572]="EACH";
d[573]="EAR";
d[574]="EARL";
d[575]="EARN";
d[576]="EARS";
d[577]="EASE";
d[578]="EAST";
d[579]="EASY";
d[580]="EAT";
d[581]="EATS";
d[582]="EBB";
d[583]="EBBS";
d[584]="ECHO";
d[585]="EDDY";
d[586]="EDGE";
d[587]="EDIT";
d[588]="EEL";
d[589]="EELS";
d[590]="EGG";
d[591]="EGGS";
d[592]="EGO";
d[593]="EGOS";
d[594]="EKE";
d[595]="EKED";
d[596]="EKES";
d[597]="ELF";
d[598]="ELK";
d[599]="ELKS";
d[600]="ELM";
d[601]="ELMS";
d[602]="ELSE";
d[603]="EM";
d[604]="EMIT";
d[605]="EN";
d[606]="END";
d[607]="ENDS";
d[608]="ENVY";
d[609]="EPIC";
d[610]="ERA";
d[611]="ERAS";
d[612]="ERE";
d[613]="ERG";
d[614]="ERGO";
d[615]="ERR";
d[616]="ERRS";
d[617]="ESPY";
d[618]="ET";
d[619]="ETCH";
d[620]="EVEN";
d[621]="EVER";
d[622]="EVIL";
d[623]="EWE";
d[624]="EWES";
d[625]="EX";
d[626]="EXAM";
d[627]="EXEC";
d[628]="EXIT";
d[629]="EYE";
d[630]="EYED";
d[631]="EYER";
d[632]="EYES";
d[633]="FACE";
d[634]="FACT";
d[635]="FADE";
d[636]="FAG";
d[637]="FAGS";
d[638]="FAIL";
d[639]="FAIN";
d[640]="FAIR";
d[641]="FAKE";
d[642]="FALL";
d[643]="FAME";
d[644]="FAN";
d[645]="FANG";
d[646]="FANS";
d[647]="FAR";
d[648]="FARE";
d[649]="FARM";
d[650]="FAST";
d[651]="FAT";
d[652]="FATE";
d[653]="FATS";
d[654]="FAUN";
d[655]="FAWN";
d[656]="FAZE";
d[657]="FEAR";
d[658]="FEAT";
d[659]="FED";
d[660]="FEE";
d[661]="FEED";
d[662]="FEEL";
d[663]="FEES";
d[664]="FEET";
d[665]="FELL";
d[666]="FELT";
d[667]="FEN";
d[668]="FEND";
d[669]="FERN";
d[670]="FEUD";
d[671]="FEW";
d[672]="FIAT";
d[673]="FIB";
d[674]="FIEF";
d[675]="FIFE";
d[676]="FIG";
d[677]="FIGS";
d[678]="FILE";
d[679]="FILL";
d[680]="FILM";
d[681]="FIN";
d[682]="FIND";
d[683]="FINE";
d[684]="FINK";
d[685]="FINS";
d[686]="FIR";
d[687]="FIRE";
d[688]="FIRM";
d[689]="FISH";
d[690]="FIST";
d[691]="FIT";
d[692]="FITS";
d[693]="FIVE";
d[694]="FIX";
d[695]="FLAG";
d[696]="FLAK";
d[697]="FLAM";
d[698]="FLAP";
d[699]="FLAT";
d[700]="FLAW";
d[701]="FLAX";
d[702]="FLEA";
d[703]="FLED";
d[704]="FLEE";
d[705]="FLEW";
d[706]="FLEX";
d[707]="FLIP";
d[708]="FLIT";
d[709]="FLOG";
d[710]="FLOP";
d[711]="FLOW";
d[712]="FLU";
d[713]="FLUE";
d[714]="FLUX";
d[715]="FLY";
d[716]="FOAL";
d[717]="FOAM";
d[718]="FOB";
d[719]="FOCI";
d[720]="FOE";
d[721]="FOES";
d[722]="FOG";
d[723]="FOGS";
d[724]="FOGY";
d[725]="FOIL";
d[726]="FOLD";
d[727]="FOLK";
d[728]="FOND";
d[729]="FONT";
d[730]="FOOD";
d[731]="FOOL";
d[732]="FOOT";
d[733]="FOR";
d[734]="FORD";
d[735]="FORE";
d[736]="FORK";
d[737]="FORM";
d[738]="FORT";
d[739]="FOUL";
d[740]="FOUR";
d[741]="FOWL";
d[742]="FOX";
d[743]="FRAY";
d[744]="FREE";
d[745]="FRET";
d[746]="FRO";
d[747]="FROG";
d[748]="FROM";
d[749]="FRY";
d[750]="FUEL";
d[751]="FULL";
d[752]="FUME";
d[753]="FUN";
d[754]="FUND";
d[755]="FUNK";
d[756]="FUR";
d[757]="FURS";
d[758]="FURY";
d[759]="FUSE";
d[760]="FUSS";
d[761]="FUZZ";
d[762]="GAB";
d[763]="GAD";
d[764]="GAG";
d[765]="GAGS";
d[766]="GAIN";
d[767]="GAIT";
d[768]="GALE";
d[769]="GALL";
d[770]="GAME";
d[771]="GANG";
d[772]="GAP";
d[773]="GAPE";
d[774]="GAPS";
d[775]="GARB";
d[776]="GAS";
d[777]="GASH";
d[778]="GASP";
d[779]="GATE";
d[780]="GAVE";
d[781]="GAWK";
d[782]="GAY";
d[783]="GAZE";
d[784]="GEAR";
d[785]="GEL";
d[786]="GELD";
d[787]="GELS";
d[788]="GEM";
d[789]="GEMS";
d[790]="GENE";
d[791]="GENT";
d[792]="GERM";
d[793]="GET";
d[794]="GETS";
d[795]="GIFT";
d[796]="GIG";
d[797]="GILD";
d[798]="GILL";
d[799]="GILT";
d[800]="GIN";
d[801]="GINS";
d[802]="GIRD";
d[803]="GIRL";
d[804]="GIRT";
d[805]="GIST";
d[806]="GIVE";
d[807]="GLAD";
d[808]="GLEE";
d[809]="GLEN";
d[810]="GLOW";
d[811]="GLUE";
d[812]="GLUT";
d[813]="GNAT";
d[814]="GNAW";
d[815]="GNU";
d[816]="GO";
d[817]="GOAD";
d[818]="GOAL";
d[819]="GOAT";
d[820]="GOD";
d[821]="GODS";
d[822]="GOES";
d[823]="GOLD";
d[824]="GOLF";
d[825]="GONE";
d[826]="GONG";
d[827]="GOOD";
d[828]="GOOF";
d[829]="GORE";
d[830]="GORY";
d[831]="GOSH";
d[832]="GOT";
d[833]="GOUT";
d[834]="GOWN";
d[835]="GRAB";
d[836]="GRAD";
d[837]="GRAM";
d[838]="GRAY";
d[839]="GREW";
d[840]="GREY";
d[841]="GRID";
d[842]="GRIM";
d[843]="GRIN";
d[844]="GRIP";
d[845]="GRIT";
d[846]="GROW";
d[847]="GRUB";
d[848]="GULF";
d[849]="GULL";
d[850]="GULP";
d[851]="GUM";
d[852]="GUMS";
d[853]="GUN";
d[854]="GUNS";
d[855]="GURU";
d[856]="GUSH";
d[857]="GUST";
d[858]="GUT";
d[859]="GUTS";
d[860]="GUY";
d[861]="GUYS";
d[862]="GYRO";
d[863]="HA";
d[864]="HACK";
d[865]="HAD";
d[866]="HAG";
d[867]="HAIL";
d[868]="HAIR";
d[869]="HALE";
d[870]="HALF";
d[871]="HALL";
d[872]="HALT";
d[873]="HAM";
d[874]="HAMS";
d[875]="HAND";
d[876]="HANG";
d[877]="HAP";
d[878]="HARD";
d[879]="HARE";
d[880]="HARK";
d[881]="HARM";
d[882]="HARP";
d[883]="HART";
d[884]="HAS";
d[885]="HASH";
d[886]="HAT";
d[887]="HATE";
d[888]="HATS";
d[889]="HAUL";
d[890]="HAVE";
d[891]="HAWK";
d[892]="HAY";
d[893]="HAZE";
d[894]="HAZY";
d[895]="HE";
d[896]="HEAD";
d[897]="HEAL";
d[898]="HEAP";
d[899]="HEAR";
d[900]="HEAT";
d[901]="HECK";
d[902]="HEED";
d[903]="HEEL";
d[904]="HEIR";
d[905]="HELD";
d[906]="HELL";
d[907]="HELM";
d[908]="HELP";
d[909]="HEM";
d[910]="HEMP";
d[911]="HEMS";
d[912]="HEN";
d[913]="HENS";
d[914]="HER";
d[915]="HERB";
d[916]="HERD";
d[917]="HERE";
d[918]="HERO";
d[919]="HERS";
d[920]="HEW";
d[921]="HEWS";
d[922]="HEX";
d[923]="HEY";
d[924]="HI";
d[925]="HICK";
d[926]="HID";
d[927]="HIDE";
d[928]="HIGH";
d[929]="HIKE";
d[930]="HILL";
d[931]="HILT";
d[932]="HIM";
d[933]="HIND";
d[934]="HINT";
d[935]="HIP";
d[936]="HIPS";
d[937]="HIRE";
d[938]="HIS";
d[939]="HISS";
d[940]="HIT";
d[941]="HITS";
d[942]="HIVE";
d[943]="HOAR";
d[944]="HOE";
d[945]="HOES";
d[946]="HOG";
d[947]="HOGS";
d[948]="HOLD";
d[949]="HOLE";
d[950]="HOLY";
d[951]="HOME";
d[952]="HOMO";
d[953]="HONE";
d[954]="HOOD";
d[955]="HOOF";
d[956]="HOOK";
d[957]="HOOP";
d[958]="HOOT";
d[959]="HOP";
d[960]="HOPE";
d[961]="HOPS";
d[962]="HORN";
d[963]="HOSE";
d[964]="HOST";
d[965]="HOT";
d[966]="HOUR";
d[967]="HOW";
d[968]="HOWL";
d[969]="HUB";
d[970]="HUBS";
d[971]="HUE";
d[972]="HUES";
d[973]="HUG";
d[974]="HUGE";
d[975]="HUH";
d[976]="HULL";
d[977]="HUM";
d[978]="HUMP";
d[979]="HUMS";
d[980]="HUNG";
d[981]="HUNK";
d[982]="HUNT";
d[983]="HURL";
d[984]="HURT";
d[985]="HUSH";
d[986]="HUSK";
d[987]="HUT";
d[988]="HUTS";
d[989]="HYMN";
d[990]="IBEX";
d[991]="IBID";
d[992]="IBIS";
d[993]="ICE";
d[994]="ICED";
d[995]="ICES";
d[996]="ICON";
d[997]="ICY";
d[998]="IDEA";
d[999]="IDEM";
d[1000]="IDLE";
d[1001]="IDLY";
d[1002]="IDOL";
d[1003]="IF";
d[1004]="ILL";
d[1005]="ILLS";
d[1006]="ILLY";
d[1007]="IMP";
d[1008]="IMPS";
d[1009]="IN";
d[1010]="INCH";
d[1011]="INK";
d[1012]="INKS";
d[1013]="INN";
d[1014]="INNS";
d[1015]="INTO";
d[1016]="ION";
d[1017]="IONS";
d[1018]="IOTA";
d[1019]="IRE";
d[1020]="IRES";
d[1021]="IRIS";
d[1022]="IRK";
d[1023]="IRKS";
d[1024]="IRON";
d[1025]="IS";
d[1026]="ISLE";
d[1027]="IT";
d[1028]="ITCH";
d[1029]="ITEM";
d[1030]="ITS";
d[1031]="IVY";
d[1032]="JAB";
d[1033]="JABS";
d[1034]="JACK";
d[1035]="JADE";
d[1036]="JAIL";
d[1037]="JAM";
d[1038]="JAMS";
d[1039]="JAR";
d[1040]="JARS";
d[1041]="JAW";
d[1042]="JAWS";
d[1043]="JAY";
d[1044]="JAZZ";
d[1045]="JEAN";
d[1046]="JEEP";
d[1047]="JEER";
d[1048]="JERK";
d[1049]="JEST";
d[1050]="JET";
d[1051]="JETS";
d[1052]="JIG";
d[1053]="JIGS";
d[1054]="JOB";
d[1055]="JOBS";
d[1056]="JOG";
d[1057]="JOGS";
d[1058]="JOIN";
d[1059]="JOKE";
d[1060]="JOLT";
d[1061]="JOT";
d[1062]="JOTS";
d[1063]="JOY";
d[1064]="JOYS";
d[1065]="JUDO";
d[1066]="JUG";
d[1067]="JUGS";
d[1068]="JUMP";
d[1069]="JUNK";
d[1070]="JURE";
d[1071]="JURY";
d[1072]="JUST";
d[1073]="JUT";
d[1074]="KEEL";
d[1075]="KEEN";
d[1076]="KEEP";
d[1077]="KEN";
d[1078]="KEPT";
d[1079]="KERN";
d[1080]="KEY";
d[1081]="KEYS";
d[1082]="KICK";
d[1083]="KID";
d[1084]="KIDS";
d[1085]="KILL";
d[1086]="KIN";
d[1087]="KIND";
d[1088]="KING";
d[1089]="KINK";
d[1090]="KISS";
d[1091]="KIT";
d[1092]="KITE";
d[1093]="KITS";
d[1094]="KNEE";
d[1095]="KNEW";
d[1096]="KNIT";
d[1097]="KNOB";
d[1098]="KNOT";
d[1099]="KNOW";
d[1100]="KUDO";
d[1101]="LAB";
d[1102]="LABS";
d[1103]="LACE";
d[1104]="LACK";
d[1105]="LACY";
d[1106]="LAD";
d[1107]="LADS";
d[1108]="LADY";
d[1109]="LAG";
d[1110]="LAGS";
d[1111]="LAID";
d[1112]="LAIN";
d[1113]="LAIR";
d[1114]="LAKE";
d[1115]="LAMB";
d[1116]="LAME";
d[1117]="LAMP";
d[1118]="LAND";
d[1119]="LANE";
d[1120]="LAP";
d[1121]="LAPS";
d[1122]="LARD";
d[1123]="LARK";
d[1124]="LASH";
d[1125]="LASS";
d[1126]="LAST";
d[1127]="LATE";
d[1128]="LAVA";
d[1129]="LAW";
d[1130]="LAWN";
d[1131]="LAWS";
d[1132]="LAX";
d[1133]="LAY";
d[1134]="LAYS";
d[1135]="LAZY";
d[1136]="LEAD";
d[1137]="LEAF";
d[1138]="LEAK";
d[1139]="LEAN";
d[1140]="LEAP";
d[1141]="LED";
d[1142]="LEE";
d[1143]="LEEK";
d[1144]="LEER";
d[1145]="LEES";
d[1146]="LEFT";
d[1147]="LEG";
d[1148]="LEGS";
d[1149]="LEND";
d[1150]="LENS";
d[1151]="LENT";
d[1152]="LESS";
d[1153]="LEST";
d[1154]="LET";
d[1155]="LETS";
d[1156]="LEVY";
d[1157]="LEWD";
d[1158]="LIAR";
d[1159]="LICE";
d[1160]="LICK";
d[1161]="LID";
d[1162]="LIDS";
d[1163]="LIE";
d[1164]="LIED";
d[1165]="LIEN";
d[1166]="LIES";
d[1167]="LIEU";
d[1168]="LIFE";
d[1169]="LIFT";
d[1170]="LIKE";
d[1171]="LILY";
d[1172]="LIMB";
d[1173]="LIME";
d[1174]="LIMP";
d[1175]="LINE";
d[1176]="LINK";
d[1177]="LINT";
d[1178]="LION";
d[1179]="LIP";
d[1180]="LIPS";
d[1181]="LISP";
d[1182]="LIST";
d[1183]="LIT";
d[1184]="LIVE";
d[1185]="LOAD";
d[1186]="LOAF";
d[1187]="LOAN";
d[1188]="LOBE";
d[1189]="LOCI";
d[1190]="LOCK";
d[1191]="LOFT";
d[1192]="LOGO";
d[1193]="LOGS";
d[1194]="LOIN";
d[1195]="LONE";
d[1196]="LONG";
d[1197]="LOOK";
d[1198]="LOOM";
d[1199]="LOON";
d[1200]="LOOP";
d[1201]="LOOT";
d[1202]="LORD";
d[1203]="LORE";
d[1204]="LOSE";
d[1205]="LOSS";
d[1206]="LOST";
d[1207]="LOT";
d[1208]="LOTS";
d[1209]="LOUD";
d[1210]="LOUT";
d[1211]="LOVE";
d[1212]="LOW";
d[1213]="LOWS";
d[1214]="LUCK";
d[1215]="LULL";
d[1216]="LUMP";
d[1217]="LUNG";
d[1218]="LURE";
d[1219]="LURK";
d[1220]="LUSH";
d[1221]="LUST";
d[1222]="LUTE";
d[1223]="LYNX";
d[1224]="LYRE";
d[1225]="MACE";
d[1226]="MAD";
d[1227]="MADE";
d[1228]="MAID";
d[1229]="MAIL";
d[1230]="MAIM";
d[1231]="MAIN";
d[1232]="MAKE";
d[1233]="MALE";
d[1234]="MALL";
d[1235]="MALT";
d[1236]="MAMA";
d[1237]="MAN";
d[1238]="MANE";
d[1239]="MANY";
d[1240]="MAP";
d[1241]="MAPS";
d[1242]="MARE";
d[1243]="MARK";
d[1244]="MART";
d[1245]="MASH";
d[1246]="MASK";
d[1247]="MASS";
d[1248]="MAST";
d[1249]="MAT";
d[1250]="MATE";
d[1251]="MATH";
d[1252]="MATS";
d[1253]="MAUL";
d[1254]="MAZE";
d[1255]="ME";
d[1256]="MEAD";
d[1257]="MEAL";
d[1258]="MEAN";
d[1259]="MEAT";
d[1260]="MEEK";
d[1261]="MEET";
d[1262]="MELT";
d[1263]="MEMO";
d[1264]="MEN";
d[1265]="MEND";
d[1266]="MENS";
d[1267]="MENU";
d[1268]="MERE";
d[1269]="MESH";
d[1270]="MESS";
d[1271]="MET";
d[1272]="META";
d[1273]="METE";
d[1274]="METS";
d[1275]="MEW";
d[1276]="MEWS";
d[1277]="MICA";
d[1278]="MICE";
d[1279]="MID";
d[1280]="MIEN";
d[1281]="MIKE";
d[1282]="MILD";
d[1283]="MILE";
d[1284]="MILK";
d[1285]="MILL";
d[1286]="MIND";
d[1287]="MINE";
d[1288]="MINI";
d[1289]="MINK";
d[1290]="MINT";
d[1291]="MIRE";
d[1292]="MISS";
d[1293]="MIST";
d[1294]="MIX";
d[1295]="MOAN";
d[1296]="MOAT";
d[1297]="MOB";
d[1298]="MOBS";
d[1299]="MOCK";
d[1300]="MODE";
d[1301]="MOLD";
d[1302]="MOLE";
d[1303]="MONK";
d[1304]="MOO";
d[1305]="MOOD";
d[1306]="MOOT";
d[1307]="MOP";
d[1308]="MOPS";
d[1309]="MORE";
d[1310]="MORN";
d[1311]="MOSS";
d[1312]="MOST";
d[1313]="MOTH";
d[1314]="MOVE";
d[1315]="MOW";
d[1316]="MOWS";
d[1317]="MU";
d[1318]="MUCH";
d[1319]="MUCK";
d[1320]="MUD";
d[1321]="MUFF";
d[1322]="MUG";
d[1323]="MUGS";
d[1324]="MULE";
d[1325]="MULL";
d[1326]="MUNG";
d[1327]="MUSE";
d[1328]="MUSH";
d[1329]="MUSK";
d[1330]="MUST";
d[1331]="MUTE";
d[1332]="MUTT";
d[1333]="MY";
d[1334]="MYTH";
d[1335]="NAB";
d[1336]="NAG";
d[1337]="NAGS";
d[1338]="NAIL";
d[1339]="NAME";
d[1340]="NAP";
d[1341]="NAPS";
d[1342]="NARY";
d[1343]="NAVY";
d[1344]="NAY";
d[1345]="NEAR";
d[1346]="NEAT";
d[1347]="NECK";
d[1348]="NEED";
d[1349]="NEON";
d[1350]="NEST";
d[1351]="NET";
d[1352]="NETS";
d[1353]="NEW";
d[1354]="NEWT";
d[1355]="NEXT";
d[1356]="NICE";
d[1357]="NICK";
d[1358]="NIGH";
d[1359]="NIL";
d[1360]="NINE";
d[1361]="NIP";
d[1362]="NIPS";
d[1363]="NO";
d[1364]="NOD";
d[1365]="NODE";
d[1366]="NODS";
d[1367]="NON";
d[1368]="NONE";
d[1369]="NOOK";
d[1370]="NOON";
d[1371]="NOR";
d[1372]="NORM";
d[1373]="NOSE";
d[1374]="NOT";
d[1375]="NOTE";
d[1376]="NOUN";
d[1377]="NOW";
d[1378]="NU";
d[1379]="NUDE";
d[1380]="NULL";
d[1381]="NUMB";
d[1382]="NUN";
d[1383]="NUNS";
d[1384]="NUT";
d[1385]="NUTS";
d[1386]="OAF";
d[1387]="OAK";
d[1388]="OAKS";
d[1389]="OAR";
d[1390]="OARS";
d[1391]="OAT";
d[1392]="OATH";
d[1393]="OATS";
d[1394]="OBEY";
d[1395]="OBOE";
d[1396]="ODD";
d[1397]="ODDS";
d[1398]="ODE";
d[1399]="ODES";
d[1400]="ODOR";
d[1401]="OF";
d[1402]="OFF";
d[1403]="OFFS";
d[1404]="OFT";
d[1405]="OH";
d[1406]="OHM";
d[1407]="OIL";
d[1408]="OILS";
d[1409]="OILY";
d[1410]="OKAY";
d[1411]="OLD";
d[1412]="OLDY";
d[1413]="OMEN";
d[1414]="OMIT";
d[1415]="ON";
d[1416]="ONCE";
d[1417]="ONE";
d[1418]="ONES";
d[1419]="ONLY";
d[1420]="ONTO";
d[1421]="ONUS";
d[1422]="ONYX";
d[1423]="OOZE";
d[1424]="OPAL";
d[1425]="OPEN";
d[1426]="OPT";
d[1427]="OPTS";
d[1428]="OPUS";
d[1429]="OR";
d[1430]="ORAL";
d[1431]="ORB";
d[1432]="ORE";
d[1433]="ORES";
d[1434]="ORGY";
d[1435]="OUCH";
d[1436]="OUR";
d[1437]="OURS";
d[1438]="OUST";
d[1439]="OUT";
d[1440]="OUTS";
d[1441]="OVAL";
d[1442]="OVEN";
d[1443]="OVER";
d[1444]="OWE";
d[1445]="OWED";
d[1446]="OWES";
d[1447]="OWL";
d[1448]="OWLS";
d[1449]="OWN";
d[1450]="OWNS";
d[1451]="OX";
d[1452]="OXEN";
d[1453]="PACE";
d[1454]="PACK";
d[1455]="PACT";
d[1456]="PAD";
d[1457]="PADS";
d[1458]="PAGE";
d[1459]="PAID";
d[1460]="PAIL";
d[1461]="PAIN";
d[1462]="PAIR";
d[1463]="PAL";
d[1464]="PALE";
d[1465]="PALL";
d[1466]="PALM";
d[1467]="PALS";
d[1468]="PAN";
d[1469]="PANE";
d[1470]="PANG";
d[1471]="PANS";
d[1472]="PANT";
d[1473]="PAPA";
d[1474]="PAR";
d[1475]="PARE";
d[1476]="PARK";
d[1477]="PARS";
d[1478]="PART";
d[1479]="PASS";
d[1480]="PAST";
d[1481]="PAT";
d[1482]="PATE";
d[1483]="PATH";
d[1484]="PATS";
d[1485]="PAVE";
d[1486]="PAW";
d[1487]="PAWN";
d[1488]="PAWS";
d[1489]="PAY";
d[1490]="PAYS";
d[1491]="PEA";
d[1492]="PEAK";
d[1493]="PEAL";
d[1494]="PEAR";
d[1495]="PEAS";
d[1496]="PEAT";
d[1497]="PECK";
d[1498]="PEEK";
d[1499]="PEEL";
d[1500]="PEEP";
d[1501]="PEER";
d[1502]="PEG";
d[1503]="PEGS";
d[1504]="PELT";
d[1505]="PEN";
d[1506]="PEND";
d[1507]="PENS";
d[1508]="PENT";
d[1509]="PEP";
d[1510]="PER";
d[1511]="PERK";
d[1512]="PEST";
d[1513]="PET";
d[1514]="PETS";
d[1515]="PEW";
d[1516]="PEWS";
d[1517]="PHI";
d[1518]="PI";
d[1519]="PICA";
d[1520]="PICK";
d[1521]="PIE";
d[1522]="PIER";
d[1523]="PIES";
d[1524]="PIG";
d[1525]="PIGS";
d[1526]="PIKE";
d[1527]="PILE";
d[1528]="PILL";
d[1529]="PIMP";
d[1530]="PIN";
d[1531]="PINE";
d[1532]="PING";
d[1533]="PINK";
d[1534]="PINS";
d[1535]="PINT";
d[1536]="PION";
d[1537]="PIP";
d[1538]="PIPE";
d[1539]="PISS";
d[1540]="PIT";
d[1541]="PITH";
d[1542]="PITS";
d[1543]="PITY";
d[1544]="PLAN";
d[1545]="PLAY";
d[1546]="PLEA";
d[1547]="PLOD";
d[1548]="PLOT";
d[1549]="PLOW";
d[1550]="PLOY";
d[1551]="PLUG";
d[1552]="PLUM";
d[1553]="PLUS";
d[1554]="PLY";
d[1555]="POD";
d[1556]="PODS";
d[1557]="POEM";
d[1558]="POET";
d[1559]="POGO";
d[1560]="POKE";
d[1561]="POLE";
d[1562]="POLL";
d[1563]="POLO";
d[1564]="POMP";
d[1565]="POND";
d[1566]="PONG";
d[1567]="PONY";
d[1568]="POOL";
d[1569]="POOR";
d[1570]="POP";
d[1571]="POPS";
d[1572]="PORE";
d[1573]="PORK";
d[1574]="PORT";
d[1575]="POSE";
d[1576]="POSH";
d[1577]="POST";
d[1578]="POT";
d[1579]="POTS";
d[1580]="POUR";
d[1581]="POUT";
d[1582]="POX";
d[1583]="PRAY";
d[1584]="PREP";
d[1585]="PREY";
d[1586]="PRIM";
d[1587]="PRO";
d[1588]="PROD";
d[1589]="PROP";
d[1590]="PROS";
d[1591]="PROW";
d[1592]="PRY";
d[1593]="PUB";
d[1594]="PUBS";
d[1595]="PUFF";
d[1596]="PUKE";
d[1597]="PULL";
d[1598]="PULP";
d[1599]="PUMA";
d[1600]="PUMP";
d[1601]="PUN";
d[1602]="PUNS";
d[1603]="PUNT";
d[1604]="PUNY";
d[1605]="PUP";
d[1606]="PUPA";
d[1607]="PUPS";
d[1608]="PURE";
d[1609]="PURR";
d[1610]="PUS";
d[1611]="PUSH";
d[1612]="PUSS";
d[1613]="PUT";
d[1614]="PUTS";
d[1615]="PUTT";
d[1616]="PYRE";
d[1617]="QUA";
d[1618]="QUAD";
d[1619]="QUAY";
d[1620]="QUIP";
d[1621]="QUIT";
d[1622]="QUIZ";
d[1623]="QUO";
d[1624]="RACE";
d[1625]="RACK";
d[1626]="RAFT";
d[1627]="RAG";
d[1628]="RAGE";
d[1629]="RAGS";
d[1630]="RAID";
d[1631]="RAIL";
d[1632]="RAIN";
d[1633]="RAKE";
d[1634]="RAM";
d[1635]="RAMP";
d[1636]="RAMS";
d[1637]="RAN";
d[1638]="RANG";
d[1639]="RANK";
d[1640]="RANT";
d[1641]="RAP";
d[1642]="RAPE";
d[1643]="RAPS";
d[1644]="RAPT";
d[1645]="RARE";
d[1646]="RASH";
d[1647]="RASP";
d[1648]="RAT";
d[1649]="RATE";
d[1650]="RATS";
d[1651]="RAVE";
d[1652]="RAW";
d[1653]="RAY";
d[1654]="RAYS";
d[1655]="RAZE";
d[1656]="RE";
d[1657]="READ";
d[1658]="REAL";
d[1659]="REAM";
d[1660]="REAP";
d[1661]="REAR";
d[1662]="RED";
d[1663]="REDO";
d[1664]="REDS";
d[1665]="REED";
d[1666]="REEF";
d[1667]="REEL";
d[1668]="REIN";
d[1669]="RELY";
d[1670]="REND";
d[1671]="RENT";
d[1672]="REST";
d[1673]="RHO";
d[1674]="RIB";
d[1675]="RIBS";
d[1676]="RICE";
d[1677]="RICH";
d[1678]="RID";
d[1679]="RIDE";
d[1680]="RIDS";
d[1681]="RIFT";
d[1682]="RIG";
d[1683]="RIGS";
d[1684]="RILL";
d[1685]="RIM";
d[1686]="RIME";
d[1687]="RIMS";
d[1688]="RIND";
d[1689]="RING";
d[1690]="RINK";
d[1691]="RIOT";
d[1692]="RIP";
d[1693]="RIPE";
d[1694]="RIPS";
d[1695]="RISE";
d[1696]="RISK";
d[1697]="RITE";
d[1698]="ROAD";
d[1699]="ROAM";
d[1700]="ROAR";
d[1701]="ROB";
d[1702]="ROBE";
d[1703]="ROBS";
d[1704]="ROCK";
d[1705]="ROD";
d[1706]="RODE";
d[1707]="RODS";
d[1708]="ROE";
d[1709]="ROLE";
d[1710]="ROLL";
d[1711]="ROMP";
d[1712]="ROOF";
d[1713]="ROOK";
d[1714]="ROOM";
d[1715]="ROOT";
d[1716]="ROPE";
d[1717]="ROSY";
d[1718]="ROT";
d[1719]="ROTS";
d[1720]="ROUT";
d[1721]="ROVE";
d[1722]="ROW";
d[1723]="ROWS";
d[1724]="RUB";
d[1725]="RUBS";
d[1726]="RUBY";
d[1727]="RUDE";
d[1728]="RUE";
d[1729]="RUG";
d[1730]="RUGS";
d[1731]="RUIN";
d[1732]="RULE";
d[1733]="RUM";
d[1734]="RUMP";
d[1735]="RUN";
d[1736]="RUNG";
d[1737]="RUNS";
d[1738]="RUNT";
d[1739]="RUSH";
d[1740]="RUST";
d[1741]="RUT";
d[1742]="RUTS";
d[1743]="RYE";
d[1744]="SACK";
d[1745]="SAD";
d[1746]="SAFE";
d[1747]="SAG";
d[1748]="SAGA";
d[1749]="SAGE";
d[1750]="SAGS";
d[1751]="SAID";
d[1752]="SAIL";
d[1753]="SAKE";
d[1754]="SALE";
d[1755]="SALT";
d[1756]="SAME";
d[1757]="SAND";
d[1758]="SANE";
d[1759]="SANG";
d[1760]="SANK";
d[1761]="SAP";
d[1762]="SAPS";
d[1763]="SARI";
d[1764]="SASH";
d[1765]="SAT";
d[1766]="SATE";
d[1767]="SAVE";
d[1768]="SAW";
d[1769]="SAWS";
d[1770]="SAX";
d[1771]="SAY";
d[1772]="SAYS";
d[1773]="SCAB";
d[1774]="SCAN";
d[1775]="SCAR";
d[1776]="SCOW";
d[1777]="SCUD";
d[1778]="SEA";
d[1779]="SEAL";
d[1780]="SEAM";
d[1781]="SEAR";
d[1782]="SEAS";
d[1783]="SEAT";
d[1784]="SECT";
d[1785]="SEE";
d[1786]="SEED";
d[1787]="SEEK";
d[1788]="SEEM";
d[1789]="SEEN";
d[1790]="SEEP";
d[1791]="SEER";
d[1792]="SEES";
d[1793]="SELF";
d[1794]="SELL";
d[1795]="SEMI";
d[1796]="SEND";
d[1797]="SENT";
d[1798]="SEPT";
d[1799]="SERF";
d[1800]="SET";
d[1801]="SETS";
d[1802]="SEW";
d[1803]="SEWS";
d[1804]="SEX";
d[1805]="SEXY";
d[1806]="SHAM";
d[1807]="SHE";
d[1808]="SHED";
d[1809]="SHIN";
d[1810]="SHIP";
d[1811]="SHIT";
d[1812]="SHOD";
d[1813]="SHOE";
d[1814]="SHOP";
d[1815]="SHOT";
d[1816]="SHOW";
d[1817]="SHUN";
d[1818]="SHUT";
d[1819]="SHY";
d[1820]="SICK";
d[1821]="SIDE";
d[1822]="SIFT";
d[1823]="SIGH";
d[1824]="SIGN";
d[1825]="SILK";
d[1826]="SILL";
d[1827]="SILO";
d[1828]="SILT";
d[1829]="SINE";
d[1830]="SING";
d[1831]="SINK";
d[1832]="SINS";
d[1833]="SIP";
d[1834]="SIPS";
d[1835]="SIR";
d[1836]="SIRE";
d[1837]="SIRS";
d[1838]="SIT";
d[1839]="SITE";
d[1840]="SITS";
d[1841]="SITU";
d[1842]="SIX";
d[1843]="SIZE";
d[1844]="SKEW";
d[1845]="SKI";
d[1846]="SKID";
d[1847]="SKIM";
d[1848]="SKIN";
d[1849]="SKIP";
d[1850]="SKIS";
d[1851]="SKIT";
d[1852]="SKY";
d[1853]="SLAB";
d[1854]="SLAM";
d[1855]="SLAP";
d[1856]="SLAT";
d[1857]="SLAY";
d[1858]="SLED";
d[1859]="SLEW";
d[1860]="SLID";
d[1861]="SLIM";
d[1862]="SLIP";
d[1863]="SLIT";
d[1864]="SLOB";
d[1865]="SLOP";
d[1866]="SLOT";
d[1867]="SLOW";
d[1868]="SLUG";
d[1869]="SLUM";
d[1870]="SLUR";
d[1871]="SLY";
d[1872]="SMOG";
d[1873]="SMUG";
d[1874]="SMUT";
d[1875]="SNAG";
d[1876]="SNAP";
d[1877]="SNIP";
d[1878]="SNOB";
d[1879]="SNOW";
d[1880]="SNUB";
d[1881]="SNUG";
d[1882]="SO";
d[1883]="SOAK";
d[1884]="SOAP";
d[1885]="SOAR";
d[1886]="SOB";
d[1887]="SOBS";
d[1888]="SOCK";
d[1889]="SOD";
d[1890]="SODA";
d[1891]="SODS";
d[1892]="SOFA";
d[1893]="SOFT";
d[1894]="SOIL";
d[1895]="SOLD";
d[1896]="SOLE";
d[1897]="SOLO";
d[1898]="SOME";
d[1899]="SON";
d[1900]="SONG";
d[1901]="SONS";
d[1902]="SOON";
d[1903]="SOOT";
d[1904]="SORE";
d[1905]="SORT";
d[1906]="SOUL";
d[1907]="SOUP";
d[1908]="SOUR";
d[1909]="SOW";
d[1910]="SOWN";
d[1911]="SOY";
d[1912]="SOYA";
d[1913]="SPA";
d[1914]="SPAN";
d[1915]="SPAT";
d[1916]="SPEC";
d[1917]="SPED";
d[1918]="SPIN";
d[1919]="SPIT";
d[1920]="SPOT";
d[1921]="SPUN";
d[1922]="SPUR";
d[1923]="SPY";
d[1924]="STAB";
d[1925]="STAG";
d[1926]="STAR";
d[1927]="STAY";
d[1928]="STEM";
d[1929]="STEP";
d[1930]="STEW";
d[1931]="STIR";
d[1932]="STOP";
d[1933]="STOW";
d[1934]="STUB";
d[1935]="STUD";
d[1936]="STUN";
d[1937]="SUB";
d[1938]="SUBS";
d[1939]="SUCH";
d[1940]="SUCK";
d[1941]="SUDS";
d[1942]="SUE";
d[1943]="SUED";
d[1944]="SUES";
d[1945]="SUIT";
d[1946]="SULK";
d[1947]="SUM";
d[1948]="SUMS";
d[1949]="SUN";
d[1950]="SUNG";
d[1951]="SUNK";
d[1952]="SUNS";
d[1953]="SURE";
d[1954]="SURF";
d[1955]="SWAB";
d[1956]="SWAM";
d[1957]="SWAN";
d[1958]="SWAP";
d[1959]="SWAT";
d[1960]="SWAY";
d[1961]="SWIM";
d[1962]="SWUM";
d[1963]="TAB";
d[1964]="TABS";
d[1965]="TACK";
d[1966]="TACT";
d[1967]="TAG";
d[1968]="TAGS";
d[1969]="TAIL";
d[1970]="TAKE";
d[1971]="TALE";
d[1972]="TALK";
d[1973]="TALL";
d[1974]="TAME";
d[1975]="TAN";
d[1976]="TANG";
d[1977]="TANK";
d[1978]="TAP";
d[1979]="TAPE";
d[1980]="TAPS";
d[1981]="TAR";
d[1982]="TART";
d[1983]="TASK";
d[1984]="TAU";
d[1985]="TAUT";
d[1986]="TAX";
d[1987]="TAXI";
d[1988]="TEA";
d[1989]="TEAM";
d[1990]="TEAR";
d[1991]="TEAS";
d[1992]="TEEM";
d[1993]="TEEN";
d[1994]="TELL";
d[1995]="TEN";
d[1996]="TEND";
d[1997]="TENS";
d[1998]="TENT";
d[1999]="TERM";
d[2000]="TEST";
d[2001]="TEXT";
d[2002]="THAN";
d[2003]="THAT";
d[2004]="THAW";
d[2005]="THE";
d[2006]="THEM";
d[2007]="THEN";
d[2008]="THEY";
d[2009]="THIN";
d[2010]="THIS";
d[2011]="THUD";
d[2012]="THUG";
d[2013]="THUS";
d[2014]="TICK";
d[2015]="TIDE";
d[2016]="TIDY";
d[2017]="TIE";
d[2018]="TIED";
d[2019]="TIER";
d[2020]="TIES";
d[2021]="TILE";
d[2022]="TILL";
d[2023]="TILT";
d[2024]="TIME";
d[2025]="TIN";
d[2026]="TINS";
d[2027]="TINT";
d[2028]="TINY";
d[2029]="TIP";
d[2030]="TIPS";
d[2031]="TIRE";
d[2032]="TIT";
d[2033]="TITS";
d[2034]="TO";
d[2035]="TOAD";
d[2036]="TOE";
d[2037]="TOES";
d[2038]="TOIL";
d[2039]="TOLD";
d[2040]="TOLL";
d[2041]="TOMB";
d[2042]="TON";
d[2043]="TONE";
d[2044]="TONS";
d[2045]="TOO";
d[2046]="TOOK";
d[2047]="TOOL";
d[2048]="TOP";
d[2049]="TOPS";
d[2050]="TORE";
d[2051]="TORN";
d[2052]="TOSS";
d[2053]="TOUR";
d[2054]="TOW";
d[2055]="TOWN";
d[2056]="TOY";
d[2057]="TOYS";
d[2058]="TRAP";
d[2059]="TRAY";
d[2060]="TREE";
d[2061]="TREK";
d[2062]="TRIM";
d[2063]="TRIO";
d[2064]="TRIP";
d[2065]="TROD";
d[2066]="TROT";
d[2067]="TRUE";
d[2068]="TRY";
d[2069]="TUB";
d[2070]="TUBE";
d[2071]="TUBS";
d[2072]="TUCK";
d[2073]="TUFT";
d[2074]="TUG";
d[2075]="TUGS";
d[2076]="TUNE";
d[2077]="TURF";
d[2078]="TURN";
d[2079]="TWAS";
d[2080]="TWIG";
d[2081]="TWIN";
d[2082]="TWO";
d[2083]="TWOS";
d[2084]="TYPE";
d[2085]="TYPO";
d[2086]="UGH";
d[2087]="UGLY";
d[2088]="UNDO";
d[2089]="UNIT";
d[2090]="UNTO";
d[2091]="UP";
d[2092]="UPON";
d[2093]="URGE";
d[2094]="URN";
d[2095]="URNS";
d[2096]="US";
d[2097]="USE";
d[2098]="USED";
d[2099]="USER";
d[2100]="USES";
d[2101]="VAIN";
d[2102]="VALE";
d[2103]="VAN";
d[2104]="VANE";
d[2105]="VANS";
d[2106]="VARY";
d[2107]="VASE";
d[2108]="VAST";
d[2109]="VAT";
d[2110]="VATS";
d[2111]="VEAL";
d[2112]="VEER";
d[2113]="VEIL";
d[2114]="VEIN";
d[2115]="VENT";
d[2116]="VERB";
d[2117]="VERY";
d[2118]="VEST";
d[2119]="VETO";
d[2120]="VEX";
d[2121]="VIA";
d[2122]="VIAL";
d[2123]="VICE";
d[2124]="VIE";
d[2125]="VIED";
d[2126]="VIER";
d[2127]="VIES";
d[2128]="VIEW";
d[2129]="VILE";
d[2130]="VINE";
d[2131]="VISA";
d[2132]="VITA";
d[2133]="VOID";
d[2134]="VOLT";
d[2135]="VOTE";
d[2136]="VOW";
d[2137]="VOWS";
d[2138]="WADE";
d[2139]="WAFT";
d[2140]="WAG";
d[2141]="WAGE";
d[2142]="WAGS";
d[2143]="WAIL";
d[2144]="WAIT";
d[2145]="WAKE";
d[2146]="WALK";
d[2147]="WALL";
d[2148]="WAN";
d[2149]="WAND";
d[2150]="WANE";
d[2151]="WANT";
d[2152]="WAR";
d[2153]="WARD";
d[2154]="WARE";
d[2155]="WARM";
d[2156]="WARN";
d[2157]="WARP";
d[2158]="WARS";
d[2159]="WART";
d[2160]="WARY";
d[2161]="WAS";
d[2162]="WASH";
d[2163]="WASP";
d[2164]="WAVE";
d[2165]="WAX";
d[2166]="WAXY";
d[2167]="WAY";
d[2168]="WAYS";
d[2169]="WE";
d[2170]="WEAK";
d[2171]="WEAN";
d[2172]="WEAR";
d[2173]="WEB";
d[2174]="WEBS";
d[2175]="WEDS";
d[2176]="WEE";
d[2177]="WEED";
d[2178]="WEEK";
d[2179]="WEEP";
d[2180]="WELD";
d[2181]="WELL";
d[2182]="WENT";
d[2183]="WEPT";
d[2184]="WERE";
d[2185]="WEST";
d[2186]="WET";
d[2187]="WETS";
d[2188]="WHAT";
d[2189]="WHEN";
d[2190]="WHIM";
d[2191]="WHIP";
d[2192]="WHIT";
d[2193]="WHIZ";
d[2194]="WHO";
d[2195]="WHOM";
d[2196]="WHY";
d[2197]="WICK";
d[2198]="WIDE";
d[2199]="WIFE";
d[2200]="WIG";
d[2201]="WIGS";
d[2202]="WILD";
d[2203]="WILE";
d[2204]="WILL";
d[2205]="WILT";
d[2206]="WILY";
d[2207]="WIN";
d[2208]="WIND";
d[2209]="WINE";
d[2210]="WING";
d[2211]="WINK";
d[2212]="WINS";
d[2213]="WIPE";
d[2214]="WIRE";
d[2215]="WIRY";
d[2216]="WISE";
d[2217]="WISH";
d[2218]="WISP";
d[2219]="WIT";
d[2220]="WITH";
d[2221]="WITS";
d[2222]="WOE";
d[2223]="WOKE";
d[2224]="WOLF";
d[2225]="WOMB";
d[2226]="WON";
d[2227]="WONT";
d[2228]="WOO";
d[2229]="WOOD";
d[2230]="WOOF";
d[2231]="WOOL";
d[2232]="WOOS";
d[2233]="WORD";
d[2234]="WORE";
d[2235]="WORK";
d[2236]="WORM";
d[2237]="WORN";
d[2238]="WOVE";
d[2239]="WRAP";
d[2240]="WREN";
d[2241]="WRIT";
d[2242]="YANK";
d[2243]="YARD";
d[2244]="YARN";
d[2245]="YAWN";
d[2246]="YEA";
d[2247]="YEAR";
d[2248]="YEAS";
d[2249]="YELL";
d[2250]="YELP";
d[2251]="YES";
d[2252]="YET";
d[2253]="YOKE";
d[2254]="YON";
d[2255]="YOU";
d[2256]="YOUR";
d[2257]="ZEAL";
d[2258]="ZERO";
d[2259]="ZEST";
d[2260]="ZINC";
d[2261]="ZONE";
d[2262]="ZOO";
d[2263]="ZOOM";
d[2264]="ZOOS";
for(i=0;i<M;i++){
j=d[i].size();
for(x=0;x<j;x++)d[i][x]-='A';
if(j==1)v1[d[i][0]]=1;
if(j==2)v2[d[i][0]][d[i][1]]=1;
if(j==3)add3(d[i][0],d[i][1],d[i][2]);
if(j==4)add4(d[i][0],d[i][1],d[i][2],d[i][3]);
}
for(scanf("%d%d",&n,&m),i=1;i<=n;i++)for(scanf("%s",ch+1),j=1;j<=m;j++)a[i][j]=ch[j]-'A';
for(x=0;x<S;x++)for(i=1;i<=n;i++)for(j=m;j;j--){
s1[x][i][j]=s1[x][i-1][j]+s1[x][i][j+1]-s1[x][i-1][j+1]+(a[i][j]==x);
f[a[i][j]][x][i][j]=s1[x][i][j]-(a[i][j]==x);
}
for(x=0;x<S;x++)for(y=0;y<S;y++)for(i=1;i<=n;i++)for(j=m;j;j--)s2[x][y][i][j]=s2[x][y][i-1][j]+s2[x][y][i][j+1]-s2[x][y][i-1][j+1]+f[x][y][i][j];
for(i=1;i<=n;i++)for(j=1;j<=m;j++){
if(v1[a[i][j]])ans++;
for(x=i;x;x--)for(y=x==i?j+1:j;y<=m;y++){
if(v2[a[i][j]][a[x][y]])ans++;
for(p=g3[a[i][j]][a[x][y]];p;p=p->nxt)ans+=s1[p->x][x][y]-(a[x][y]==p->x);
for(p=g4[a[i][j]][a[x][y]];p;p=p->nxt)ans+=s2[p->x][p->y][x][y]-f[p->x][p->y][x][y];
}
}
return printf("%d",ans),0;
}