public Solution(MyTuple2 <T, U> val) : base(val.Item1, val.Item2)
 {
 }
 public GCDResult(MyTuple2 <T, U> val) : base(val.Item1, val.Item2)
 {
 }