sig   val urbcsp :     int -> int -> int -> int -> (int * int * (int * int) list) list end