def symmetrization(es, fs, f2e_train, e2f_train):
    '''
    forpus
        for translation from fs to es
    return
        alignment **from fs to es**
    '''
    f2e = viterbi_alignment(es, fs, *f2e_train).items()
    e2f = viterbi_alignment(fs, es, *e2f_train).items()
    
    """
    es: English words
    fs: Foreign words
    f2e: alignment for translation from fs to es
        [(e, f)] or {(e, f)}
    e2f: alignment for translation from es to fs
        [(f, e)] or {(f, e)}
    """
    _e2f = list(zip(*reversed(list(zip(*e2f)))))
    return _alignment(es, fs, _e2f, f2e)