viterbi
remove swap