class C1<U> where U : System.IComparable<int> {
public int Compare(U u,int i) { return u.CompareTo(i); }
}
class C2<U> where U : System.IComparable<U> {
public int Compare(U u1,U u2) { return u1.CompareTo(u2); }
}
class C3<U,V> where U : System.IComparable<V> {
public int Compare(U u, V v) { return u.CompareTo(v); }
}
class C4<U, V> where U : System.IComparable<V>, System.IComparable<int>
{ public int Compare(U u, int i) { return u.CompareTo(i); }
}