#!/usr/bin/env perl

use strict;
use warnings;

if (@ARGV != 3 && @ARGV != 4) {
  print STDERR "Usage: $0 (seed) d n [relative] \n";
  exit 1;
}

my $seed = $ARGV[0] // undef;
if (defined $seed) {
  srand $seed;
}

my $d = $ARGV[1] // (1 + rand 1000);
my $n = $ARGV[2] // (1 + int rand 1000000);
my $relative = (($ARGV[3] // 'false') eq 'true');

print "$d\n$n\n";

my ($lx, $ly, $x, $y) = (0, 0, 0, 0);
for my $i (1 ... $n) {
  do {
    if ($relative) {
      $x = $lx + int rand ($d*4) - $d*2;
      $y = $ly + int rand ($d*4) - $d*2;
    } else {
      $x = -1000000 + int rand 2000001;
      $y = -1000000 + int rand 2000001;
    }
  } while ($x == $lx || $y == $ly || abs($x) > 1000000 || abs($y) > 1000000);

  print "$x $y\n";
}
