#!/usr/bin/ocamlrun T)*VD C 2" @(()*c( ` 5?[o n2$ ]()* ^()* ^()* ^()* ^(](]()* ^(](](](]J()* ^(](](]()* ^()* ^(](]()* ^(](](c!](cC%c!c%C +I(c!](c!]M(]%g ^]("g ^](!&!&&^(g ^]("g ^(!&!&&^()*VD C ] oha o2' ()*] V  ]'5?[)] h `c]cVn @ ]'(m] mh `co @2&, ,ch &)*  ]o }V5 % $)*  ]o }V5 % `(h6 'h6')* _](]]()*c _()*  ]o }V5% `()*]h `(V D C ]2%c(,c] %l6'l6')* _]( ~V5&^.^e(2%6^ ] ,c %6^N(5 ^V5 ^V5%d(c(V5(5(5%()*] ] n] h ha ha(g u((m()* ^V(()* ^V((6@[6@[+ +6? + + + +livgTg>iv 6]>6]>6]>6]>6 ]>6!]> +^+H +9+ + :+ , c]i]j] + + + + +p+J +< +/ + + + #+ ,&+ ++ + + +++++++++t +d +Y +N :? +9 +) + 6"^ + + + + + +> + + + + + + + +"%# +s+*, +a0 +U +L +@5 +1 +$9; +> +CBD)+-/13579;=?ACEVXZ\^acegikmoqsuyyy}>L=9#T)*V D 2&()*|V  $eq o  n n2  n2  n n$ )*c TC\ n^ n? T\C^ C_ C~V  C^"c C_ |Uc()* "._ {V ^2$ o$ _ {V ^ 2$ o$ )* nn  , ^^$)* + + ,O |V hh$ e q oh^ ^  h   h c h $)* " ^"^ _ 2' _()*Y #Z( CyV D _([)* " ^ _ 2&)*f q zVcT5$6 @[ ^"^ _ 2&h_( _()*Y"Z( CyVD ([)* nn ? {V0^ ^"h}V I^ C^"h}V IC( {V^ ^"( {V(@[)* + ,,, +\,Ok qh T\ ^  # ~Ucj T \ ^h ^  _h"" ~Uci{Vd ^h ^i _h _( )*? Oh T\C ^ " I ~UcC()*?hO T\^ C" I |UcC()*VD C _  2&(VD C h"^ ,i &:()*( ^ @ 2&,c O &)*O :(c ^ h " ^ i  T\^ " _  |Uc()*c O T\^ " |Uc()*O :(c ^ ! ^ i  T\^ ! _  |Uc()*c O T \^ ! |Uc()* Oo }U   Oo}V5%8#% {V"h T\n ^ n_  ~Uc(c T\n ^ n_  |Uc()*   Oo }V5&8#% n T \ _  |Uc()*   Oo }V5'8#%:( ^ ^ i T\n^ _  |Uc(VD C O h ^ &2%:(, %)*V D C On2&()*V-D Ch O T\ ^ n_  |Uc On2&c()*, h "^ ,h "()*O O :(c T^ n^ h  T\^ _  |Ucc  T\^  n_  |Uc(O :(c ^ ^ i  T\^ _  |Uc()*: ^ h  T\^ Q |Uc()*:(c ! ^ i  T\! _  |Uc(+ + +p + + + +- + + +_ +$ + + + ,+v +0 +6(? +al  +  ! #&(*>9)T)*V D 2&()*VD C ( 2&5*8#%5+8#%)*V D C @ 2&(VD C 2! 8#&c()*VD C ! 2" @(c()*V D C ! 2&c()*VD C "2'()*VD C 2# &()* VVD C DC "  2# @( Uc(5,8#%)* VVD C DC " 2' Uc(5-8#%)* VVD C DC    # 2$U(5.8#%)* VV!D C DC    2   ' U(5/8#%)*VD C !V 2&(d()*VD C !U 2&(c()* VVD C DC "V 2' ( Ud(508#%)* VVD C DC "U 2' ( Uc(518#%)*VD C ^U 2&(c()*VD C yU 2&(c()*VD C D C ^V(2&5?[)*VD C D C yV(2&5?[)*VD C C ^U2&(c()*VD C C yU2&(c()*VD C C ^V(2" @(c()*VD C C yV(2" @(c()*VD C !V( 2&5?[VD C D C 2! D C @ @@(52()* VVD C DC 2" @@(Uc(538#%)* V0V)D C DC "  2# @( 2# @(  ( ()*(V D 2&546 @[)* V/V&D C DC "  @ 2'  @2'  & &)* V/V&D C DC "  @ 2'  @2'  & &)* VD VD VwC CC "5 " c @ @ @(  " c @ @ @( c @ @ @(  " c @ @ @(  " c @ @ @( c @ @ @( T-T)V&D VC C " c @ @(c @ @( i x o " 3" 3"h ')* VD V{D VrC CC "3 " c @ @ @(  " c @ @ @( c @ @ @(  " c @ @ @(  " c @ @ @( c @ @ @( T,T(V%D VC C " c @ @(c @ @( i x o " 1" 1"h ')*,, ,<! ( & )*VD C !V  @2' @2'! !@()*,hh ')*VD C !V  @2& 2&%,c %)* VVD C DC "@2' U(558#%)*, h ')*VD C !@2&()*,h &c &VD (568#%VC (578#%h&, + + + , 7# ,-+ ,8 ,F+ ,W,h,z,+e ,,,,5,J,_,,,,,,,3,J,g,+ + ,,,, "(+H    !#%')+-/24379<>=BBFHGKMOQ>)+98T)* o(az ((AZ  (('\ (59(5:( 5;(5<(]V d] h S(l]l\h Sgd ql0ni Sg l qrl0nj Sg rl0nk S(5=8#%(+ + +c +? +4 >9>T)* ~V5?[ RyV(  2$)*5?[ RyV(  2')* ^()*h ')*] ~V5?8#%Y #cdZ(6 CyVc([)*] }V5@8#%Y   ]  cdZ(6 CyVc([)*] ~V5A8#% ')* ] ')*] }V5B8#% ] $)*h ] $8>&8>&)*](!h R !h S(8>&8>&)*] (]h  T\R! S |Uc(c?h ] TH\R   TTT ST TTeT ]VdTg Cn I |Uc] CyV(C]h Ic ] T\R " \1#=T+  3g\CSgnCSTgg\CSgtCSTVg\CSCSTF ]VCST7l\CSgd ql0nCSg l qrl0nCSg rl0nCS |Uac(]Cha]CnI]Cha]CnI(]CnI()*V?D Ch?h? +88 "C]p Cn] ]h ha]?  +88 "(5C()*c ] T \R ! |Uc()* ]o }U  ]o}V5D8#%a()*  ]o }V5E8#% `()*  ]o }V5F8#%] h a(] ] h ha()*] h `(+ + + + +T +1 + + +^ +R +G +) + + ,+ + ,+ ++j +9 +, +     "$&(*>9GT!?[V +?&c&)* ^c(c] D Ch] D C iv lqph? +lllllllllllllllllllll6H? +6I    "$&(*,.044886=?> "9JT`)*Dh C 8#/$)*E Dn}V " DC8#>  Dn J()*Dh C $)*] Dn E }V "DCh 8G  J()*h}U h}U ]o }V5K8#! Dn E }V "DC  8G  J()*D E ~Vd " C_ J()*E ? T\Cjp ICDn}Uc7J C}V7JDn|V7J IT5L8#!C] Dhh C8G ICK(c JF IC] K(c J(D(Dh C8G'dT8J }V7JT ] h >(+ + + + + +P +0 + + ++ +t   >  9MT ~Vc( R %8M"2%043 $)*8M"1%)* "4%)* !4%)* ] ,c% ( +& ~V 8M! 8M!% R % 8M"2%043 $)* 8M"1%)*h "8M"4%)*c !8M"4%)* ] 8M! ,c% 8#&8#& ~Vc( R %8#-"2%043 $)*8#."1%)* "4%)* !4%)* ] ,c%  @&)*R  T5W"T T 2+( 2& 3&   ^&   ^N&c  i8G"&6N 8>!8#"6O8#"&sT5P 8G!8#"6Q8#"yV  &   "& &   ^&   ^_& 8#!&)* '   ^u&)*R  STWTT]]]]]]]]]]]]]]]]]]]]]]]]]]]]]a]e]e]]]]i]]]]]]]]]]]]]]]]]]aeee]]]]%]]]w]]6R&TUT+T?R  T;W!!%%%%%%%%%%%!%%%%!%%%%%!%%%%%!%%!TT+!(&TT+(+(R  T;W!!%%%%%%%%%%%!%%%%!%%%%%!%%%%%!%%!TT+(&R  T;W!!%%%%%%%%%%%!%%%%!%%%%%!%%%%%!%%!TT+(&+( +( +( +^( +9(&)*,"h & )* }V8M%R * 8M"2&VD C 8#!8M"2&&)*V o 8M! ,88! & o 8G')*] ~Vh@(R 1:  ]o8G#]M@(-i2& 2&)*,Ydh"ZT6 CyVc "T[ D C ]{V5g 8G" V ]hh 8G T ] ]oh 8G (()* ]o 8G#6S8#"8#%+ +~ + + +k + + + +k+O   > 9TTYJG! C E D h}VG G  G o{XV$G!c T #G n M 2!Z( CyVc([)*h{VP h G'gPh G# 2&(c&! +h'( +&"%g8M! ! +i'&&h')*?I!%) ~Vc&%(^ %@ +!2%) ~V( &(^ AU^+ TW '4&Tc'"2%[ W '4&Tc'"2%  W!!-----------1-=------------IR--bnc'"2%TTc'"2%c'"2%'4&0 2*+ 4&c'"2%+!2%c'"2%( &043(8T$)**!1%)*!V h "(!T# "4%)*V c !&!T! !4%)*&)*&)* #& ~V&^ 0: T-2% yVh& o8G# #&)*! ~V & ^ 9% ! , % +} +n +_  8T$  2& ~V&^ >&(2% ~Vl@(^ bxhvl@(i@( ~Vh@(^ ovh@(j@( ~V 6U'^ v i8G"6V8#"' k@(l@()*%)*Vc !Tc +" @ @')*Vh "T " @ @')* @ @')* ~V o8G#"&^ %>  2' o8G#"&o 8G# 2+ 2+{ 2+S  8T$ )*, h ')*3! &)* #!%)* ~V c  "4%^ < c  "4%444 ,4&)* #!%)* ~V gh #4%^ < gh #4%4! D C 44+ 4& )*"!%)* ~V 5W "4%^ < 5X "4%44+ 4&C VC #cI(&C VC i8G" #cI(&)* ]h? + +         , -&Oc %)*V @88!6Y8G&()*g8M! ! " &)*c "%8M! 8M!()*Y]MZ(6 CyV &[)* 6Z#8#%)* 6[')* #8#%)*] {V5\ ^i8G"8#"6]8#"Tg.i8G" 8#!8#"6^8#" 8#"6_8#" 8#"6`8#&c"8M!8M!( 8M!&c(8#+%+ 8#/!&c(c()* + +  ! M! M()*dh6a G')*c!h6blA " i@@ ii    6c8#iiiihlNlNl lNhhhh>(c(5d 8#"6e8#&5f 8#"6g8#&8#+%)*8#/! M+ M()*G G G G>(%c%)* #+ M+ M()*G G@()* M M()*G()*i|V {V- MG G|VGTdj Gq G Go8#"8#" &()*G()* Go &)*i|V {V MG Go M%()*G()* M()*G G y()*G()*i{V M()*G G {V chhA &()*ch ')*G G {V @ G mAi '()*G i{VG G {V cjhA "G  M ()*G  M G G {Vch???hA &()*ch ')*ci ')*G G {V @ G mAi '()*G G {V clhA &()*G G {V ckhA &()*c "c G%)*d "c G%)*g ')*f ')*e ')*d ')*ch ')*d] h _i ')*8#! &)*8#! &)*8#! &)* ] ')*G G {V '()*T\c "G c M !V!%!!c M c M G Mc Jc Kc Lc M%)*F E DC MMMM()*G G G G>()* " &)*G()*G()* M()* M()*GV clhA "GVF VD C G!L(c()*GV F @ L G!GV c ?hA &()*G i{V"G G {VcihA "d "c "G  M (G  M c6h G mAh ')*G  M G G {Vc @ G mAh 'G G yVG &()* "Vd "C G @@ I()*C VOC D C CD DG {V% W1111111 11XV G nII( V G nII( c( c( I()* ] ')* ? A &)* "%)*VD C ^V( 2&5?[)*VD C ^V @( 2" @(c @()*W ,@Obv%E VC C ,CGGo " I(c(D V D V J(c(E VD K(c(D V C D &%G Go G zV%(G VD C G! "M(c(C Go M "c M (D C D VtC D C W /d& ' ' G}V' & G V& G}V'  GonG }V' & & c(D C G Go E VPC C ,|C V"C Y C "ZT6 CyVT[T o  n & G n 'c(D C G Go G }V!Go G}VTgTdD @@J(C E @ K(C G! "G @ M(G! C E G oM GnM(D V!C D CG }V c(&c(%)* Go M &)*h ')*!d M  Gon G8#" M G Go MG &)* G%c G%)*]h G'd M d M G%)*E G n M G &D VC C D JhyVcI(?[D VC C (?[)*c @? C V C I J(IJ(c Ic J(ch@(g ]+ + +6i? + + +t+alɚ; +O +D +8 + + + + +   +  , +A +/ + hh6jlAl@@ + + + +O +4 +++ + + +~ +r +a +I +(  +  "++ + + + +r+]+O+A+3+%+ + +!+"++ + +|&+R'+("+ +*+ + + + + +<+m +] +Q ?+ + + + + + + +u +c +\ ?TW+l lP8G" , + + + + +l8M! !8#!8#! 8+d 1! 1!1!1!1!H!H! H! ?! ?! ?! ?!>!@!6!5!7!;!=!?!=!:!:!:!9!;!2!2!6!6! >!!>!">!#>!$>!%5!&:!':!(:!):!*b!+d!,j!-i!.k!/j!0j! +. + + + + + m+ <+ +   cegjlnuz|+ @+ =+ =+ C+ +Dw+,8#I!  Y[]_\gikmoikik{{~|uy{}z|TVTVZ\^UXX[Xgirtvxztvxz|~>l9kTg ]hl T \ejph ^6l8T"8G  |Uc(g]  gh8#> ()*gh 8#/$8#9!l ^ 8#E!()*  ]o }V5m8#% _(]h _(+ + + + + +W  >9nT*c! ~V2%( g7hhC8) DI(C8)!@(c]%gƞ!c O T\g7 r ^ ^n _ |Uc(8#! 8#!8#"8n!lk ^vlj ^vli^vh^nnu(+hl6 T\ ! _ |UccI(dh!shy(h!^!(?5o8#% l?qp!r(5ph!]h!]h!] ^"^^"^^"(g7CrIC^l7Cr^n C_g? s(g=lfll l{lUt5lHll>l^a:lol`ϖ*l( lX^l߃l. .l2lK/lUlj?l!l-l#3lllN@*lE.&"lf7l;O9l lc4lt[9lt-l/l]I lglF0lul;l7lRl lŖ2lNFEl3lȲ8ll>l2m lW$l=lllb-l_>lKq!>7h? +c +< ,V+ + ++  +r +h  +V  +;     >  9qT)*c ^ ^()* ^(+ + @9rT](](D! C!@(5s ^](D] C]@()*+ + + !!!h! !  88 "8) !!DC^()* V@( "" "" " "   2 2$)*,h@$ )*" ! " "^:V " "^:(D C ^! ^!^]+()*D C^! D C^!^ ]()*5t D D^^"6u C C^^"@()*D D^ C C^ @()*D D^ C C^@(5v] F(5w] G(5x] E(5y] D C@()* ^ _()*ghhb()*ghhb()*ghhb()*ghhb(c!h O T\^ D C^F E^ |UcD C^()*Oh{VIc!h ^Dh^C^d O T\^ D C^ |UcV c ^Dh^C^D C^()*h]n h]n^()*h]n h]n^(c]h]@(c O T\ ^ D C^ |Uc()*l vl vnn( d]d]c](c]d](](](](](dh]8J"c](](+?h]8J"](5z?6{ @6|8r"+ +8J6} ^V;5~ ^V)5 ^V-5 ^V7J68#"8#!T+ +@T+} +t@T @ +O +#'9gl h  8)# >9T%%G]F E D C`7]F E D C`G]j C Eoqj DFoq Dn Cn^G](7]`%??i8 T4\d8 T\CC ^^#! |UcI! |Uc()* m^]T^]eq n n8'5] D C68T#7#8#+!D C@ !V58T!7#8#+!d(!V58T!7#8#+!e(!V! D C 68T#7#8#+! @(58T!7#8#+!c( Dq Cq@(FEDC$FEDC$$)*D C {Vn {V {Vn {( Cn I(g + @ D C8p8p6lslsls8# jp  nn>68 F Ej q DnnC> E  nnnn  nn +v   +` +N +<++ +8 8 8 8>hll8#lhl8#llh8#8> +R + + + + +    "$&))-/>9T(c!V3c8! V&W"c!78!c8!c2%58kg!c8%c2%c!c2%Y.7 868T#8!c8!c8!c!78!cIc!Z(6 CyV5 D^Uc8%[c8! V/W $I(C VcT c!78!I(58#%D C "V%C VcT D C@! @!78!I(CC68kg#C8^ !d ^hzVC8^ C8_C8_dC8^^hzVc2%(C? ,c %C^h~VC^C_cC_C^h{VC^c2%C^h}VcC_(d?j? ,c %)* 8^^  8^^yU, 8^^yU  8^^yU 8^^y()*m 8^_C 8#"I  8^^yV 2# 8^^yV  2#  8^^yV 2# 8^^yV   2'(D C,I 8^^ 'CC8^^CC8^^hyU dIc2%(CC8^^CC8^^zV#CC8^^CC8^^zVc2%(d?i? ,c %d8 T,\d8 T\f8q! 8^_ |Uc |Uc(+ +8? +# +f +P +h? +7  ,  +h !   >  9c8#K!:9dllgraphicsalloc_dummyupdate_dummyarray_get_addrarray_get_floatarray_getarray_set_addrarray_set_floatarray_setarray_unsafe_get_floatarray_unsafe_getarray_unsafe_set_addrarray_unsafe_set_floatarray_unsafe_setmake_vectmake_arraycompareequalnotequallessthanlessequalgreaterthangreaterequaloutput_valueoutput_value_to_stringoutput_value_to_bufferformat_floatfloat_of_stringint_of_floatfloat_of_intneg_floatabs_floatadd_floatsub_floatmul_floatdiv_floatexp_floatfloor_floatfmod_floatfrexp_floatldexp_floatlog_floatlog10_floatmodf_floatsqrt_floatpower_floatsin_floatsinh_floatcos_floatcosh_floattan_floattanh_floatasin_floatacos_floatatan_floatatan2_floatceil_floateq_floatneq_floatle_floatlt_floatge_floatgt_floatfloat_of_bytesclassify_floatgc_statgc_countersgc_getgc_setgc_minorgc_majorgc_full_majorgc_major_slicegc_compactionhash_univ_paraminput_valueinput_value_from_stringmarshal_data_sizeint_of_stringformat_intint32_negint32_addint32_subint32_mulint32_divint32_modint32_andint32_orint32_xorint32_shift_leftint32_shift_rightint32_shift_right_unsignedint32_of_intint32_to_intint32_of_floatint32_to_floatint32_formatint32_of_stringint64_negint64_addint64_subint64_mulint64_divint64_modint64_andint64_orint64_xorint64_shift_leftint64_shift_rightint64_shift_right_unsignedint64_of_intint64_to_intint64_of_floatint64_to_floatint64_of_int32int64_to_int32int64_of_nativeintint64_to_nativeintint64_formatint64_of_stringint64_bits_of_floatint64_float_of_bitsnativeint_negnativeint_addnativeint_subnativeint_mulnativeint_divnativeint_modnativeint_andnativeint_ornativeint_xornativeint_shift_leftnativeint_shift_rightnativeint_shift_right_unsignednativeint_of_intnativeint_to_intnativeint_of_floatnativeint_to_floatnativeint_of_int32nativeint_to_int32nativeint_formatnativeint_of_stringcaml_open_descriptor_incaml_open_descriptor_outcaml_out_channels_listchannel_descriptorcaml_close_channelcaml_channel_sizecaml_channel_size_64caml_set_binary_modecaml_flush_partialcaml_flushcaml_output_charcaml_output_intcaml_output_partialcaml_outputcaml_seek_outcaml_seek_out_64caml_pos_outcaml_pos_out_64caml_input_charcaml_input_intcaml_inputcaml_seek_incaml_seek_in_64caml_pos_incaml_pos_in_64caml_input_scan_linelex_enginemd5_stringmd5_changet_global_datareify_bytecoderealloc_globalget_current_environmentinvoke_traced_functionstatic_allocstatic_freestatic_resizeobj_is_blockobj_tagobj_set_tagobj_blockobj_dupobj_truncateparse_engineinstall_signal_handlerml_string_lengthcreate_stringstring_getstring_setstring_equalstring_notequalblit_stringfill_stringis_printablebitvect_testsys_exitsys_opensys_closesys_file_existssys_removesys_renamesys_chdirsys_getcwdsys_getenvsys_get_argvsys_system_commandsys_timesys_random_seedsys_get_configterminfo_setupterminfo_backupterminfo_standoutterminfo_resumeregister_named_valueweak_createweak_setweak_getweak_get_copyweak_checkfinal_registerensure_stack_capacitydynlink_open_libdynlink_close_libdynlink_lookup_symboldynlink_add_primitivedynlink_get_current_libsgr_set_window_titlegr_set_text_sizegr_movetogr_wait_eventgr_create_imagegr_blit_imagegr_fill_arcgr_draw_arcgr_linetogr_current_ygr_current_xgr_plotgr_display_modegr_remember_modegr_synchronizegr_open_graphgr_close_graphgr_sigio_signalgr_sigio_handlergr_set_colorgr_fill_rectgr_draw_rectgr_text_sizegr_draw_string9P-Out_of_memory)Sys_error'Failure0Invalid_argument+End_of_file0Division_by_zero)Not_found-Match_failure.Stack_overflow.Sys_blocked_io.Assert_failure,really_input%input@F@@G@&outputACDF@ACDG@!.%%.12g"%d%false$true.bool_of_string$true%false+char_of_int/Pervasives.Exit((((((<5Pervasives.do_at_exit@(array.ml2*Array.blit*Array.fill)Array.sub,Array.Bottom@(List.nth#nth)List.map2*List.iter2/List.fold_left20List.fold_right2-List.for_all2,List.exists2@@,List.combine'list.mlv-List.rev_map2"tl"hd@"\'"\\"\n"\t(Char.chr@5String.rcontains_from4String.contains_from2String.rindex_from1String.index_from +String.blit+String.fill*String.sub@)Sys.Break$3.06@4Buffer.add_substring>Buffer.add: cannot grow buffer@!'!'!"!"!%3printf: bad format @.bad box format/bad box name ho 9bad integer specification*bad format")." ( "'', giving up at character number # ``)fprintf: ! @C!.!>"!<@C2Format.Empty_queue @$%02x0Digest.substring@*Random.int A@@ ? @ @D@B@D@D@8Graphics.Graphic_failure 8Graphics.Graphic_failure&Cygwin%MacOS$Unix%Win32;Graphics: unknown OS type: @@@@-Click: %d,%d %Next %Quit +Sel(%d,%d) %Null %next>%quit!@/ End of game@.& %dx%d$quit$quit?collapse: er_min= %d, rcol=%d@.@@Uc@@%ArrayAi@A@&BufferAM@@(CallbackAr@AB@$CharA~@@&DigestAn@A@&FormatAk@@$GlobA@AB@(GraphicsA@@#GuiA@A@#JeuA@@$ListAx@ABCD@*PervasivesAc@@&PrintfAT@A@&RandomAq@@(Std_exitA@AB@&StringAG@@#SysAJ@P-Match_failureAG@ABCEQ-Out_of_memoryA@@R0Invalid_argumentAC@AS'FailureAB@T)Not_foundAF@AU)Sys_errorAA@BCV+End_of_fileAD@W0Division_by_zeroAE@AX.Stack_overflowAH@Y.Sys_blocked_ioAI@Z.Assert_failureAJ@ABCDFCODEDLPTDLLS PRIM DATA)SYMBCaml1999X007