#!/usr/bin/perl -w
################################################################
# LWscore.pl : Sinkov's Log-Weight score for Bigrams           #
#--------------------------------------------------------------#
# Compute scores for membership in a language                  #
#   French 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 &to26fra

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