#!/usr/bin/perl
use strict;
use warnings;
my $magic = 7393913335919140050521110339491123405991919445111971;
sub largestprimef($);
sub max($$);
print largestprimef
($magic);
sub largestprimef($) {
my $i;
return largestprimef
(max
(2, $n/2)) if($n % 2 == 0);
for ( $i = 3 ; $i <= $sn ; $i += 2 ) {
if ( $n % $i == 0 ) { last; }
}
if ( $i > $sn ) #loop ran over, means the number is prime
{
}
else {
return max
( $i, largestprimef
( $n / $i ) ); }
}
sub max($$) {
}
IyEvdXNyL2Jpbi9wZXJsCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCm15ICRtYWdpYyA9IDczOTM5MTMzMzU5MTkxNDAwNTA1MjExMTAzMzk0OTExMjM0MDU5OTE5MTk0NDUxMTE5NzE7CgpzdWIgbGFyZ2VzdHByaW1lZigkKTsKc3ViIG1heCgkJCk7CgpwcmludCBsYXJnZXN0cHJpbWVmKCRtYWdpYyk7CgpzdWIgbGFyZ2VzdHByaW1lZigkKSB7CiAgICBteSAkbiA9IHNoaWZ0OwoKICAgIG15ICRpOwogICAgcmV0dXJuIGxhcmdlc3RwcmltZWYobWF4KDIsICRuLzIpKSBpZigkbiAlIDIgPT0gMCk7IAogICAgbXkgJHNuID0gaW50KCBzcXJ0KCRuKSApOwoKICAgIGZvciAoICRpID0gMyA7ICRpIDw9ICRzbiA7ICRpICs9IDIgKSB7CiAgICAgICAgaWYgKCAkbiAlICRpID09IDAgKSB7IGxhc3Q7IH0KICAgIH0KICAgIGlmICggJGkgPiAkc24gKSAgICAjbG9vcCByYW4gb3ZlciwgbWVhbnMgdGhlIG51bWJlciBpcyBwcmltZQogICAgewogICAgICAgIHJldHVybiAkbjsKICAgIH0KICAgIGVsc2UgewogICAgICAgIHJldHVybiBtYXgoICRpLCBsYXJnZXN0cHJpbWVmKCAkbiAvICRpICkgKTsKICAgIH0KfQoKc3ViIG1heCgkJCkgewogICAgcmV0dXJuICggc29ydCB7ICRhIDw9PiAkYiB9IChAXykgKVsxXTsKfQ==