pub type Perm = Vec<usize>;
A permutation of {0,…,n−1}: p[x] is the image of point x.
{0,…,n−1}
p[x]
x
pub struct Perm { /* private fields */ }