fn shortest_edit<T>(a: &[T], b: &[T]) -> Vec<Vec<usize>>where
    T: PartialEq,