
Help:=proc(): print(`FT(SetL), Sort1(L), TM(SetL), TM(SetL)`):end:


read `ENGLISH.txt`:

  
#Sort1(L): the randking of L
Sort1:=proc(L) local A,T,L1:

for A from 1 to nops(L) do
 T[L[A]]:=A:
od:

L1:=sort(L,`>`):

[seq(T[L1[A]],A=1..nops(L1)   )]:

end:


DB:=ENG():

FT:=proc(SetL) local L,T1,W,C,L1,L2,ALPH,F:

ALPH:=[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z]:

for L from 1 to nops(ALPH) do
 T1[ALPH[L]]:=0:
od:

C:=0:

for L1 in SetL do

 for W in convert(DB[L1],set) do
  for L2 from 1 to nops(W) do
    C:=C+1:
   T1[W[L2]]:= T1[W[L2]]+1:
  od:
 od:
od:

F:=Sort1(evalf([seq(T1[ALPH[A]]/C,A=1..nops(ALPH))])):
[seq(ALPH[F[A]],A=1..nops(ALPH))],[seq([ALPH[F[A]],evalf(T1[ALPH[F[A]]]/C)], A=1..nops(ALPH))]:

end:


TM:=proc(SetL) local L,T1,W,C,L1,L2,ALPH,F,T2:

ALPH:=[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z]:

for L1 from 1 to nops(ALPH) do
 for L2 from 1 to nops(ALPH) do
 T2[ALPH[L1],ALPH[L2]]:=0:
od:

C:=0:

for L1 in SetL do

 for W in convert(DB[L1],set) do
  for L2 from 1 to nops(W)-1 do
    C:=C+1:
   T2[W[L2],W[L2+1]]:=    T2[W[L2],W[L2+1]]+1:
  od:
 od:
od:
od:

op(T2):
end:




