public Shuffler Power(long exponent) { Shuffler result = new Shuffler(Value, 1, 0); Shuffler doub = this; for (int i = 0; i < 64; i++) { if (0 != (exponent & (1L << i))) { result = result.Merge(doub); } doub = doub.Merge(doub); } return(result); }