($a,$b,$c,$d)=glob<>; $x=2; $y=0; sub a{ $o.="@_\n"; ++$y; } sub f { ($p,$n)=@_; for(1..$n){ a($p,$x); $p=$x++; } } sub o { if($d<$y){ print "-1\n"; exit; } print "$x $y\n$o"; exit; } if($a==$c&&$b==$c){ $d=-1 if $c<2; a(0,1); a(1,0); f(1,$c-2); o } if($a==$c){ f(1,$b-$c-1); a($p,0); f(0,$c-1); o } if($b==$c){ f(0,$a-$c-1); a($p,1); f(1,$c-1); o } if($c!=0){ f(0,$a-1); f(1,$b-$c-1); a($p,$a-$c+1); o } { f(0,$a-1); f(1,$b-1); o }