#!/usr/local/bin/perl $flag{"A"} = 1; $flag{"B"} = 2; $flag{"C"} = 4; $flag{"D"} = 8; $flag{"E"} = 16; $flag{"F"} = 32; $flag{"G"} = 64; $flag{"H"} = 128; $flag{"I"} = 256; $flag{"J"} = 512; $flag{"K"} = 1024; $flag{"L"} = 2048; $flag{"M"} = 4096; $flag{"N"} = 8192; $flag{"O"} = 16384; $flag{"P"} = 32768; $flag{"Q"} = 65536; $flag{"R"} = 131072; $flag{"S"} = 262144; $flag{"T"} = 524288; $flag{"U"} = 1048576; $flag{"V"} = 2097152; $flag{"W"} = 4194304; $flag{"X"} = 8388608; $flag{"Y"} = 16777216; $flag{"Z"} = 33554432; $flag{"a"} = 67108864; $flag{"b"} = 134217728; $flag{"c"} = 268435456; $flag{"d"} = 536870912; $flag{"e"} = 1073741824; $flag{"f"} = 2147483648; $flag{"g"} = 4294967296; $flag{"h"} = 8589934592; $flag{"i"} = 17179869184; $flag{"j"} = 34359738368; $flag{"k"} = 68719476736; $flag{"l"} = 137438953472; $flag{"m"} = 274877906944; $flag{"n"} = 549755813888; $race{"unique"} = "unique"; $race{"human"} = "human"; $race{"elf"} = "elf"; $race{"dwarf"} = "dwarf"; $race{"giant"} = "giant"; $race{"pixie"} = "pixie"; $race{"halfling"} = "halfling"; $race{"halforc"} = "halforc"; $race{"goblin"} = "goblin"; $race{"halfelf"} = "halfelf"; $race{"avian"} = "avian"; $race{"gnome"} = "gnome"; $race{"draconian"} = "draconian"; $race{"centaur"} = "centaur"; $race{"gnoll"} = "gnoll"; $race{"heucuva"} = "heucuva"; $race{"kenku"} = "kenku"; $race{"minotaur"} = "minotaur"; $race{"satyr"} = "satyr"; $race{"titan"} = "titan"; $race{"bat"} = "bat"; $race{"bear"} = "bear"; $race{"cat"} = "cat"; $race{"centipede"} = "centipede"; $race{"dog"} = "dog"; $race{"doll"} = "doll"; $race{"dragon"} = "dragon"; $race{"fido"} = "fido"; $race{"fox"} = "fox"; $race{"hobgoblin"} = "hobgoblin"; $race{"kobold"} = "kobold"; $race{"lizard"} = "lizard"; $race{"modron"} = "modron"; $race{"orc"} = "orc"; $race{"pig"} = "pig"; $race{"rabbit"} = "rabbit"; $race{"school monster"} = "school monster"; $race{"snake"} = "snake"; $race{"song bird"} = "song bird"; $race{"troll"} = "troll"; $race{"water fowl"} = "water fowl"; $race{"wolf"} = "wolf"; $race{"wyvern"} = "wyvern"; @weapons = ('exotic', 'sword', 'dagger', 'spear', 'mace', 'axe', 'flail', 'whip', 'polearm'); $special{"spec_boaz"} = "spec_boaz"; $special{"spec_breath_any"} = "spec_breath_any"; $special{"spec_breath_acid"} = "spec_breath_acid"; $special{"spec_breath_fire"} = "spec_breath_fire"; $special{"spec_breath_frost"} = "spec_breath_frost"; $special{"spec_breath_gas"} = "spec_breath_gas"; $special{"spec_breath_lightning"} = "spec_breath_lightning"; $special{"spec_cast_adept"} = "spec_cast_adept"; $special{"spec_cast_cleric"} = "spec_cast_cleric"; $special{"spec_cast_judge"} = "spec_cast_judge"; $special{"spec_cast_mage"} = "spec_cast_mage"; $special{"spec_cast_undead"} = "spec_cast_undead"; $special{"spec_executioner"} = "spec_executioner"; $special{"spec_fido"} = "spec_fido"; $special{"spec_guard"} = "spec_guard"; $special{"spec_janitor"} = "spec_janitor"; $special{"spec_mayor"} = "spec_mayor"; $special{"spec_poison"} = "spec_poison"; $special{"spec_thief"} = "spec_thief"; $special{"spec_nasty"} = "spec_nasty"; $special{"spec_troll_member"} = "spec_troll_member"; $special{"spec_ogre_member"} = "spec_ogre_member"; $special{"spec_patrolman"} = "spec_patrolman"; $special{"spec_dog_pee"} = "spec_dog_pee"; $special{"spec_cast_clan_adept"} = "spec_cast_clan_adept"; $mobhp{0} = "1d3+5"; $mobhp{1} = "1d5+8"; $mobhp{2} = "2d2+12"; $mobhp{3} = "2d4+16"; $mobhp{4} = "2d6+21"; $mobhp{5} = "3d5+26"; $mobhp{6} = "4d5+35"; $mobhp{7} = "5d5+43"; $mobhp{8} = "5d6+51"; $mobhp{9} = "2d21+59"; $mobhp{10} = "5d8+67"; $mobhp{11} = "4d12+75"; $mobhp{12} = "7d7+82"; $mobhp{13} = "6d9+91"; $mobhp{14} = "6d10+99"; $mobhp{15} = "6d11+107"; $mobhp{16} = "7d10+116"; $mobhp{17} = "7d11+125"; $mobhp{18} = "8d10+135"; $mobhp{19} = "6d15+146"; $mobhp{20} = "9d10+157"; $mobhp{21} = "9d11+168"; $mobhp{22} = "3d39+181"; $mobhp{23} = "10d11+194"; $mobhp{24} = "6d21+208"; $mobhp{25} = "7d19+223"; $mobhp{26} = "6d24+238"; $mobhp{27} = "11d13+254"; $mobhp{28} = "7d23+271"; $mobhp{29} = "7d24+289"; $mobhp{30} = "12d14+307"; $mobhp{31} = "7d27+327"; $mobhp{32} = "4d51+347"; $mobhp{33} = "14d14+367"; $mobhp{34} = "13d16+389"; $mobhp{35} = "7d33+411"; $mobhp{36} = "8d30+434"; $mobhp{37} = "14d17+458"; $mobhp{38} = "9d29+482"; $mobhp{39} = "16d16+508"; $mobhp{40} = "15d18+534"; $mobhp{41} = "13d22+561"; $mobhp{42} = "7d44+589"; $mobhp{43} = "14d21+623"; $mobhp{44} = "17d17+658"; $mobhp{45} = "5d65+687"; $mobhp{46} = "10d35+705"; $mobhp{47} = "10d36+737"; $mobhp{48} = "14d26+769"; $mobhp{49} = "15d25+802"; $mobhp{50} = "16d24+835"; $mobhp{51} = "13d31+869"; $mobhp{52} = "11d38+904"; $mobhp{53} = "20d20+946"; $mobhp{54} = "16d27+977"; $mobhp{55} = "17d26+1015"; $mobhp{56} = "8d59+1054"; $mobhp{57} = "6d81+1095"; $mobhp{58} = "17d28+1136"; $mobhp{59} = "18d27+1178"; $mobhp{60} = "8d65+1221"; $mobhp{61} = "9d59+1266"; $mobhp{62} = "20d26+1313"; $mobhp{63} = "13d42+1361"; $mobhp{64} = "22d24+1418"; $mobhp{65} = "23d24+1463"; $mobhp{66} = "18d32+1516"; $mobhp{67} = "24d24+1572"; $mobhp{68} = "11d56+1629"; $mobhp{69} = "22d27+1696"; $mobhp{70} = "23d27+1752"; $mobhp{71} = "20d32+1817"; $mobhp{72} = "24d27+1884"; $mobhp{73} = "10d69+1956"; $mobhp{74} = "22d31+2029"; $mobhp{75} = "14d51+2107"; $mobhp{76} = "23d31+2188"; $mobhp{77} = "21d35+2272"; $mobhp{78} = "15d51+2361"; $mobhp{79} = "14d56+2454"; $mobhp{80} = "10d81+2552"; $mobhp{81} = "16d51+2654"; $mobhp{82} = "28d29+2762"; $mobhp{83} = "24d35+2874"; $mobhp{84} = "26d33+2992"; $mobhp{85} = "19d47+3117"; $mobhp{86} = "28d32+3247"; $mobhp{87} = "25d37+3384"; $mobhp{88} = "27d35+3527"; $mobhp{89} = "14d71+3678"; $mobhp{90} = "31d31+3848"; $mobhp{91} = "17d61+4003"; $mobhp{92} = "21d49+4190"; $mobhp{93} = "32d33+4361"; $mobhp{94} = "14d80+4553"; $mobhp{95} = "28d39+4767"; $mobhp{96} = "25d45+4979"; $mobhp{97} = "15d80+5187"; $mobhp{98} = "30d39+5433"; $mobhp{99} = "33d37+5662"; $mobhp{100} = "18d71+5917"; $mobhp{101} = "22d59+6184"; $mobhp{102} = "28d47+6463"; $mobhp{103} = "35d38+6755"; $mobhp{104} = "27d51+7060"; $mobhp{105} = "27d52+7380"; $mobhp{106} = "31d46+7713"; $mobhp{107} = "37d39+8061"; $mobhp{108} = "15d101+8425"; $mobhp{109} = "13d119+8804"; $mobhp{110} = "39d39+9201"; $mobdm{0} = "1d2+2"; $mobdm{1} = "1d2+2"; $mobdm{2} = "1d3+2"; $mobdm{3} = "1d3+2"; $mobdm{4} = "1d3+3"; $mobdm{5} = "1d5+3"; $mobdm{6} = "1d5+4"; $mobdm{7} = "2d2+4"; $mobdm{8} = "2d3+5"; $mobdm{9} = "2d3+6"; $mobdm{10} = "2d4+6"; $mobdm{11} = "2d4+7"; $mobdm{12} = "2d5+8"; $mobdm{13} = "2d6+8"; $mobdm{14} = "2d6+9"; $mobdm{15} = "3d4+9"; $mobdm{16} = "3d5+10"; $mobdm{17} = "3d5+11"; $mobdm{18} = "2d9+11"; $mobdm{19} = "2d9+12"; $mobdm{20} = "4d4+13"; $mobdm{21} = "3d7+13"; $mobdm{22} = "3d7+14"; $mobdm{23} = "4d5+14"; $mobdm{24} = "3d8+15"; $mobdm{25} = "3d8+16"; $mobdm{26} = "4d6+16"; $mobdm{27} = "4d6+17"; $mobdm{28} = "5d5+18"; $mobdm{29} = "4d7+18"; $mobdm{30} = "4d7+19"; $mobdm{31} = "3d11+19"; $mobdm{32} = "5d6+20"; $mobdm{33} = "5d6+21"; $mobdm{34} = "3d12+21"; $mobdm{35} = "3d12+22"; $mobdm{36} = "5d7+23"; $mobdm{37} = "2d21+23"; $mobdm{38} = "2d21+24"; $mobdm{39} = "4d10+24"; $mobdm{40} = "5d8+25"; $mobdm{41} = "5d8+26"; $mobdm{42} = "4d11+26"; $mobdm{43} = "4d11+27"; $mobdm{44} = "5d9+28"; $mobdm{45} = "4d12+28"; $mobdm{46} = "4d12+29"; $mobdm{47} = "2d27+29"; $mobdm{48} = "5d10+30"; $mobdm{49} = "6d8+31"; $mobdm{50} = "7d7+31"; $mobdm{51} = "7d7+32"; $mobdm{52} = "5d11+33"; $mobdm{53} = "6d9+33"; $mobdm{54} = "6d9+34"; $mobdm{55} = "4d15+34"; $mobdm{56} = "7d8+35"; $mobdm{57} = "7d8+36"; $mobdm{58} = "6d10+36"; $mobdm{59} = "6d10+37"; $mobdm{60} = "5d13+38"; $mobdm{61} = "7d9+38"; $mobdm{62} = "7d9+39"; $mobdm{63} = "6d11+39"; $mobdm{64} = "8d8+40"; $mobdm{65} = "8d8+41"; $mobdm{66} = "2d39+41"; $mobdm{67} = "2d39+42"; $mobdm{68} = "6d12+43"; $mobdm{69} = "3d27+43"; $mobdm{70} = "3d27+44"; $mobdm{71} = "4d20+44"; $mobdm{72} = "5d16+45"; $mobdm{73} = "6d13+46"; $mobdm{74} = "4d21+46"; $mobdm{75} = "4d21+47"; $mobdm{76} = "5d17+48"; $mobdm{77} = "6d14+48"; $mobdm{78} = "8d10+49"; $mobdm{79} = "9d9+49"; $mobdm{80} = "5d18+50"; $mobdm{81} = "5d18+51"; $mobdm{82} = "6d15+51"; $mobdm{83} = "6d15+52"; $mobdm{84} = "7d13+53"; $mobdm{85} = "2d51+53"; $mobdm{86} = "2d51+54"; $mobdm{87} = "4d25+54"; $mobdm{88} = "5d20+55"; $mobdm{89} = "5d20+56"; $mobdm{90} = "7d14+56"; $mobdm{91} = "8d12+57"; $mobdm{92} = "6d17+58"; $mobdm{93} = "9d11+58"; $mobdm{94} = "9d11+59"; $mobdm{95} = "7d15+59"; $mobdm{96} = "8d13+60"; $mobdm{97} = "10d10+61"; $mobdm{98} = "3d39+61"; $mobdm{99} = "3d39+62"; $mobdm{100} = "5d23+63"; $mobdm{101} = "7d16+63"; $mobdm{102} = "9d12+64"; $mobdm{103} = "8d14+64"; $mobdm{104} = "10d11+65"; $mobdm{105} = "10d11+66"; $mobdm{106} = "7d17+66"; $mobdm{107} = "7d17+67"; $mobdm{108} = "9d13+68"; $mobdm{109} = "8d15+68"; $mobdm{110} = "8d15+69"; $ac{0} = 10; $ac{1} = 10; $ac{2} = 9; $ac{3} = 9; $ac{4} = 8; $ac{5} = 8; $ac{6} = 7; $ac{7} = 7; $ac{8} = 6; $ac{9} = 6; $ac{10} = 5; $ac{11} = 5; $ac{12} = 4; $ac{13} = 4; $ac{14} = 3; $ac{15} = 3; $ac{16} = 2; $ac{17} = 2; $ac{18} = 1; $ac{19} = 1; $ac{20} = 0; $ac{21} = 0; $ac{22} = -1; $ac{23} = -1; $ac{24} = -2; $ac{25} = -2; $ac{26} = -3; $ac{27} = -3; $ac{28} = -4; $ac{29} = -4; $ac{30} = -5; $ac{31} = -5; $ac{32} = -6; $ac{33} = -6; $ac{34} = -7; $ac{35} = -7; $ac{36} = -8; $ac{37} = -8; $ac{38} = -9; $ac{39} = -9; $ac{40} = -10; $ac{41} = -10; $ac{42} = -11; $ac{43} = -11; $ac{44} = -12; $ac{45} = -12; $ac{46} = -13; $ac{47} = -13; $ac{48} = -14; $ac{49} = -14; $ac{50} = -15; $ac{51} = -15; $ac{52} = -16; $ac{53} = -16; $ac{54} = -17; $ac{55} = -17; $ac{56} = -18; $ac{57} = -18; $ac{58} = -19; $ac{59} = -19; $ac{60} = -20; $ac{61} = -20; $ac{62} = -21; $ac{63} = -21; $ac{64} = -22; $ac{65} = -22; $ac{66} = -23; $ac{67} = -23; $ac{68} = -24; $ac{69} = -24; $ac{70} = -25; $ac{71} = -25; $ac{72} = -26; $ac{73} = -26; $ac{74} = -27; $ac{75} = -27; $ac{76} = -28; $ac{77} = -28; $ac{78} = -29; $ac{79} = -29; $ac{80} = -30; $ac{81} = -30; $ac{82} = -31; $ac{83} = -31; $ac{84} = -32; $ac{85} = -32; $ac{86} = -33; $ac{87} = -33; $ac{88} = -34; $ac{89} = -34; $ac{90} = -35; $ac{91} = -35; $ac{92} = -36; $ac{93} = -36; $ac{94} = -37; $ac{95} = -37; $ac{96} = -38; $ac{97} = -38; $ac{98} = -39; $ac{99} = -39; $ac{100} = -40; $ac{101} = -40; $ac{102} = -41; $ac{103} = -41; $ac{104} = -42; $ac{105} = -42; $ac{106} = -43; $ac{107} = -43; $ac{108} = -44; $ac{109} = -44; $ac{110} = -45; $objac{0} = 1; $objac{1} = 1; $objac{2} = 1; $objac{3} = 1; $objac{4} = 1; $objac{5} = 1; $objac{6} = 2; $objac{7} = 2; $objac{8} = 2; $objac{9} = 2; $objac{10} = 2; $objac{11} = 3; $objac{12} = 3; $objac{13} = 3; $objac{14} = 3; $objac{15} = 3; $objac{16} = 4; $objac{17} = 4; $objac{18} = 4; $objac{19} = 4; $objac{20} = 4; $objac{21} = 5; $objac{22} = 5; $objac{23} = 5; $objac{24} = 5; $objac{25} = 5; $objac{26} = 6; $objac{27} = 6; $objac{28} = 6; $objac{29} = 6; $objac{30} = 6; $objac{31} = 7; $objac{32} = 7; $objac{33} = 7; $objac{34} = 7; $objac{35} = 7; $objac{36} = 8; $objac{37} = 8; $objac{38} = 8; $objac{39} = 8; $objac{40} = 8; $objac{41} = 8; $objac{42} = 9; $objac{43} = 9; $objac{44} = 9; $objac{45} = 9; $objac{46} = 9; $objac{47} = 10; $objac{48} = 10; $objac{49} = 10; $objac{50} = 10; $objac{51} = 10; $objac{52} = 11; $objac{53} = 11; $objac{54} = 11; $objac{55} = 11; $objac{56} = 11; $objac{57} = 12; $objac{58} = 12; $objac{59} = 12; $objac{60} = 12; $objac{61} = 12; $objac{62} = 13; $objac{63} = 13; $objac{64} = 13; $objac{65} = 13; $objac{66} = 13; $objac{67} = 14; $objac{68} = 14; $objac{69} = 14; $objac{70} = 14; $objac{71} = 14; $objac{72} = 15; $objac{73} = 15; $objac{74} = 15; $objac{75} = 15; $objac{76} = 15; $objac{77} = 16; $objac{78} = 16; $objac{79} = 16; $objac{80} = 16; $objac{81} = 16; $objac{82} = 16; $objac{83} = 17; $objac{84} = 17; $objac{85} = 17; $objac{86} = 17; $objac{87} = 17; $objac{88} = 18; $objac{89} = 18; $objac{90} = 18; $objac{91} = 18; $objac{92} = 18; $objac{93} = 19; $objac{94} = 19; $objac{95} = 19; $objac{96} = 19; $objac{97} = 19; $objac{98} = 20; $objac{99} = 20; $objac{100} = 20; $objac{101} = 20; $objac{102} = 20; $objac{103} = 21; $objac{104} = 21; $objac{105} = 21; $objac{106} = 21; $objac{107} = 21; $objac{108} = 22; $objac{109} = 22; $objac{110} = 22; $weapdice{0} = "1 4"; $weapdice{1} = "1 5"; $weapdice{2} = "1 6"; $weapdice{3} = "1 7"; $weapdice{4} = "1 9"; $weapdice{5} = "2 3"; $weapdice{6} = "2 4"; $weapdice{7} = "2 5"; $weapdice{8} = "3 3"; $weapdice{9} = "2 6"; $weapdice{10} = "2 7"; $weapdice{11} = "3 4"; $weapdice{12} = "2 8"; $weapdice{13} = "3 5"; $weapdice{14} = "2 9"; $weapdice{15} = "3 6"; $weapdice{16} = "4 4"; $weapdice{17} = "3 7"; $weapdice{18} = "2 12"; $weapdice{19} = "4 5"; $weapdice{20} = "3 8"; $weapdice{21} = "3 9"; $weapdice{22} = "4 6"; $weapdice{23} = "5 5"; $weapdice{24} = "4 7"; $weapdice{25} = "2 17"; $weapdice{26} = "3 11"; $weapdice{27} = "4 8"; $weapdice{28} = "2 19"; $weapdice{29} = "3 12"; $weapdice{30} = "4 9"; $weapdice{31} = "2 21"; $weapdice{32} = "3 14"; $weapdice{33} = "4 10"; $weapdice{34} = "5 8"; $weapdice{35} = "4 11"; $weapdice{36} = "5 9"; $weapdice{37} = "6 7"; $weapdice{38} = "4 12"; $weapdice{39} = "2 27"; $weapdice{40} = "5 10"; $weapdice{41} = "6 8"; $weapdice{42} = "7 7"; $weapdice{43} = "5 11"; $weapdice{44} = "6 9"; $weapdice{45} = "3 21"; $weapdice{46} = "4 15"; $weapdice{47} = "7 8"; $weapdice{48} = "6 10"; $weapdice{49} = "5 13"; $weapdice{50} = "4 17"; $weapdice{51} = "7 9"; $weapdice{52} = "6 11"; $weapdice{53} = "5 14"; $weapdice{54} = "2 39"; $weapdice{55} = "5 15"; $weapdice{56} = "3 27"; $weapdice{57} = "4 20"; $weapdice{58} = "8 9"; $weapdice{59} = "7 11"; $weapdice{60} = "4 21"; $weapdice{61} = "5 17"; $weapdice{62} = "8 10"; $weapdice{63} = "9 9"; $weapdice{64} = "5 18"; $weapdice{65} = "6 15"; $weapdice{66} = "7 13"; $weapdice{67} = "8 11"; $weapdice{68} = "2 51"; $weapdice{69} = "9 10"; $weapdice{70} = "5 20"; $weapdice{71} = "8 12"; $weapdice{72} = "6 17"; $weapdice{73} = "9 11"; $weapdice{74} = "7 15"; $weapdice{75} = "10 10"; $weapdice{76} = "3 39"; $weapdice{77} = "5 23"; $weapdice{78} = "9 12"; $weapdice{79} = "8 14"; $weapdice{80} = "10 11"; $weapdice{81} = "7 17"; $weapdice{82} = "9 13"; $weapdice{83} = "8 15"; $weapdice{84} = "6 21"; $weapdice{85} = "10 12"; $weapdice{86} = "11 11"; $weapdice{87} = "9 14"; $weapdice{88} = "7 19"; $weapdice{89} = "4 35"; $weapdice{90} = "10 13"; $weapdice{91} = "9 15"; $weapdice{92} = "11 12"; $weapdice{93} = "6 24"; $weapdice{94} = "3 51"; $weapdice{95} = "10 14"; $weapdice{96} = "9 16"; $weapdice{97} = "11 13"; $weapdice{98} = "2 81"; $weapdice{99} = "12 12"; $weapdice{100} = "10 15"; $weapdice{101} = "4 41"; $weapdice{102} = "7 23"; $weapdice{103} = "2 87"; $weapdice{104} = "12 13"; $weapdice{105} = "7 24"; $weapdice{106} = "8 21"; $weapdice{107} = "11 15"; $weapdice{108} = "9 19"; $weapdice{109} = "10 17"; $weapdice{110} = "12 14"; 1;