#!/usr/bin/perl -w
################################################################
# LWscore.pl : Sinkov's Log-Weight score for Bigrams           #
#--------------------------------------------------------------#
# Compute scores for membership in a language                  #
#   English version                                            #
#                                                              #
# List of texts from STDIN                                     #
# Output: a list of pairs (text, score) where                  #
#   text is the text chunk under test,                         #
#   score is the Bigram-Log-Weight score.                      #
#--------------------------------------------------------------#
# Klaus Pommerening 2014-Jun-02                                #
#                                                              #
# This program is freeware. Use it as you like.                #
# Usual disclaimers apply.                                     #
################################################################

require "auxcrypt.pl";                # Use &to26eng

# Hash table with weights
%sctable = (AA=>0.0,AB=>1.5,AC=>1.6,AD=>1.2,AE=>0.0,AF=>1.0,AG=>1.3,AH=>0.0,AI=>1.2,AJ=>0.0,AK=>1.0,AL=>1.9,AM=>1.3,AN=>2.2,AO=>0.3,AP=>1.5,AQ=>0.0,AR=>2.0,AS=>1.8,AT=>2.1,AU=>1.1,AV=>1.4,AW=>0.8,AX=>0.0,AY=>1.4,AZ=>0.0,
BA=>0.9,BB=>0.0,BC=>0.0,BD=>0.0,BE=>1.8,BF=>0.0,BG=>0.0,BH=>0.0,BI=>0.8,BJ=>0.3,BK=>0.0,BL=>1.3,BM=>0.0,BN=>0.0,BO=>1.0,BP=>0.0,BQ=>0.0,BR=>0.8,BS=>0.7,BT=>0.0,BU=>1.4,BV=>0.0,BW=>0.0,BX=>0.0,BY=>1.3,BZ=>0.0,
CA=>1.6,CB=>0.0,CC=>1.1,CD=>0.0,CE=>1.7,CF=>0.0,CG=>0.0,CH=>1.7,CI=>1.2,CJ=>0.0,CK=>0.9,CL=>1.2,CM=>0.0,CN=>0.0,CO=>1.8,CP=>0.0,CQ=>0.0,CR=>0.8,CS=>0.0,CT=>1.6,CU=>1.2,CV=>0.0,CW=>0.0,CX=>0.0,CY=>0.0,CZ=>0.0,
DA=>1.7,DB=>1.3,DC=>0.6,DD=>1.0,DE=>1.6,DF=>1.1,DG=>0.3,DH=>0.5,DI=>1.8,DJ=>0.0,DK=>0.0,DL=>0.8,DM=>1.0,DN=>0.7,DO=>1.6,DP=>0.8,DQ=>0.0,DR=>1.0,DS=>1.5,DT=>1.6,DU=>0.9,DV=>0.6,DW=>1.0,DX=>0.0,DY=>0.8,DZ=>0.0,
EA=>2.1,EB=>1.0,EC=>1.8,ED=>2.0,EE=>1.6,EF=>1.4,EG=>1.3,EH=>1.2,EI=>1.6,EJ=>0.0,EK=>0.3,EL=>1.7,EM=>1.6,EN=>2.1,EO=>1.7,EP=>1.5,EQ=>1.1,ER=>2.2,ES=>2.2,ET=>1.9,EU=>0.8,EV=>1.2,EW=>1.6,EX=>1.2,EY=>1.2,EZ=>0.0,
FA=>1.3,FB=>0.3,FC=>1.0,FD=>0.0,FE=>1.4,FF=>1.1,FG=>0.0,FH=>0.8,FI=>1.3,FJ=>0.0,FK=>0.0,FL=>1.0,FM=>0.5,FN=>0.3,FO=>1.6,FP=>0.5,FQ=>0.0,FR=>0.6,FS=>0.9,FT=>1.6,FU=>1.0,FV=>0.0,FW=>0.6,FX=>0.0,FY=>0.0,FZ=>0.0,
GA=>1.0,GB=>0.3,GC=>0.0,GD=>0.0,GE=>1.5,GF=>0.5,GG=>0.0,GH=>1.2,GI=>1.0,GJ=>0.0,GK=>0.0,GL=>0.6,GM=>0.0,GN=>0.5,GO=>1.4,GP=>0.0,GQ=>0.0,GR=>1.3,GS=>0.8,GT=>1.1,GU=>0.9,GV=>0.0,GW=>0.3,GX=>0.0,GY=>0.0,GZ=>0.0,
HA=>1.9,HB=>0.0,HC=>0.3,HD=>0.0,HE=>2.4,HF=>0.3,HG=>0.0,HH=>0.7,HI=>1.9,HJ=>0.0,HK=>0.0,HL=>0.5,HM=>0.0,HN=>0.3,HO=>1.7,HP=>0.0,HQ=>0.0,HR=>0.9,HS=>0.5,HT=>1.3,HU=>0.3,HV=>0.0,HW=>0.8,HX=>0.0,HY=>0.0,HZ=>0.0,
IA=>1.3,IB=>0.8,IC=>1.7,ID=>1.2,IE=>1.6,IF=>1.4,IG=>1.0,IH=>0.0,II=>0.0,IJ=>0.0,IK=>0.9,IL=>1.6,IM=>1.5,IN=>2.2,IO=>1.8,IP=>0.5,IQ=>0.0,IR=>1.3,IS=>2.0,IT=>1.9,IU=>0.0,IV=>1.1,IW=>0.0,IX=>0.0,IY=>0.0,IZ=>0.6,
JA=>0.0,JB=>0.0,JC=>0.0,JD=>0.0,JE=>0.3,JF=>0.0,JG=>0.0,JH=>0.0,JI=>0.0,JJ=>0.0,JK=>0.0,JL=>0.0,JM=>0.0,JN=>0.0,JO=>0.6,JP=>0.0,JQ=>0.0,JR=>0.0,JS=>0.0,JT=>0.0,JU=>0.6,JV=>0.0,JW=>0.0,JX=>0.0,JY=>0.0,JZ=>0.0,
KA=>0.0,KB=>0.0,KC=>0.0,KD=>0.0,KE=>1.4,KF=>0.0,KG=>0.0,KH=>0.0,KI=>0.9,KJ=>0.0,KK=>0.0,KL=>0.0,KM=>0.0,KN=>0.5,KO=>0.5,KP=>0.0,KQ=>0.0,KR=>0.0,KS=>0.3,KT=>0.0,KU=>0.0,KV=>0.0,KW=>0.5,KX=>0.0,KY=>0.5,KZ=>0.0,
LA=>1.5,LB=>0.8,LC=>0.9,LD=>1.4,LE=>1.9,LF=>0.7,LG=>0.0,LH=>0.0,LI=>1.8,LJ=>0.0,LK=>0.5,LL=>1.7,LM=>0.6,LN=>0.0,LO=>1.4,LP=>0.3,LQ=>0.3,LR=>0.3,LS=>1.1,LT=>1.3,LU=>0.9,LV=>0.3,LW=>0.7,LX=>0.0,LY=>1.7,LZ=>0.0,
MA=>1.7,MB=>1.0,MC=>0.0,MD=>0.3,ME=>1.7,MF=>0.0,MG=>0.0,MH=>0.0,MI=>1.4,MJ=>0.0,MK=>0.0,ML=>0.0,MM=>0.7,MN=>0.5,MO=>1.4,MP=>1.2,MQ=>0.0,MR=>0.0,MS=>0.8,MT=>0.8,MU=>1.1,MV=>0.0,MW=>0.3,MX=>0.0,MY=>0.5,MZ=>0.0,
NA=>1.7,NB=>0.8,NC=>1.5,ND=>2.1,NE=>1.8,NF=>0.9,NG=>1.9,NH=>1.0,NI=>1.6,NJ=>0.5,NK=>0.5,NL=>1.0,NM=>0.8,NN=>1.0,NO=>1.8,NP=>0.8,NQ=>0.0,NR=>0.7,NS=>1.7,NT=>2.0,NU=>1.1,NV=>0.6,NW=>1.2,NX=>0.0,NY=>1.1,NZ=>0.0,
OA=>1.0,OB=>1.3,OC=>1.3,OD=>1.2,OE=>0.5,OF=>2.0,OG=>0.5,OH=>0.5,OI=>1.1,OJ=>0.0,OK=>0.7,OL=>1.2,OM=>1.6,ON=>2.2,OO=>1.4,OP=>1.5,OQ=>0.0,OR=>2.1,OS=>1.6,OT=>1.7,OU=>2.0,OV=>1.1,OW=>1.6,OX=>0.0,OY=>0.6,OZ=>0.3,
PA=>1.3,PB=>0.0,PC=>0.0,PD=>0.0,PE=>1.6,PF=>0.0,PG=>0.0,PH=>0.8,PI=>0.9,PJ=>0.0,PK=>0.0,PL=>1.5,PM=>0.0,PN=>0.0,PO=>1.4,PP=>1.4,PQ=>0.0,PR=>1.6,PS=>0.5,PT=>1.1,PU=>0.8,PV=>0.0,PW=>0.0,PX=>0.0,PY=>0.3,PZ=>0.0,
QA=>0.0,QB=>0.0,QC=>0.0,QD=>0.0,QE=>0.0,QF=>0.0,QG=>0.0,QH=>0.0,QI=>0.0,QJ=>0.0,QK=>0.0,QL=>0.0,QM=>0.0,QN=>0.0,QO=>0.0,QP=>0.0,QQ=>0.0,QR=>0.0,QS=>0.0,QT=>0.0,QU=>1.3,QV=>0.0,QW=>0.0,QX=>0.0,QY=>0.0,QZ=>0.0,
RA=>1.8,RB=>0.6,RC=>1.1,RD=>1.2,RE=>2.2,RF=>0.8,RG=>0.8,RH=>0.5,RI=>1.9,RJ=>0.0,RK=>1.0,RL=>1.1,RM=>1.2,RN=>1.1,RO=>1.7,RP=>0.9,RQ=>0.0,RR=>1.3,RS=>1.6,RT=>1.8,RU=>0.8,RV=>0.7,RW=>1.0,RX=>0.0,RY=>1.2,RZ=>0.0,
SA=>1.9,SB=>1.1,SC=>1.3,SD=>0.8,SE=>1.9,SF=>1.1,SG=>0.8,SH=>1.5,SI=>1.6,SJ=>0.0,SK=>0.3,SL=>0.8,SM=>1.1,SN=>1.3,SO=>1.9,SP=>1.4,SQ=>0.3,SR=>0.8,SS=>1.6,ST=>2.1,SU=>1.5,SV=>0.3,SW=>1.4,SX=>0.0,SY=>0.6,SZ=>0.0,
TA=>1.7,TB=>1.1,TC=>0.8,TD=>1.0,TE=>2.0,TF=>0.7,TG=>0.0,TH=>2.5,TI=>2.1,TJ=>0.0,TK=>0.0,TL=>1.1,TM=>1.1,TN=>0.9,TO=>2.0,TP=>0.9,TQ=>0.0,TR=>1.5,TS=>1.5,TT=>1.7,TU=>1.3,TV=>0.6,TW=>1.2,TX=>0.0,TY=>1.3,TZ=>0.0,
UA=>1.3,UB=>0.7,UC=>1.2,UD=>1.0,UE=>1.0,UF=>0.0,UG=>1.1,UH=>0.3,UI=>0.7,UJ=>0.0,UK=>0.0,UL=>1.4,UM=>1.0,UN=>1.5,UO=>0.3,UP=>1.2,UQ=>0.0,UR=>1.7,US=>1.6,UT=>1.7,UU=>0.0,UV=>0.0,UW=>0.0,UX=>0.0,UY=>0.0,UZ=>0.0,
VA=>1.2,VB=>0.0,VC=>0.0,VD=>0.0,VE=>1.7,VF=>0.0,VG=>0.0,VH=>0.0,VI=>1.3,VJ=>0.0,VK=>0.0,VL=>0.0,VM=>0.0,VN=>0.0,VO=>0.8,VP=>0.0,VQ=>0.0,VR=>0.0,VS=>0.0,VT=>0.0,VU=>0.0,VV=>0.0,VW=>0.0,VX=>0.0,VY=>0.0,VZ=>0.0,
WA=>1.5,WB=>0.0,WC=>0.5,WD=>0.6,WE=>1.5,WF=>0.0,WG=>0.0,WH=>1.7,WI=>1.6,WJ=>0.0,WK=>0.0,WL=>0.6,WM=>0.0,WN=>1.0,WO=>1.2,WP=>0.3,WQ=>0.0,WR=>0.0,WS=>0.5,WT=>0.8,WU=>0.0,WV=>0.0,WW=>0.3,WX=>0.0,WY=>0.0,WZ=>0.0,
XA=>0.5,XB=>0.0,XC=>0.7,XD=>0.0,XE=>0.0,XF=>0.0,XG=>0.0,XH=>0.0,XI=>0.6,XJ=>0.0,XK=>0.0,XL=>0.0,XM=>0.0,XN=>0.0,XO=>0.0,XP=>0.6,XQ=>0.0,XR=>0.0,XS=>0.0,XT=>0.0,XU=>0.0,XV=>0.0,XW=>0.0,XX=>0.0,XY=>0.0,XZ=>0.0,
YA=>1.0,YB=>1.0,YC=>1.0,YD=>0.6,YE=>1.1,YF=>0.5,YG=>0.7,YH=>0.7,YI=>1.3,YJ=>0.0,YK=>0.0,YL=>0.8,YM=>0.6,YN=>0.5,YO=>1.4,YP=>0.8,YQ=>0.0,YR=>0.7,YS=>1.2,YT=>1.3,YU=>0.0,YV=>0.5,YW=>1.1,YX=>0.0,YY=>0.0,YZ=>0.0,
ZA=>0.0,ZB=>0.0,ZC=>0.0,ZD=>0.0,ZE=>0.7,ZF=>0.0,ZG=>0.0,ZH=>0.0,ZI=>0.3,ZJ=>0.0,ZK=>0.0,ZL=>0.0,ZM=>0.0,ZN=>0.0,ZO=>0.0,ZP=>0.0,ZQ=>0.0,ZR=>0.0,ZS=>0.0,ZT=>0.0,ZU=>0.0,ZV=>0.0,ZW=>0.0,ZX=>0.0,ZY=>0.0,ZZ=>0.0);

while($a = <STDIN>) {
  $testtext = &to26eng($a);
  print $testtext;
  $ll = length($testtext);
  $score = 0;
  for ($i = 1; $i < $ll; $i++) {
    $score += $sctable{substr($testtext, $i-1, 2)};
    }
  printf (" %.1f\n", $score);
  }
