$nl=qr;\r*\n\r*;;sub __($@){join$?[0],@?[1..$#_];}sub _($;$){split$?[0],$?[1]||$?;} $m=qq|KRYPTOS${*?=*_;|x2;$m=~s[$nl];;;%dkeys=map{$?=>$m=~ m/($_.{26})/;}@tr=_$*,$m; $/=$*;@parts=map{[_ $nl,$_] ;}_ '_', ;$#="edrkpyt"; sub dekrypt{@c= map{_$,}@{$_[0]};$n=@p=_$*, $_[1]; $=%=$=;return __ '', map {m"[A-Z]"? $tr [index$dkeys{$p[$=++%$n ]}, $?]: $_;}@c;}$#=~s/(.)(.)/$2$1/g;sub ::{$l=@c= reverse map {_ $,}@{$_[0]}; $k =@k=_ $*,$_[1];$g=$?[2];$__c=$g%$k;$d=($k-1 )-$__c;$_r=($l-($d*$__c)) / $k;$__r=$_r+$d;@cr=();$kc=__ '', sort {$a cmp $b}@k;@i=map{index$kc,$_; } @k ;@__c=(@i)[0..($__c-1)];for$x(0..($k -1) ){ if(grep{$_ == $x}@__c) {for (1.. $__r){$cr[$x].=shift@c;}}else{ for(1..$_r) {$cr[$x].=shift@c;}}}@g =() ;$g_= int($l/$g)+($l%$g>0);foreach$r(0..($k-1) ){for($x=0;$x 0);@l=();foreach $c (0 .. ($g_- 1)) { foreach $g__ (0 .. ($gc - 1) ){ foreach $r (@i) {@l [$c] .= substr $g[$r] [$g__],$c ,1;}}} $ct = __ '', @l ; $ct =~ s/^(.)(.*)/$2$1/; return $ct;} }ABCDEFGHIJLMNQUVWXZ sub : {print ${#}->( $parts[0], uc "palimpsest"), "\n\n"; print ${#}->( $parts [1] , uc "abscissa" ) , "\n\n"; print :: ( $parts [2] , uc "kryptos", 86), "\n\n" ; } ; __DATA__ EMUFPHZLRFAXYUSDJKZLDKRNSHGNFIVJ YQTQUXQBQVYUVLLTREVJYQTMKYRDMFD_ VFPJUDEEHZWETZYVGWHKKQETGFQJNCE GGWHKK?DQMCPFQZDQMMIAGPFXHQRLG TIMVMZJANQLVKQEDAGDVFRPJUNGEUNA QZGZLECGYUXUEENJTBJLBQCRTBJDFHRR YIZETKZEMVDUFKSJHKFWHKUWQLSZFTI HHDDDUVH?DWKBFUFPWNTDFIYCUQZERE EVLDKFEZMOQQJLTTUGSYQPFEUNLAVIDX FLGGTEZ?FKZBSFDQVGOGIPUFXHHDRKF FHQNTGPUAECNUVPDJMQCLQUMUNEDFQ ELZZVRRGKFFVOEEXBDMVPNFQXEZLGRE DNQFMPNZGLFLPMRJQYALMGNUVPDXVKP DQUMEBEDMHDAFMJGZNUPLGEWJLLAETG_ ENDYAHROHNLSRHEOCPTEOIBIDYSHNAIA CHTNREYULDSLLSLLNOHSNOSMRWXMNE TPRNGATIHNRARPESLNNELEBLPIIACAE WMTWNDITEENRAHCTENEUDRETNHAEOE TFOLSEDTIWENHAEIOYTEYQHEENCTAYCR EIFTBRSPAMHNEWENATAMATEGYEERLB TEEFOASFIOTUETUAEOTOARMAEERTNRTI BSEDDNIAAHTTMSTEWPIEROAGRIEWFEB AECTDDHILCEIHSITEGOEAOSDDRYDLORIT RKLMLEHAGTDHARDPNEOHMGFMFEUHE ECDMRIPFEIMEHNLSSTTRTVDOHW?_OBKR UOXOGHULBSOLIFBBWFLRVQQPRNGKSSO TWTQSJQSSEKZZWATJKLUDIAWINFBNYP VTTMZFPKWGDKZXTJCDIGKUHUAUEKCAR