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

use strict;

use lib "$ENV{'HOME'}/lib/perl";
use Math::LongSequence;

sub Main ();
sub Usage ();

Main;

sub Main () {
  my $min_n;
  my $max_n;
  if ($#::ARGV == 0) {
    $min_n = $max_n = eval shift @::ARGV;
    }
  elsif ($#::ARGV == 1) {
    $min_n = eval shift @::ARGV;
    $max_n = eval shift @::ARGV;
    }
  else {
    Usage;
    }
  my @Q;
  tie @Q, 'Math::LongSequence', "$ENV{'HOME'}/math/thesis/2003/bin/hof",
    "/scratch/jjchew/hof.dat";

  for my $n ($min_n..$max_n) {
    print "$n\t$Q[$n]\n";
    }
  }

sub Usage () {
  die "Usage: $0 [min-n] max-n\n"
    . "  min-n  smallest value of n for which to compute Q(n)\n"
    . "         (defaults to max-n)\n"
    . "  max-n  largest value of n for which to compute Q(n)\n"
    ;
  }
