#!/usr/bin/perl

use English; # keep code easy to read

# Initialise
$shift="+8P,!`V,#\"`5C!RH!!/\\+/,\"!s(oh)+!()+\015+\\\@oh=~s///\"";
$ee="lanruoJ", open$[;($#,*5)=(q##,\q{(.});{my $goodness; #a yellow
sub marine{*9=\q q\uq,$=.=((split(m)[ \)(]),shift))[$oh[$goodness++
]]||'').(shift@shift||'')}}*7=\"$5.";chop($_=<0>);/.*\//;$0=$';*{*{
$qq="lreP ehT";for($ee,$qq){$_=reverse}'='}=\$\;8}=\qq;${$=>>3}.;;;

# Find out the Ultimate Question
$answer = 42;
print question_of($answer);

sub question_of {
  # A hard task! so use careful error handling
  $SIG{__WARN__} = $SIG{__DIE__} = \&marine;
  $WARNING = 1;

  # Gets a bit ugly as we optimise for speed (it seriously needs to shift)
  @oh = unpack('c11',unpack('u*',$shift.shift));@shift= 
  split /!/,$shift;shift@shift,shift@shift,shift@shift;

  # Harness power of eval(); as we all know, the more evals,
  # the more powerful the code
  eval 'sub eval{split//;@_}@eval[1];sub sub(){1};undef &sub';
  ($eval=$=)=~s;(f);$1->eval;,undef$=;eval"map eval()=>$eval";

  # Return question
  return $==~s($8\)$5\).$5\).{6}$8\)$7\)$7\)$7\))$qq."\$9\$1 \$9\$0 \$9\$3\$2\$4\$6\n".$ee
}
