#!/usr/bin/perl

# Copyright (c) CGIROOM.   http://cgiroom.nu
#======================================================================#
# [Ver  1.02] かるカウンター 10桁対応版
#
# このプログラムによって起きた事にCGIROOMは責任を負いません。
# 利用契約に同意できない方のご利用は、遠慮下さい。

#======================================================================#
# 設定

#◇ カウントデータファイル
$dat='count.dat';

#◇ データバックアップファイル
$bak="count.bak";

#◇ ロックファイル
$lockdat ="lock.txt";

#◇ Cookieによる2重カウント防止機能 yes =1; no = 0
$cookie = 1;

	#◇ 何時間防止する？
	$ch =  0.1 ;

#======================================================================#

@QUERY = split(/&/,$ENV{'QUERY_STRING'});
foreach (@QUERY){
	($n,$v) = split(/=/);
	$FORM{$n} = $v;
}
binmode(STDOUT);
if($cookie){
$ENV{'HTTP_COOKIE'} =~ s/\s//g;
@COOKIE=split(/;/, $ENV{'HTTP_COOKIE'});
foreach (@COOKIE){
	($name,$value) = split(/=/);
	$value=~ s/\D//g;
	$COOKIE{$name} = $value;
}
}
print "Content-type: image/gif\n";
$times=time;
if($FORM{'mode'} || ($COOKIE{'icount'} && ($COOKIE{'icount'} + $ch * 60*60 ) > $times )){
	open(IN,$dat) || &err;
	$count_ = <IN>;
	$end    = <IN>;
	close(IN);
	if($end ne "__END__"){
		open(IN,$bak)||&err;
		$count_ = <IN>;
		close(IN);
	}
	($count,$day,$lday,$mon,$lmon,$year,$lyear,$date) = split(/\t/, $count_);
	($aa,$bb,$cc)=(localtime($date))[3..5];
	($a,$b,$c)=(localtime(time))[3..5];
	if($cc != $c){
		$lyear = $count - $year;
		$year = $count;
		$lmon = $count - $mon;
		$mon = $count;
		$lday = $count - $day;
		$day = $count;
	}elsif($bb != $b){
		$lmon = $count - $mon;
		$mon = $count;
		$lday = $count - $day;
		$day = $count;
	}elsif($aa != $a){
		$lday = $count - $day;
		$day = $count;
	}
	if($FORM{'mode'} eq "t"){
		$count -= $day;
	}elsif($FORM{'mode'} eq "lt"){
		$count = $lday;
	}elsif($FORM{'mode'} eq "m"){
		$count -= $mon;
	}elsif($FORM{'mode'} eq "lm"){
		$count = $lmon;
	}elsif($FORM{'mode'} eq "y"){
		$count -= $year;
	}elsif($FORM{'mode'} eq "ly"){
		$count = $lyear;
	}elsif($FORM{'mode'}){
		&err;
	}else{
		$count = $COOKIE{'icountd'};
	}
}elsif(&lock == 1){
	$wan=1;
	open(IN,$dat) || &err;
	$count_ = <IN>;
	$end    = <IN>;
	close(IN);
	if($end ne "__END__"){
		open(IN,$bak)||&err;
		$count_ = <IN>;
		$end    = <IN>;
		close(IN);
	}
	($count,$day,$lday,$mon,$lmon,$year,$lyear,$date) = split(/\t/, $count_);
	($aa,$bb,$cc)=(localtime($date))[3..5];
	($a,$b,$c)=(localtime(time))[3..5];
	if($cc != $c){
		$lyear = $count - $year;
		$year = $count;
		$lmon = $count - $mon;
		$mon = $count;
		$lday = $count - $day;
		$day = $count;
	}elsif($bb != $b){
		$lmon = $count - $mon;
		$mon = $count;
		$lday = $count - $day;
		$day = $count;
	}elsif($aa != $a){
		$lday = $count - $day;
		$day = $count;
	}
	$count++;

	open(OUT,"> $dat")||&err;
	print OUT "$count\t$day\t$lday\t$mon\t$lmon\t$year\t$lyear\t$times\t\n__END__";
	close(OUT);
	open(OUT,"> $bak")||&err;
	print OUT "$count\t$day\t$lday\t$mon\t$lmon\t$year\t$lyear\t$times\t\n__END__";
	close(OUT);
	if($cookie){
	print "Set-Cookie: icount=$times; expires=Fri, 31-Dec-2010 00:00:00 GMT\n";
	print "Set-Cookie: icountd=$count; expires=Fri, 31-Dec-2010 00:00:00 GMT\n";
	}
	$wan=0;
	open(LOCK,">lock.txt")&&close(LOCK);
}else{
	&err;
}
&err if $FORM{'err'};
$count = sprintf("%0.${1}d",$count) if $FORM{'md'} =~ /(\d+)/;
@count=split(/ */,$count);
print "\n\x47\x49\x46\x38\x39\x61";
    if($#count == 0){print"\x0f";
}elsif($#count == 1){print"\x1e";
}elsif($#count == 2){print"\x2d";
}elsif($#count == 3){print"\x3c";
}elsif($#count == 4){print"\x4b";
}elsif($#count == 5){print"\x5a";
}elsif($#count == 6){print"\x69";
}elsif($#count == 7){print"\x78";
}elsif($#count == 8){print"\x87";
}elsif($#count == 9){print"\x96";
}print "\x00\x16\x00\xe6\x00\x00";

$color1= "\x00\x00\x00" ;
$color2= "\x00\x50\x00" ;
$color3= "\x70\xff\x00" ;
if($FORM{'color1'}){
	$FORM{'color1'}=~ s/[^0-9a-fA-F]//g;
	$color1 = pack("H6",$FORM{'color1'}) if (length($FORM{'color1'}) == 6);
}
if($FORM{'color2'}){
	$FORM{'color2'}=~ s/[^0-9a-fA-F]//g;
	$color2 = pack("H6",$FORM{'color2'}) if (length($FORM{'color2'}) == 6);
}
if($FORM{'color3'}){
	$FORM{'color3'}=~ s/[^0-9a-fA-F]//g;
	$color3 = pack("H6",$FORM{'color3'}) if (length($FORM{'color3'}) == 6);
}print "$color1$color2$color3";
@count = reverse(@count);
foreach (@count){
	    if($_ == 0){print"$color3$color3$color3$color2$color3$color3$color3";
	}elsif($_ == 1){print"$color2$color2$color3$color2$color2$color3$color2";
	}elsif($_ == 2){print"$color3$color2$color3$color3$color3$color2$color3";
	}elsif($_ == 3){print"$color3$color2$color3$color3$color2$color3$color3";
	}elsif($_ == 4){print"$color2$color3$color3$color3$color2$color3$color2";
	}elsif($_ == 5){print"$color3$color3$color2$color3$color2$color3$color3";
	}elsif($_ == 6){print"$color3$color3$color2$color3$color3$color3$color3";
	}elsif($_ == 7){print"$color3$color3$color3$color2$color2$color3$color2";
	}elsif($_ == 8){print"$color3$color3$color3$color3$color3$color3$color3";
	}elsif($_ == 9){print"$color3$color3$color3$color3$color2$color3$color3";
	}
}
print "\x00\x00\x00" x (128 - 3 - ($#count + 1) * 7);
print "\x2c\x00\x00\x00\x00";
    if($#count == 0){print"\x0f\x00\x16\x00\x00\x07\x69\x80\x00\x82\x83\x84\x85\x84\x03\x88\x89\x03\x86\x00\x8a\x8e\x85\x04\x8d\x8e\x8b\x05\x83\x04\x97\x8c\x05\x9a\x82\x97\x91\x86\x9a\x95\x00\x9d\x99\x9b\xa2\x98\x9f\xa5\xa3\xa8\xa1\xa2\x00\x06\xaf\xb0\x06\x00\xac\x82\xb1\xb6\x85\x07\xae\xb6\xb2\x08\x83\x07\xbf\x8c\x08\xc2\x82\xbf\xb9\x86\xc2\xbd\x00\xc5\xc1\xc3\xca\xc0\xc7\xcd\xcb\xd0\xc9\xd2\x85\xc8\xbe\x00\x09\xda\xdb\x09\x00\xc9\x83\xdc\xe1\x8c\xe1\xda\x8c\xe6\x84\x81\x00\x3b";
}elsif($#count == 1){print"\x1e\x00\x16\x00\x00\x07\xd1\x80\x00\x82\x83\x84\x85\x86\x87\x86\x0a\x8a\x8b\x0a\x88\x03\x8f\x90\x03\x87\x8c\x94\x86\x91\x97\x85\x0b\x00\x94\x8a\x00\x0c\x84\x04\x00\x97\x8f\x00\x05\x83\x0b\xa8\x87\x0c\xab\x82\x04\xae\x87\x05\xb1\x82\xa8\x9a\x86\xab\x9f\x00\xae\xa1\x86\xb1\xa6\x00\xb4\xaa\xac\xb9\xaf\xbc\xb2\xbf\xa9\xb6\xc2\xba\xb0\xc6\xc0\xc9\xb8\xcb\xc5\xbe\xbf\x00\x0d\xd6\xd7\x0d\x9e\xa0\x00\x06\xdd\xde\x06\xa5\x85\xd8\xe3\x86\xdf\xe6\x85\x0e\xd5\xe3\xd9\x0f\x84\x07\xdc\xe6\xe0\x08\x83\x0e\xf5\x87\x0f\xf8\x82\x07\xfb\x87\x08\xfe\x82\xf5\xd2\x19\xc2\xd7\x0e\xc0\xbe\x77\x86\xfc\xcd\x03\x10\xf0\x5e\x3e\x83\xfc\x12\xfe\x63\x68\x6f\xe0\xc3\x83\xfd\x26\x36\xb4\x58\x10\xa3\xc4\x85\x1b\x0b\x11\xd4\x17\xb1\x90\x42\x7a\x00\x20\xa8\x5c\x09\x01\x40\x41\x7d\x00\x12\xc8\x9c\x99\x00\xc0\xc2\x41\x2c\x73\x1a\xa2\xc9\xf3\x50\x4e\x95\x88\x78\xca\x44\x44\xb4\xe8\xa1\x40\x00\x3b";
}elsif($#count == 2){print"\x2d\x00\x16\x00\x00\x07\xfe\x80\x00\x82\x83\x84\x85\x86\x87\x88\x89\x84\x11\x8c\x8d\x11\x88\x0a\x91\x92\x0a\x88\x03\x96\x97\x03\x87\x8e\x9b\x86\x93\x9e\x86\x98\xa1\x85\x12\x00\x9b\x8c\x00\x13\x84\x0b\x00\x9e\x91\x00\x0c\x84\x04\x00\xa1\x96\x00\x05\x83\x12\xb9\x87\x13\xbc\x82\x0b\xbf\x87\x0c\xc2\x82\x04\xc5\x87\x05\xc8\x82\xb9\xa4\x86\xbc\xa9\x00\xbf\xab\x86\xc2\xb0\x00\xc5\xb2\x86\xc8\xb7\x00\xcb\xbb\xbd\xd0\xc0\xd3\xc3\xd6\xc6\xd9\xc9\xdc\xba\xcd\xdf\xd1\xc1\xe3\xd7\xc7\xe7\xdd\xea\xcf\xec\xe2\xd5\xef\xe6\xdb\xdc\x00\x14\xfd\xfe\x14\xa8\x54\x01\x68\x40\xb0\x60\x83\x57\xb1\x00\x18\x58\xc8\xd0\x80\xad\x42\xff\x22\x1a\x32\x48\xd1\x50\xc3\x8b\x85\x2a\xf0\x8b\x08\xd0\x02\x21\x07\x03\x29\x1e\x7c\x40\xe8\x80\xc2\x8b\x0e\x11\x0c\xaa\xc0\xf2\x90\x85\x97\x82\x1c\xc8\x3c\xf4\xa0\xa6\xa0\x03\x38\x0f\x21\xd8\x29\x88\xa5\x46\x43\x2f\x3d\x02\x90\x09\xd2\x50\x4d\x92\x00\x70\x9a\x34\xb4\x53\x25\x00\x9f\x2e\x61\x0e\x9d\x69\xd4\x66\xd2\x9c\x4c\x79\x3e\x6d\x09\x54\x2a\x51\x9a\x56\x95\xea\xd4\x0a\xb5\xab\xd0\xaf\x55\x91\x8a\xcd\xea\xb4\x6c\xa1\xa0\x3f\x31\xa9\x16\x3a\x7a\x13\x6b\xa1\xa6\x2b\x01\x5c\xd8\xcb\xf7\x02\x00\xa1\x31\x01\x40\x18\x4c\x18\x02\x00\xa4\x37\x01\x24\x58\xcc\x38\x01\x00\xa7\x83\xfa\x4a\x36\x54\xb8\xb2\xa1\xc6\x98\x0f\x49\xde\x8b\xa8\xf2\x60\x44\x98\x17\x2b\x1a\x4d\xba\xf4\xa0\x40\x00\x3b";
}elsif($#count == 3){print"\x3c\x00\x16\x00\x00\x07\xfe\x80\x00\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x89\x18\x8d\x8e\x18\x88\x11\x92\x93\x11\x88\x0a\x97\x98\x0a\x88\x03\x9c\x9d\x03\x87\x8f\xa1\x86\x94\xa4\x86\x99\xa7\x86\x9e\xaa\x85\x19\x00\xa1\x8d\x00\x1a\x84\x12\x00\xa4\x92\x00\x13\x84\x0b\x00\xa7\x97\x00\x0c\x84\x04\x00\xaa\x9c\x00\x05\x83\x19\xc9\x87\x1a\xcc\x82\x12\xcf\x87\x13\xd2\x82\x0b\xd5\x87\x0c\xd8\x82\x04\xdb\x87\x05\xde\x82\xc9\xad\x86\xcc\xb2\x00\xcf\xb4\x86\xd2\xb9\x00\xd5\xbb\x86\xd8\xc0\x00\xdb\xc2\x86\xde\xc7\x00\xe1\xcb\xcd\xe6\xd0\xe9\xd3\xec\xd6\xde\x65\x93\xc7\xad\xde\x37\x7c\xca\xc6\xed\x3b\x17\xed\x5f\xbb\x6b\x03\xe7\x75\x3b\x98\x4f\x61\x39\x86\xfe\xd6\x3d\x14\x18\x4f\xa2\xc1\x7b\xf8\x00\x6c\x18\x49\x72\x43\xac\x59\x00\x28\xa8\x5c\x49\x01\x97\x2e\x00\x0d\x62\xca\x6c\xf0\x2b\x18\x00\x03\x38\x73\x1a\x30\x56\xa8\xa4\x4f\x43\x2c\x83\x1a\x9a\x49\xd4\x90\xce\xa3\x85\x38\x88\xf4\x69\xb2\x03\xa1\x0a\x29\x83\xb6\xb4\x40\xc8\x01\x4c\xa2\x34\x1f\x10\x3a\x70\xf3\xe8\x4e\x04\x83\x38\x88\x3d\xd4\xa1\xac\xa0\x0a\x68\x0f\x59\x58\x2b\xc8\x81\xdb\x43\xaa\x0f\xe2\x0a\x3a\x40\xf7\x10\x82\xbb\x82\xc4\x2a\x35\x54\xd6\x29\x00\xb4\x50\x0d\xad\xa5\x0a\xc0\xad\x55\x43\x71\xb5\x02\xa0\xcb\xd5\xd0\x5d\xb0\x00\xf4\x92\x35\xfb\x37\xad\x60\xb6\x85\xdf\x22\x96\xbb\xb8\xae\x63\xbc\x91\xc7\xf2\xa5\x0c\x58\x2d\x66\xc3\x70\x39\x33\xb6\x0b\x5a\xf2\x68\xbf\xa5\x2f\x13\x46\xbd\x59\xf1\xea\xcf\x90\x5d\x17\xea\x7b\xd6\x72\xa1\xc1\x6d\x35\x17\x4a\x3c\xd7\x73\xa1\xc7\x61\x01\x78\x58\xce\xdc\x03\x00\xbf\x67\x01\x5c\x98\x4e\xfd\x02\x00\xc2\x6d\x01\x40\xd8\xce\x1d\x02\x00\xc5\x73\x01\x24\x18\x4f\x3e\x01\x00\xc8\x83\x9a\xab\x37\x54\xbd\xbd\xa1\xee\xf0\x0d\x95\x9f\x7f\x48\xfd\x72\x44\xed\xa7\x23\x82\xbf\x1d\xd1\xfc\xf1\x8b\x04\x28\xe0\x80\x03\x06\x02\x00\x3b";
}elsif($#count == 4){print"\x4b\x00\x16\x00\x00\x07\xfe\x80\x00\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x00\x1f\x8f\x90\x1f\x88\x18\x94\x95\x18\x88\x11\x99\x9a\x11\x88\x0a\x9e\x9f\x0a\x88\x03\xa3\xa4\x03\x87\x91\xa8\x86\x96\xab\x86\x9b\xae\x86\xa0\xb1\x86\xa5\xb4\x85\x20\x8e\xa8\x92\x21\x84\x19\x00\xab\x94\x00\x1a\x84\x12\x00\xae\x99\x00\x13\x84\x0b\x00\xb1\x9e\x00\x0c\x84\x04\x00\xb4\xa3\x00\x05\x83\x20\xd9\x87\x21\xdc\x82\x19\xdf\x87\x1a\xe2\x82\x12\xe5\x87\x13\xe8\x82\x0b\xeb\x87\x0c\xee\x82\x04\xf1\x87\x05\xf4\x82\xd9\xb7\x86\xdc\xbb\x00\xdf\xbd\x86\xe2\xc2\x00\x94\x23\x66\x08\x5d\x32\x00\xeb\x96\x19\x72\x07\x0d\x40\x3c\x69\x86\xe8\x5d\x03\x70\x6f\x5b\x37\x7e\xe0\xfe\x8d\x13\x68\xae\x60\x3a\x84\xec\x16\xbe\x73\x28\x2f\x62\x3d\x8a\xda\xf2\x5d\xec\x17\x6e\xe3\xc0\x73\x1f\x13\xb6\x1b\xf9\x70\xde\xc9\x8a\x2a\xf7\xb1\xd4\x18\xf0\xa5\xc7\x83\x32\x45\x36\xac\x69\x72\x22\x45\x00\x22\x92\x2a\x15\x01\x60\x9f\x37\x00\x1b\xa2\x4a\xdd\x10\x6c\x18\x00\x0a\x58\xb3\x52\x40\xa6\x0c\x40\x83\xaf\x60\x1b\x3c\x8b\x06\xc0\x80\xd9\xb3\x06\xac\x15\x5a\xca\xd6\xd0\xd4\xb7\xfe\x86\xb4\xca\x35\x14\xb6\xae\x21\xb4\x78\x0b\x8d\x40\xca\x96\x29\x09\x42\x1c\xa0\xbe\xa5\xda\x81\x50\x85\xab\x72\xb7\x5a\x20\xe4\xc0\x6b\x5d\xb1\x0f\x08\x1d\x28\x8b\x37\x2d\x82\x41\x23\x32\x1f\x22\xc1\x59\x10\x87\xcf\x87\x3a\x88\x16\x54\xa1\xf4\x21\x0b\xa8\x05\x39\x58\x7d\xe8\x81\x6b\x41\x07\x62\x1f\x42\x40\x5b\x50\xe6\xbd\x86\x38\xff\x05\xf0\x39\xb0\x21\xd1\x85\x01\x94\x3e\x6c\x08\xf5\x62\x00\xab\x1b\x1b\x72\x1d\x19\x40\xec\xc9\x86\x68\x5f\x06\x70\x7b\x73\x67\xde\xa0\x7f\x8f\x16\x6e\xba\x78\x6a\xe4\xac\x97\xbf\x76\x2e\x3b\x7a\x6d\xea\x9a\x73\x5f\xef\x1d\x7a\xfb\xf0\xd3\xdf\x93\xb7\x1e\xff\x7c\xf6\xf9\xea\xea\x77\xb3\xd7\x1e\xfc\xbd\xf7\xe3\xf2\x89\xd7\x5c\x7d\xe6\x4d\x87\x5f\x21\xba\x79\x96\x5d\x21\xc0\x91\xd6\x5d\x21\xc6\xa9\x16\x5e\x21\xcc\xc1\x56\x5e\x21\xd2\x61\x06\x40\x09\x1c\x76\x58\x02\x00\xbb\x79\x06\x80\x07\x24\x96\xe8\x01\x00\xc1\x91\x06\xc0\x05\x2c\xb6\x78\x01\x00\xc7\xa9\x06\x00\x04\x34\xd6\x08\x01\x00\xcd\xc1\x06\x40\x02\x3c\xf6\x98\x00\x00\xd3\x0d\xe2\xe1\x90\x86\x98\x68\xa4\x21\x2e\x26\x24\x69\x88\x8d\x4c\x1a\xe2\xe3\x93\x87\x0c\xc9\x21\x22\x46\x92\x88\x48\x92\x2c\x22\xc2\x24\x8d\x88\x3c\xc9\x63\x23\x60\x86\x29\xe6\x98\x84\x04\x02\x00\x3b";
}elsif($#count == 5){print"\x5a\x00\x16\x00\x00\x07\xfe\x80\x00\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x83\x26\x90\x91\x26\x88\x1f\x95\x96\x1f\x88\x18\x9a\x9b\x18\x88\x11\x9f\xa0\x11\x88\x0a\xa4\xa5\x0a\x88\x03\xa9\xaa\x03\x87\x92\xae\x86\x97\xb1\x86\x9c\xb4\x86\xa1\xb7\x86\xa6\xba\x86\xab\xbd\x85\x27\x00\xae\x90\x00\x28\x84\x20\x00\xb1\x95\x00\x21\x84\x19\x00\xb4\x9a\x00\x1a\x84\x12\x00\xb7\x9f\x00\x13\x84\x0b\x00\xba\xa4\x00\x0c\x84\x04\x00\xbd\xa9\x00\x05\x83\x27\xea\x87\x28\xed\x82\x20\xf0\x87\x21\xf3\x82\x19\xf6\x87\x1a\xf9\x82\x12\xfc\x87\x13\xff\x82\x16\x08\x3c\xc4\xa0\xa0\x20\x02\x08\x0f\x15\x58\x28\x48\x1d\x30\x43\xed\x8a\x01\x80\x77\xcc\xd0\x3c\x66\x00\xec\x39\x33\x94\x6f\x1a\x00\x7e\xd5\x0c\xfd\xd3\x06\x40\x20\x37\x43\x05\xc3\x01\x40\x38\xce\xd0\x42\x74\x00\x1c\xb2\x73\x37\x31\x9e\x45\x7a\x19\xef\x71\xd4\xf7\xb1\x9f\x48\x80\x25\x07\xa2\x34\xb8\x32\xa1\x4b\x86\x31\xd7\x41\xa4\x49\x51\x1e\x4e\x8d\xf8\x78\x82\xf4\x07\xd4\x24\x41\xa2\x2c\x15\x22\x95\xb9\x54\x62\xd3\x9b\x18\xa1\xee\xf4\x38\xf5\x27\x49\xab\x43\x55\x66\x3d\x0a\x33\x26\x80\x14\xfe\x70\xe3\xa6\x20\x66\x0c\x80\x88\xbb\x78\x45\x2c\x6b\x06\x60\x83\xdf\xbf\x1b\xa4\x51\x03\x40\xa1\xb0\x61\x0a\xd9\xb6\x01\x68\xc0\xb8\x71\x03\x70\xe2\x00\x18\x98\x4c\xd9\xc0\xb9\x42\x72\x33\x1b\xca\xcb\xd9\x10\xe0\xcf\x86\x0e\x8b\x36\xe4\xb8\xb4\xa1\xca\xa8\x0b\xa9\x78\x9b\x79\xee\x0a\x42\x23\xec\x72\xd6\x4b\x82\x10\x87\xbe\x9f\x03\x77\x20\x54\x81\xb0\x68\xc4\x16\x08\x39\x58\x5c\xfa\xf1\x03\x42\x07\x24\xa3\xb6\x8c\x60\x90\x8a\xe7\x87\x56\x48\x17\x34\xa2\xfa\x21\x12\xd8\x05\x71\xd8\x7e\xa8\x83\x77\x41\x15\xc2\x1f\xb2\x40\x5e\x90\x83\xf3\x87\x1e\xa8\x17\x74\xa0\xfd\x21\x04\xf0\x05\x3d\x5f\x6d\x48\xfa\x6b\x00\xd5\x63\x1b\xc2\x5e\x1b\xc0\xf6\xdb\x86\x78\xb7\x1b\x00\xe1\xf5\x66\x08\x79\xc1\x01\x70\xde\x70\x86\xa8\x77\x1c\x00\xed\x25\x67\x08\x7c\xcd\x01\x30\x5f\x74\xd3\xe1\x67\xdd\x7e\xd9\xf9\xc7\x5d\x80\xdf\x11\x28\xde\x81\xe5\x29\x88\x5e\x83\xeb\x41\xe8\xde\x84\xf1\x59\x08\x5d\x7d\x19\xe6\x77\x5d\x87\xff\x75\x17\x62\x81\xe3\x95\xb8\x60\x7a\x29\x46\xf8\x5e\x8b\x17\xc2\x78\x9f\x8c\x1c\xf6\x57\x23\x88\x03\xe2\x99\x48\x62\x82\x3b\xa2\xf8\xa0\x8f\x2c\x56\x18\x64\x21\xf6\x51\xb7\x61\x21\xfc\x69\xf7\x61\x21\x02\x82\x37\x62\x21\x08\x9a\x77\x62\x21\x0e\xb2\xb7\x62\x21\x14\x3a\x07\x00\x0b\x6c\xb6\xc9\x02\x00\xf7\x51\x07\x40\x09\x74\xd6\x59\x02\x00\xfd\x69\x07\x80\x07\x7c\xf6\xe9\x01\x00\x03\x82\x07\xc0\x05\x84\x16\x7a\x01\x00\x09\x9a\x07\x00\x04\x8c\x36\x0a\x01\x00\x0f\xb2\x07\x40\x02\x94\x56\x9a\x00\x00\x15\x0e\xe2\xe6\xa6\x86\xd8\xe9\xa9\x21\x7e\x86\x6a\x88\xa1\xa4\x1a\xe2\xe8\xa9\x86\x58\xaa\xea\x21\x9b\xb2\x89\x88\xa7\x74\x22\x12\x2a\x9f\x88\x90\x4a\x28\x22\xa7\x32\x8a\x88\xaa\x94\x3a\xe2\xeb\xaf\xc0\x06\xeb\x48\x20\x00\x3b";
}elsif($#count == 6){print"\x69\x00\x16\x00\x00\x07\xfe\x80\x00\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x84\x2d\x91\x92\x2d\x88\x26\x96\x97\x26\x88\x1f\x9b\x9c\x1f\x88\x18\xa0\xa1\x18\x88\x11\xa5\xa6\x11\x88\x0a\xaa\xab\x0a\x88\x03\xaf\xb0\x03\x87\x93\xb4\x86\x98\xb7\x86\x9d\xba\x86\xa2\xbd\x86\xa7\xc0\x86\xac\xc3\x86\xb1\xc6\x85\x2e\x00\xb4\x91\x00\x2f\x84\x27\x00\xb7\x96\x00\x28\x84\x20\x00\xba\x9b\x00\x21\x84\x19\x00\xbd\xa0\x00\x1a\x84\x12\x00\xc0\xa5\x00\x13\x84\x0b\x00\xc3\xaa\x00\x0c\x84\x04\x00\xc6\xaf\x00\x05\x83\x2e\xfa\x87\x2f\xfd\x82\x27\x00\x0f\xa1\x18\x28\x08\x84\xc1\x43\x21\x12\x0a\xca\xc0\xf0\x90\x86\x87\x82\x24\x48\x3c\x34\xa1\xa2\xa0\x05\x18\x0f\x31\xd8\x28\x88\x80\xc7\x43\x05\x42\x0a\xd2\x97\xcc\x50\x3f\x67\x00\x00\x42\x33\x34\xb0\x1a\x00\x83\xd7\x0c\x25\xe4\x06\x80\xa1\x37\x43\x0f\xc7\x01\x90\x58\xce\x50\x45\x75\x00\x30\xb2\x33\xb4\x31\x1e\x00\x8f\xf3\x0c\x85\xc4\x07\x80\x24\x3f\x7f\x29\x03\xb2\x24\xf8\xf2\xa0\x4c\x85\x35\x1b\xe2\x84\xb8\x73\xa2\x4f\x8b\x41\x33\x12\xe5\x78\xf4\xa3\x52\x91\x4d\xf7\x99\x84\xaa\x52\x20\x55\x98\xfe\x08\xb1\xda\x74\xc8\x95\x27\x45\xb0\x42\x35\x92\x45\x0a\x12\xad\xd3\xb5\x28\xdb\x4e\x75\x09\xf7\x2a\xcd\xb9\x5b\x75\xda\xfd\x0a\x34\xef\x58\xa3\x7c\xcf\x32\x6d\x0a\x00\x86\xe5\xcb\x30\x9a\x3d\x03\x90\xa2\xb3\xe7\x14\xd4\xac\x01\x10\x41\xba\xb4\x88\x6d\xdd\x00\x6c\x58\xcd\x7a\x83\x38\x72\x00\x28\xc8\x9e\x4d\x21\xdd\x3a\x00\x0d\x72\xeb\x6e\x00\x4f\x1e\x00\x03\xc0\x83\x1b\xb8\x57\x08\xb3\x71\x43\x9f\x93\x1b\x32\xcd\xdc\x50\xeb\xe7\x86\x68\x4b\x37\xb4\xbb\xba\x21\xe1\xd8\x0b\xc5\xa8\x6c\x3c\xb3\x0c\x42\x2a\x38\x27\x07\xbd\x82\xd0\x88\xd1\xcc\x4f\x93\x20\xc4\x41\xf5\x73\xd7\x1d\x08\x55\x88\x2d\xbd\xb6\x05\x42\x0e\x70\x57\xe7\xfd\x80\xd0\x81\xdf\xd8\x0d\x87\xc0\x20\x31\x14\x78\x88\x0c\x08\x0a\xa2\xc2\x82\x87\xac\xe0\xa0\x20\x23\x44\x78\x08\x09\x14\x0a\xc2\xc1\x85\x87\x74\xa0\xa1\x20\x15\x74\x78\x88\x05\x20\x0a\xe2\xc0\x88\x87\x3c\x60\xa2\x20\x07\xa4\x78\x08\x02\x2c\x0a\x52\xe0\x76\x86\x20\xf8\x1d\x00\x0b\x86\x67\x88\x83\xe5\x01\x10\xe1\x79\x86\x50\xb8\x1e\x00\x17\xb6\x67\x88\x86\xf1\x01\xd0\xe1\x7c\x86\x80\xfe\x78\x1f\x00\x23\xe6\x67\x88\x89\xfd\x01\x90\xe2\x7f\x86\xb0\x38\x20\x00\x2f\x1e\x98\x20\x8d\x0c\xde\xf8\xa0\x8e\x12\xf6\x58\x21\x90\x18\x0e\xb9\xa1\x91\x1e\x26\x19\x22\x93\x24\x3e\x79\xa2\x94\x2a\x56\xd9\x22\x96\x06\xc6\xb8\x65\x8d\x0d\x7e\xb9\xe3\x84\x63\x06\x99\xe1\x99\x47\x7e\xb8\x66\x93\x25\xbe\x39\xe5\x8a\x73\x66\x69\xe7\x8c\x78\x7a\x99\xe3\x9e\x62\xfe\xe8\xa7\x99\x45\x06\xaa\xe6\x92\x84\xba\x19\xe5\xa1\x72\x5e\xa9\x68\x21\x32\x2a\xd8\x65\x21\x38\x42\x18\x66\x21\x3e\x5a\x58\x66\x21\x44\x72\x98\x66\x21\x4a\x8a\xd8\x66\x21\x50\xa2\x18\x67\x21\x56\x12\x08\xc0\x0c\xbc\xf6\x3a\x03\x00\x33\x2a\x08\x00\x0b\xc4\x16\xcb\x02\x00\x39\x42\x08\x40\x09\xcc\x36\x5b\x02\x00\x3f\x5a\x08\x80\x07\xd4\x56\xeb\x01\x00\x45\x72\x08\xc0\x05\xdc\x76\x7b\x01\x00\x4b\x8a\x08\x00\x04\xe4\x96\x0b\x01\x00\x51\xa2\x08\x40\x02\xec\xb6\x9b\x00\x00\x57\x0e\xe2\xeb\xbc\x86\x18\x6b\xaf\x21\xce\xe6\x6b\x88\xb5\xfc\x1a\xe2\xed\xbf\x86\x98\x2b\xb0\x21\xee\x16\x7c\xc8\xbc\xbc\x22\x62\x2f\xb1\x88\xe4\xcb\x2c\x22\xfc\x52\x8b\xc8\xbf\xdc\x12\x22\x22\x30\xb9\x88\x14\xcc\xee\x23\x1c\x77\xec\xf1\xc7\x20\x13\x12\x08\x00\x3b";
}elsif($#count == 7){print"\x78\x00\x16\x00\x00\x07\xfe\x80\x00\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x84\x34\x92\x93\x34\x88\x2d\x97\x98\x2d\x88\x26\x9c\x9d\x26\x88\x1f\xa1\xa2\x1f\x88\x18\xa6\xa7\x18\x88\x11\xab\xac\x11\x88\x0a\xb0\xb1\x0a\x88\x03\xb5\xb6\x03\x87\x94\xba\x86\x99\xbd\x86\x9e\xc0\x86\xa3\xc3\x86\xa8\xc6\x86\xad\xc9\x86\xb2\xcc\x86\xb7\xcf\x85\x35\x00\xba\x92\x00\x36\x84\x2e\x00\xbd\x97\x00\x2f\x84\x27\x00\xc0\x9c\x00\x28\x84\x20\x00\xc3\xa1\x00\x21\x84\x19\x00\xc6\xa6\x00\x1a\x84\x12\x00\xc9\xab\x00\x13\x84\x0b\x00\xcc\xb0\x00\x0c\x08\x11\x00\xf0\xac\x16\x80\x02\x83\x6a\x28\x3c\x64\xa3\xa1\x20\x17\x10\x0f\xbd\x98\x28\xe8\x84\xc5\x43\x28\x32\x0a\x02\xc1\xf1\x50\x88\x8f\x82\x32\x88\x3c\xa4\xa1\xa4\x20\x09\x28\x0f\x4d\x58\x29\x68\x81\xcb\x43\x0c\x62\x0a\x22\x40\xf3\x50\x81\x9b\x82\x14\x4a\x33\xd4\xf0\x1a\x00\x88\xd9\x0c\x4d\xf4\x06\xc0\x22\x38\x43\x19\xcb\x01\xe0\x78\xce\xd0\x47\x76\x00\x44\xba\x33\x54\x72\x1e\x00\x94\xf5\x0c\xad\xd4\x07\xc0\x25\x3f\x43\x31\x03\x02\xa0\x39\xd0\xd0\x4d\x84\x00\x74\x32\x74\xf8\x33\xa2\x50\x8a\xfe\x45\x2f\x22\xd5\xb8\xb4\xa3\x53\x90\x51\x47\x52\x35\x79\x35\xa5\x56\x96\x5d\x5f\x82\x95\x39\xb6\xa6\x59\x9c\x69\x17\xf2\x64\x0b\x54\x22\x5c\xa3\x18\xe9\x32\xf5\x88\x57\x2a\x49\xbe\x58\x55\x02\xf6\x0a\x93\x30\x59\x9b\x88\xd5\x2e\xf6\xd9\xf8\x2d\x51\xc8\x73\x95\x4e\xbe\x0b\xd5\xf2\x5e\xab\x99\xff\x72\xe5\x3c\x58\xec\xe7\xc3\x68\xd3\x02\xb8\xc1\xbb\xf7\x0d\x6b\xd8\x00\xc0\x18\x4e\x1c\x46\xb7\x6f\x00\x52\x28\x5f\x9e\x82\x9c\x39\x00\x22\xa2\x4b\x17\xb1\xae\x1d\x80\x0d\xd8\xb3\x6f\x90\x47\x0f\x00\x85\xef\xe0\x29\xe4\xdb\x07\xa0\x81\xf9\xf3\x0d\x00\x0a\x04\x60\xa0\xbd\x7b\x03\x07\x0b\xf9\x9e\x6f\xa8\xb8\x7d\x43\xcc\xf3\x1b\x9a\xce\xdf\x90\xf6\xff\x86\x84\x27\xa0\x21\xe8\x15\x68\xc8\x7b\x08\x16\x82\xc3\x6e\xf3\xfd\x96\x03\x21\x31\x08\x67\x9f\x71\x32\x10\xa2\x42\x72\xf9\x35\xb7\x02\x21\x23\x40\xc7\x1f\x75\x24\x10\xc2\xc1\x75\xff\x6d\xd7\x01\x21\x15\x78\x27\xa0\x78\x16\x10\xe2\x40\x79\x05\xa6\xf7\x00\x21\x07\xb0\x87\x20\x7c\x08\x0c\x82\xc3\x8e\x87\xe4\xe0\xa3\x20\x31\x04\x79\x88\x0c\x44\x0a\xa2\xc2\x91\x87\xac\xfe\xa0\xa4\x20\x23\x34\x79\x08\x09\x50\x0a\xc2\xc1\x94\x87\x74\x60\xa5\x20\x15\x64\x79\x88\x05\x5c\x0a\xe2\xc0\x97\x87\x3c\x20\xa6\x20\x07\x94\x79\x08\x02\x68\x0a\xb2\xe3\x82\x86\xf8\xf8\x20\x00\x41\x46\x68\x08\x91\x15\x02\x70\xe4\x85\x86\x28\xb9\x21\x00\x4d\x76\x68\x08\x94\x21\x02\x30\xe5\x88\x86\x58\x79\x22\x00\x59\xa6\x68\x08\x97\x2d\x02\xf0\xe5\x8b\x86\x88\x39\x23\x00\x65\xd6\x68\x08\x9a\x39\x02\xb0\x66\x8f\x3f\xc2\x29\xe4\x9c\x45\xda\x89\x64\x9e\x4b\xf2\xe9\xe4\x9f\x51\x0a\x4a\x65\xa1\x57\x22\xaa\xe5\xa2\x5d\x3a\x0a\x66\xa4\x63\x52\x6a\xe6\xa5\x69\x6a\xca\x63\x9b\x9d\xc6\x39\x64\xa8\x77\x26\x59\x6a\x9f\x4f\xa6\x3a\x68\x95\xad\x26\xba\x65\xac\x8f\x86\x59\x6b\xa5\x67\xe6\xba\x29\xaf\x6f\xfa\x0a\x6a\x9d\xc1\x92\xba\x27\xb1\xa8\x06\x7a\x2c\xab\x87\x2a\x0b\x6b\xa3\xcd\xd2\x3a\x29\xb4\xb8\x66\x3a\x6d\x21\x6e\x02\xf9\x69\x21\x74\x1a\x39\x6a\x21\x7a\x32\x79\x6a\x21\x80\x4a\xb9\x6a\x21\x86\x62\xf9\x6a\x21\x8c\x7a\x39\x6b\x21\x92\x92\x79\x6b\x21\x98\xea\x08\x80\x0e\x0c\x37\xac\x03\x00\x6f\x02\x09\xc0\x0c\x14\x88\x57\x3c\x03\x00\x75\x1a\x09\x00\x0b\x1c\x77\xcc\x02\x00\x7b\x32\x09\x40\x09\x24\x97\x5c\x02\x00\x81\x4a\x09\x80\x07\x2c\xb7\xec\x01\x00\x87\x62\x09\xc0\x05\x34\xd7\x7c\x01\x00\x8d\x7a\x09\x00\x04\x3c\xf7\x0c\x01\x00\x93\x92\x09\x40\x02\x44\x17\x9d\x00\x00\x99\x0e\xe2\xf0\xd2\x86\x58\xec\xb4\x21\x1e\x47\x6d\x88\xc9\x54\x1b\xe2\xf2\xd5\x86\xd8\xac\xb5\x21\x3e\x77\x6d\x88\xd1\x60\x1f\xb2\x34\xc3\x88\x38\x4d\x31\x22\x51\x73\x8c\x08\xd5\x24\x23\x72\x35\xcb\x88\x68\x4d\x33\x22\x5d\xf3\x8c\x08\xd8\x44\x43\xa2\xf7\xde\x7c\xf7\xed\x77\x23\x81\x00\x00\x3b";
}elsif($#count == 8){print"\x87\x00\x16\x00\x00\x07\xfe\x80\x00\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x83\x3b\x93\x94\x3b\x88\x34\x98\x99\x34\x88\x2d\x9d\x9e\x2d\x88\x26\xa2\xa3\x26\x88\x1f\xa7\xa8\x1f\x88\x18\xac\xad\x18\x88\x11\xb1\xb2\x11\x88\x0a\xb6\xb7\x0a\x88\x03\xbb\xbc\x03\x87\x95\xc0\x86\x9a\xc3\x86\x9f\xc6\x86\xa4\xc9\x86\xa9\xcc\x86\xae\xcf\x86\xb3\xd2\x86\xb8\xd5\x86\xbd\xd8\x85\x3c\x00\xc0\x93\x00\x3d\x84\x35\x00\xc3\x98\x00\x36\x84\x2e\x00\xc6\x9d\x00\x2f\x84\x27\x00\xc9\xa2\x00\x28\x84\x20\x00\xcc\xa7\x00\x21\x84\x19\x00\xcf\xac\x00\x68\x20\x24\x01\x80\xb4\x58\x00\x26\x10\x5a\x00\xa0\x9a\x2d\x00\x0c\x08\x11\x00\x80\x6d\x17\x80\x02\x83\x78\x68\x3c\xd4\xa3\xa3\xa0\x1a\x20\x0f\xd9\x18\x29\xc8\x85\xc9\x43\x2f\x52\x0a\x3a\xc1\xf2\x10\x8a\x97\x82\x40\xc8\x3c\x14\xa2\xa6\xa0\x0c\x38\x0f\x69\xd8\x29\x48\x82\xcf\x43\x13\x82\x0a\x5a\x40\xf4\x10\x83\xa3\x82\x08\x28\x3d\x54\xa0\xa9\x20\x8d\xdb\x0c\x75\x04\x07\x00\xa4\x38\x43\x23\xcf\x01\x30\x99\xce\x50\x4a\x77\x00\x58\xc2\x33\xf4\xb2\x1e\x00\x99\xf7\x0c\xd5\xe4\x07\x00\xa7\x3f\x43\xfe\x3b\x07\x02\xf0\x59\xd0\x50\x50\x85\x00\x88\x32\x34\x74\x34\x22\x00\xa5\x13\x0d\x35\xc5\x08\x00\x2a\x47\x8f\x55\x43\x62\x25\xb9\xf5\xa4\x57\x95\x61\x5b\x92\x85\x79\x76\xa6\x5a\x9b\x6d\x73\xc2\xe5\x39\xf7\xa7\x5d\xa1\x79\x8b\xf2\x45\xfa\x77\xa9\x60\xa7\x85\x37\x4a\x45\x6c\x55\x24\x63\xae\x28\x21\x8b\x75\x49\x19\x2d\x4d\xcc\x6e\x75\x72\xa6\x0b\x14\xb4\x5e\xa3\xa4\x01\x33\x45\x6d\x78\x35\xd5\xd6\x8b\xb5\xc2\x7e\x0c\x76\xf6\x64\xb3\xb6\x2f\xb3\xcd\xbd\x59\x2e\xef\xcf\x78\x7f\x8f\xf6\x2b\xfc\x34\xe1\xc2\x00\x7c\x88\x1f\xef\xe3\x5b\x38\x00\x37\xd2\xab\xbf\x61\x0e\x1d\x00\x18\xf0\xe3\xc3\x68\xf7\x0e\x40\x8a\xfb\xf8\x53\xd0\xb3\x07\x40\x84\xff\xff\x22\xec\xd3\x0f\x00\x1b\x14\x68\xe0\x06\x02\x11\x04\x00\x05\x0c\x36\x48\x41\x42\x0b\x01\xd0\xc0\x84\x14\x36\x00\x91\x44\x00\x18\xa0\xe1\x86\x06\x5c\x54\x08\x79\x20\x1a\xb2\xde\x88\x86\xc8\x67\xa2\x21\xf9\xa5\x68\x08\x80\x2c\x1a\x72\xe0\x8b\x86\x38\x28\xa3\x21\x15\xd6\x68\x08\x87\x38\x16\xf2\x43\x78\x20\x96\x07\x04\x21\x38\xa0\x37\x22\x7b\x39\x10\x12\xc3\x7b\x26\xce\xfe\x27\x03\x21\x2a\xd8\x97\xa2\x7e\x2b\x10\x32\x42\x7f\x2c\x06\x48\x02\x21\x1c\x10\xf8\x22\x82\x1d\x10\x52\xc1\x82\x32\x3e\x68\x01\x21\x0e\x48\x58\xa3\x85\x0f\x10\x72\x40\x86\x38\x76\x88\xc0\x20\x3f\xc4\x79\x08\x10\x74\x0a\x82\xc3\x9d\x87\xe4\xa0\xa7\x20\x31\xf4\x79\x88\x0c\x80\x0a\xa2\xc2\xa0\x87\xac\x60\xa8\x20\x23\x24\x7a\x08\x09\x8c\x0a\xc2\xc1\xa3\x87\x74\x20\xa9\x20\x15\x54\x7a\x88\x05\x98\x0a\xe2\xc0\xa6\x87\x3c\xe0\xa9\x20\x07\x84\x7a\x08\x02\xa4\x0a\x12\xe7\x8e\x86\xd0\xf9\x23\x00\x77\x06\x69\x88\x9e\x45\x02\xd0\xe7\x91\x86\x00\xba\x24\x00\x83\x36\x69\x88\xa1\x51\x02\x90\xe8\x94\x86\x30\x7a\x25\x00\x8f\x66\x69\x88\xa4\x5d\x02\x50\xe9\x97\x86\x60\x3a\x26\x00\x9b\x96\x69\x88\xa7\x69\x02\x10\xea\x9a\x86\x90\xfa\x26\x00\xa7\xce\x59\x27\xab\x78\xbe\xba\xa7\xac\x7e\xd6\x1a\x28\xae\x84\xee\x7a\xa8\xaf\x8a\x06\xdb\x28\xb1\x90\x1e\x3b\xa9\xb2\x96\x36\x9b\x29\xb4\x9c\x4e\xfb\xa9\xb5\xa2\x66\x5b\x2a\xb7\x72\xa6\xfa\x6d\xab\x79\x8e\x3b\xeb\x9f\xe7\xe6\x5a\xe8\xba\xbf\x2e\xfa\x6e\xb1\x91\xce\xbb\xec\xa5\xf7\xfd\x46\xdb\xe9\xbe\xd7\x8e\xfa\x6f\xb7\x02\xaf\x4a\xb0\xb8\xb1\x1e\x6c\xee\xad\x0a\xab\xdb\x6b\xc3\xee\x0e\x0b\xb1\xbc\xc9\x4e\x6c\xef\xb3\x16\xeb\x5b\x6d\xc6\xfe\x6e\xcb\x71\x21\xaa\xda\x19\x6e\x21\xb0\xf2\x59\x6e\x21\xb6\x0a\x9a\x6e\x21\xbc\x22\xda\x6e\x21\xc2\x3a\x1a\x6f\x21\xc8\x52\x5a\x6f\x21\xce\x6a\x9a\x6f\x21\xd4\x82\xda\x6f\x21\xda\xc2\x09\x40\x10\x5c\x77\x1d\x04\x00\xab\xda\x09\x80\x0e\x64\x97\xad\x03\x00\xb1\xf2\x09\xc0\x0c\x6c\xb7\x3d\x03\x00\xb7\x0a\x0a\x00\x0b\x74\xd7\xcd\x02\x00\xbd\x22\x0a\x40\x09\x7c\xf7\x5d\x02\x00\xc3\x3a\x0a\x80\x07\x84\x17\xee\x01\x00\xc9\x52\x0a\xc0\x05\x8c\x37\x7e\x01\x00\xcf\x6a\x0a\x00\x04\x94\x57\x0e\x01\x00\xd5\x82\x0a\x40\x02\x9c\x77\x9e\x00\x00\xdb\x0e\xe2\xf5\xe8\x86\x98\x6d\xba\x21\x6e\xa7\x6e\x88\xdd\xac\x1b\xe2\xf7\xeb\x86\x18\x2e\xbb\x21\x8e\xd7\x6e\x88\xe5\xb8\x1b\xe2\xf9\xee\x87\x8c\xce\x35\x22\xa6\x93\x8d\x48\xea\x6c\x23\xc2\x3a\xdd\x88\xbc\xce\x37\x22\xb2\x13\x8e\x48\xed\x8c\x23\x82\x3b\xe5\x88\xec\xce\x79\x24\xd8\x67\xaf\xfd\xf6\xdc\x73\x1f\x08\x00\x3b";
}elsif($#count == 9){print"\x96\x00\x16\x00\x00\x07\xfe\x80\x00\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x00\x42\x94\x95\x42\x88\x3b\x99\x9a\x3b\x88\x34\x9e\x9f\x34\x88\x2d\xa3\xa4\x2d\x88\x26\xa8\xa9\x26\x88\x1f\xad\xae\x1f\x88\x18\xb2\xb3\x18\x88\x11\xb7\xb8\x11\x88\x0a\xbc\xbd\x0a\x88\x03\xc1\xc2\x03\x87\x96\xc6\x86\x9b\xc9\x86\xa0\xcc\x86\xa5\xcf\x86\xaa\xd2\x86\xaf\xd5\x86\xb4\xd8\x86\xb9\xdb\x86\xbe\xde\x86\xc3\xe1\x85\x43\x93\xc6\x97\x44\x84\x3c\x00\xc9\x99\x00\x3d\x84\x35\x00\xcc\x9e\x00\x36\x84\x2e\x00\xcf\xa3\x00\x2f\x84\x27\x00\xd2\x50\x01\x40\x41\x08\x04\x80\x6a\xad\x00\x84\x20\x94\x01\x00\x36\x59\x00\x34\x10\x92\x00\x60\xdb\x2d\x00\x13\x08\x2d\x00\xe0\x8d\x17\x00\x06\x84\x08\x00\x08\x17\x0c\x40\x81\x41\x43\x52\x1e\x22\xc2\x52\x10\x8f\x97\x87\x7a\xc8\x14\x54\xa3\xe6\x21\x1b\x38\x05\xb9\xd8\x79\xe8\x85\x4f\x41\x27\x82\x1e\x42\x41\x54\x10\x88\xa3\x87\x42\x28\x15\x94\xa1\xe9\x21\x0d\x50\x05\x49\x98\x7a\x68\x82\x55\x41\x0b\xb2\x1e\x62\xc0\x55\x10\x81\xaf\x87\x0a\x88\x15\x94\x92\x9c\x21\x96\xe8\x00\xbc\x54\x67\x48\xe6\x3b\x00\xfe\x35\xe3\x19\xc2\x69\x0f\xc0\x4e\x7c\x86\x7c\xf6\x03\x10\xf4\x9f\x21\xa2\x04\x01\x1c\x35\x68\x48\xe9\x42\x00\x4d\x1b\x1a\x82\x2a\x11\xc0\x54\x8a\x86\xac\x66\x04\x90\x75\xa3\x21\xae\x20\x01\x7c\x15\x69\x48\xec\x49\x00\x65\x57\xb6\x54\x0b\xb3\xed\x4c\xb8\x36\xe7\xe6\xb4\xcb\x33\xef\x4f\xbe\x42\xff\x16\x15\x8c\xb4\xf0\x52\xc4\x4e\x17\x47\x75\x4c\x35\xf2\x55\xca\x5a\x2f\x77\xd5\x0c\xb6\xf3\x58\xd0\x2a\xcf\x8e\x5e\x1b\xf3\x74\xdc\x9b\xab\xef\xf6\x7c\xdd\x77\xe8\xec\xc1\x49\x6f\x27\x7e\xba\xfb\x71\xd5\xdf\x95\xb7\x0e\xdf\x1c\xf6\x78\x68\xe5\x69\x99\x9b\x7e\xfb\x5c\x75\x5d\xe9\xae\xf7\x56\x97\x1d\x18\xbb\xed\xc3\xdb\x75\x37\xf6\xee\x7b\x72\x78\xe1\x99\x91\x67\xdc\x67\xa0\x01\x50\xc4\x81\x08\x16\x01\x40\x5a\x2e\x01\xe0\xc3\x83\x10\xfa\xe0\x0e\x3c\x00\xdc\x60\xe1\x85\x37\xd4\x73\x0f\x00\x30\x74\xe8\x21\x0c\xfc\xf8\x03\x40\x0a\x24\x96\x98\xc2\x40\x05\x01\x20\xc2\x8a\x2c\x8a\xa0\x10\x43\x00\x6c\x20\xe3\x8c\x1b\x44\x34\x11\x00\x14\xe4\xa8\x23\x05\x18\x69\x04\x40\x03\x40\x06\xd9\xc0\x47\x21\x01\x60\xc0\x91\x48\x1a\xfe\x60\x52\x21\x09\x36\x69\x48\x84\x50\x1a\x82\xe1\x94\x86\x7c\x68\xa5\x21\x26\x66\x69\x48\x8b\x5c\x1a\x42\xe3\x97\x86\xec\x28\xa6\x21\x42\x96\x69\x48\x92\x68\x16\x62\x84\x81\x4d\x2a\x78\x04\x21\x3f\x38\x08\xa5\x84\x40\x10\x82\x43\x85\x53\x66\x98\x03\x21\x31\x70\x68\x25\x88\x32\x10\xa2\xc2\x88\x59\x9e\xb8\x02\x21\x23\xa8\xc8\xa5\x8b\x24\x10\xc2\x41\x8c\x5f\xd6\xd8\x01\x21\x15\xe0\x28\x26\x8f\x16\x10\xe2\xc0\x8f\x65\x0e\xf9\x00\x21\x07\x18\x89\xa6\x92\x08\x0c\x62\xc4\xa9\x87\x1c\xa1\xaa\x20\x3f\xb4\x7a\x08\x10\xb0\x0a\x82\xc3\xac\x87\xe4\x60\xab\x20\x31\xe4\x7a\x88\x0c\xbc\x0a\xa2\xc2\xaf\x87\xac\x20\xac\x20\x23\x14\x7b\x08\x09\xc8\x0a\xc2\xc1\xb2\x87\x74\xe0\xac\x20\x15\x44\x7b\x88\x05\xd4\x0a\xe2\xc0\xb5\x87\x3c\xa0\xad\x20\x07\x74\x7b\x08\x02\xe0\x0a\x72\xea\x9a\x86\xa8\xfa\x26\x00\xad\xc6\x69\x08\xac\x75\x02\x30\xeb\x9d\x86\xd8\xba\x27\x00\xb9\xf6\x69\x08\xaf\x81\x02\xf0\xeb\xa0\x86\x08\x7b\x28\x00\xc5\x26\x6a\x08\xb2\x8d\x02\xb0\xec\xa3\x86\x38\x3b\x29\x00\xd1\x56\x6a\x08\xb5\x99\x02\x70\xed\xa6\x86\xfe\x68\xfb\x29\x00\xdd\x86\x6a\x08\xb8\xa5\x02\x30\x6e\xaa\xab\xa2\xeb\xea\xba\xb1\xba\x4b\x6b\xbc\xb7\xd2\xab\xeb\xbd\xbd\xea\x0b\x6c\xbf\xc3\x02\x6c\xec\xc0\xc9\x1a\xcc\x6c\xc2\xcf\x32\x2c\xed\xc3\xd5\x4a\x8c\x6d\xc5\xdb\x62\xec\xed\xc6\xe1\x7a\x8c\x6a\xb9\x21\xa7\xfb\x6a\xc9\xef\xd6\x9a\x72\xbd\xbb\xb6\xbc\x6f\xb0\x31\x07\x7c\x6c\xcd\x07\x37\x9b\x73\xc3\xd3\xf6\x3c\x71\xb6\x41\x67\xfc\x6d\xd1\x1f\x23\x7d\xae\xd2\x24\xb7\xdb\x34\xca\xf3\x42\xcd\x72\xbe\x53\xc3\xfc\xaf\xd5\x34\x17\x9c\x35\xce\x0b\x73\xcd\x73\xc4\x5f\x03\x7d\xb1\xd8\x44\x77\x5c\x76\x21\xe6\xb2\x3a\x72\x21\xec\xca\x7a\x72\x21\xf2\xe2\xba\x72\x21\xf8\xfa\xfa\x72\x21\xfe\x12\x3b\x73\x21\x04\x2b\x7b\x73\x21\x0a\x43\xbb\x73\x21\x10\x5b\xfb\x73\x21\x16\x73\x3b\x74\x21\x1c\x9b\x0a\x00\x12\xac\xb7\x8e\x04\x00\xe7\xb2\x0a\x40\x10\xb4\xd7\x1e\x04\x00\xed\xca\x0a\x80\x0e\xbc\xf7\xae\x03\x00\xf3\xe2\x0a\xc0\x0c\xc4\x17\x3f\x03\x00\xf9\xfa\x0a\x00\x0b\xcc\x37\xcf\x02\x00\xff\x12\x0b\x40\x09\xd4\x57\x5f\x02\x00\x05\x2b\x0b\x80\x07\xdc\x77\xef\x01\x00\x7e\x0b\x43\x0b\xc0\x05\xe4\x97\x7f\x01\x00\x11\x5b\x0b\x00\x04\xec\xb7\x0f\x01\x00\x17\x73\x0b\x40\x02\xf4\xd7\x9f\x00\x00\x1d\x0f\xe2\xfa\xfe\x86\xd8\xee\xbf\x21\xbe\x0b\xa0\x21\x8c\x47\x40\x43\x38\xef\x80\x86\xb0\x9e\x02\x0d\xe1\xbd\x06\x1a\xc2\x7c\x10\x34\x84\xfb\x26\x68\x08\xfb\x59\xf0\x10\xfb\x63\x1d\x22\xfc\x47\x3b\x44\x04\x90\x77\x88\x20\x20\xf1\x10\x71\x40\xe6\x21\x42\x81\xd4\x43\x44\x03\xb9\x87\x08\x08\x92\x0f\x11\x13\x64\x1f\x22\x2c\x48\x3f\x49\xd8\xf0\x86\x38\xcc\xa1\x0e\x77\x78\x88\x40\x00\x00\x3b";
}
exit;
sub lock{
	$randoms = $$ . $ENV{'REMOTE_ADDR'};
	foreach (1..10){
		if(-z $lockdat){
			open(LOCK,">>$lockdat")||&err;
			print LOCK $randoms;
			close(LOCK);
			open(LOCK,$lockdat)||&err;
			$dummy=<LOCK>;
			close(LOCK);
			return 1 if $dummy eq $randoms;
		}
		$times=(stat($lockdat))[9];
		$timer=time - 60;
		if($times <= $timer){
			open(LOCK,">$lockdat")&&close(LOCK);
		}else{
			sleep 1;
		}
	}
	return 0;
}
sub err{
	open(LOCK,">$lockdat")&&close(LOCK) if $wan;
	print "\n",pack("H*","47494638396126000f0080ff00ffffffff00002c0000000026000f0040024e8c8fa9cb08face8b66ba40f14dd94afd750e409260758265244aebb456b16c62f3c75de2bea179a80be21ac4a2f1886c647c281e7098626a9ccd9e2df6a2d57637a9d4537d7e21c2b0399a4c230a003b");
	exit;
}
__END__
1999/08/06  Ver  1.00
2001/01/17  Ver  1.01
2001/08/10  Ver  1.02