#!/usr/bin/perl do shift;{($t[$h],$*,$m)=@{$b{$m}{$t[$h]||0}};$h+=$*;$m?redo:die@t,$/} [download]
($m,%b)=(h,j,{0,[h,1]},a,{0,[p,1,j]},p,{0,[a,1,a]},h,{0,[j,1,p]}) [download]