public int Access(int pos) { var i = this.Perm.Inverse (pos); var _rank0 = i + 1; var _pos = this.Lens.Select0 (_rank0); var _rank1 = _pos + 1 - _rank0; return _rank1 - 1; }