#!/usr/local/bin/perl -w 

$x=$vacioy = $cabe = $insertados=0;
$teams = $ARGV[0];
die "I need an even number" if (!defined $teams || $teams%2!=0 || $teams <2);
$jornadas = $teams-1;
$partidos = $teams /2;
for $i (0..$jornadas){
    for $j (0..$partidos){
	$flagi[$i][$j] = 0;
	$flagj[$i][$j] = 0;
    }
}
while ($insertados<$jornadas*$partidos){
    for $i (1..$teams){
	for ($j=$i+1;$j<=$teams;$j++){
	    while (1){
	       $vacioy=0;
	       $cabe=0;
	       $x++;
	       if ($x>$jornadas){ $x=1; }
	       for ($y=$partidos;$y>=1;$y--){
		  if ($flagi[$x][$y]==$i && $flagj[$x][$y]==$j){
		      goto yainsertao;
		  }
		  if ($flagi[$x][$y]==0 && $flagj[$x][$y]==0){ $vacioy=$y; }
		  if ($flagi[$x][$y]!=$i && $flagj[$x][$y]!=$j){
		    if ($flagi[$x][$y]!=$j && $flagj[$x][$y]!=$i){ $cabe++; }
		  }
	       }
	       if ($cabe==$partidos && $vacioy>0){
		  $flagi[$x][$vacioy]=$i;
		  $flagj[$x][$vacioy]=$j;
		  $insertados++;
		  last;
	       }
	    }
yainsertao:
	}
    }
}
for $i (1..$jornadas){
    print "\n$i)\t";
    for $j (1..$partidos){
	print "$flagi[$i][$j]:$flagj[$i][$j] ";
    }
}
printf("\n\n");
exit 0;

