my $ADSize = @ARGV[0];
my $SDSize = @ARGV[1];

# How many of each should we make?
my $adCustomers = $ADSize;
my $adReservations = int($ADSize/5);
my $adReserves = int($ADSize/5);
my $adCartype = 10;
my @cartypes = ('economy', 'compact', 'full', 'van', 'luxury', 'convertible', 'suv');

my $sdCustomers = $SDSize;
my $sdReservations = int($SDSize/2);
my $sdReserves = int($SDSize/2);
my $sdCartype = 10;

# First make the AD 
# Let's create some customers
print ":- table ad_customer/3.\n";
print ":- use_incremental_tabling ad_customer/3.\n";
my $i = 0;
for ($i = 0; $i < $adCustomers; $i++) {
  print "ad_customer(fn$i, ln$i, c$i).\n";
  }

# Now some reservations
print ":- table ad_reservation/4.\n";
print ":- use_incremental_tabling ad_reservation/4.\n";
for ($i = 0; $i < $adReservations; $i++) {
  my $from = int(rand(100000));
  my $to = $from + 100;
  my $ct = int(rand(scalar(@cartypes)));
  print "ad_reservation($i, $from, $to, @cartypes[$ct]).\n";
  }

# Now reserves 
print ":- table ad_reserves/2.\n";
print ":- use_incremental_tabling ad_reserves/2.\n";
for ($i = 0; $i < $adReserves; $i++) {
  my $res = int(rand($adReservations));
  my $cus = int(rand($adCustomers));
  print "ad_reserves(c$cus, $res).\n";
  }

print <<EOC;

:- table ad_cartype/2.
:- use_incremental_tabling ad_cartype/2.
ad_cartype(economy, 50).
ad_cartype(compact, 50).
ad_cartype(full, 60).
ad_cartype(van, 45).
ad_cartype(luxury, 20).
ad_cartype(convertible, 30).
ad_cartype(suv, 100).

EOC

# Now let's do the SD
# Let's create some customers
my $i = 0;
print ":- table sd_customer/3.\n";
print ":- use_incremental_tabling sd_customer/3.\n";
for ($i = 0; $i < $sdCustomers; $i++) {
  print "sd_customer(sfn$i, sln$i, sc$i).\n";
  }

# Now some reservations
print ":- table sd_reservation/4.\n";
print ":- use_incremental_tabling sd_reservation/4.\n";
for ($i = 0; $i < $sdReservations; $i++) {
  my $from = int(rand(100000));
  my $to = $from + 100;
  my $ct = int(rand(scalar(@cartypes)));
  my $res = $sdReservations*2 + $i;
  print "sd_reservation($res, $from, $to, @cartypes[$ct]).\n";
  }

# Now reserves 
print ":- table sd_reserves/2.\n";
print ":- use_incremental_tabling sd_reserves/2.\n";
for ($i = 0; $i < $adReserves; $i++) {
  my $res = int(rand($sdReservations));
  my $cus = int(rand($sdCustomers));
  $res = $sdReservations*2 + $res;
  print "sd_reserves(sc$cus, $res).\n";
  }

