russia(X):-rchange(X,Z),write(Z).

rchange(X,Z):-pref(X,Y,[V|W]),pref(W,S,T),append([],S,A1),append(A1,[V],A2),append(A2,Y,A3),append(A3,T,Z).

pref([X|Y],[],[X|Y]):-joshi(X).
pref([X|Y],[X|W],Z):-pref(Y,W,Z).

joshi(X):-ga(X).
joshi(X):-wa(X).
joshi(X):-wo(X).
joshi(X):-ni(X).
joshi(X):-de(X).
joshi(X):-mo(X).
joshi(X):-he(X).

ga(X):-X is 33450.
wa(X):-X is 33485.
wo(X):-X is 33520.
ni(X):-X is 33481.
de(X):-X is 33477.
mo(X):-X is 33504.
he(X):-X is 33494.

append([],L,L).
append([E|L1],L2,[E|L]):-append(L1,L2,L).
