($n,$m)=glob<>; $a=$n>>1; $b=$n-$a; if($m<$n-1||$m>$a*$b){ print"NO\n"; exit; } print"YES\n"; print join($",1..$n),$/; for(1..$m){ if($_<$n){ $u=$_+1>>1; # 1 1 2 2 $v=$n-($_>>1); # n n-1 n-1 n-2 }else{ do{ $u=int(rand($a)+1); $v=int(rand($b)+1+$a); }while$h{$u,$v}; } $h{$u,$v}=1; print"$u $v\n"; }