preprocessing in SML done
shifting in SML done