╘ε≡∞α≥√.

┬ Perl ≡σαδΦτεΓαφ ≤Σεßφ√Θ ∞σ≥εΣ ±ετΣαφΦ  ⌠ε≡∞α≥Φ≡εΓαφφ√⌡ ε≥≈σ≥εΓ. ╤ ∩ε∞ε∙ⁿ■ ε∩σ≡α≥ε≡α format Γ√ ε∩Φ±√Γασ≥σ ταπεδεΓΩΦ, ≡ατ∞σ≡√ ∩εδσΘ, ≤Ωατ√Γασ≥σ ∩εδεµσφΦσ Σαφφ√⌡ φα δΦ±≥σ Γ ≤ΣεßφεΘ ≥σΩ±≥εΓεΘ ⌠ε≡∞σ. ╟α≥σ∞ Γ√∩εδφ σ≥σ Ωε∞αφΣ≤ write(⌠αΘδ), Ωε≥ε≡α  Γ√ΓεΣΦ≥ ε≥⌠ε≡∞α≥Φ≡εΓαφφ√σ Σαφφ√σ Γ ≤Ωαταφφ√Θ ⌠αΘδ.

╬∩σ≡α≥ε≡ format Φ∞σσ≥ ±δσΣ≤■∙ΦΘ ±Φφ≥αΩ±Φ±:

	format Φ∞  =
	FORMLIST
	.

╬ß≡α≥Φ≥σ ΓφΦ∞αφΦσ φα ≥ε, ≈≥ε ε∩Φ±αφΦσ ⌠ε≡∞α≥α ΦΣσ≥ ∩ε±δσ ±≥≡εΩΦ format Φ ταΩαφ≈ΦΓασ≥±  ±Φ∞Γεδε∞ '.' Γ φα≈αδσ ±≥≡εΩΦ.

╟Σσ±ⁿ 'Φ∞ ' - ²≥ε Φ∞  ⌠ε≡∞α≥α, ≥αΩεσ µσ ΩαΩ Φ Φ∞  ≤Ωατα≥σδ  Γ√⌡εΣφεπε ⌠αΘδα. ┼±δΦ 'Φ∞ ' ε≥±≤≥±≥Γ≤σ≥ ≥ε τφα≈σφΦσ ∩ε ≤∞εδ≈αφΦ■ - STDOUT.

FORMLIST - ²≥ε ±≥≡εΩΦ ⌠ε≡∞α≥α. ╬φΦ ß√Γα■≥ ≥≡σ⌡ ≥Φ∩εΓ:

  1. ╩ε∞∞σφ≥α≡ΦΘ. ╤≥≡εΩα φα≈Φφασ≥±  ±Φ∞Γεδε∞ '#'.
  2. ╬∩Φ±α≥σδⁿ ∩εδσΘ Σαφφ√⌡ (picture).
  3. ╤≥≡εΩα α≡π≤∞σφ≥εΓ Φ±∩εδⁿτ≤σ∞√⌡ ε∩Φ±α≥σδσ∞.

╬∩Φ±α≥σδⁿ - ²≥ε ±≥≡εΩα, Ωε≥ε≡α  Γ√ΓεΣΦ≥±  Γ ΓΦΣσ "ΩαΩ σ±≥ⁿ" τα Φ±Ωδ■≈σφΦσ∞ ±∩σ÷Φαδⁿφε εßετφα≈σφφ√⌡ ⌠ε≡∞α≥εΓ ∩εδσΘ Σαφφ√⌡. ╩αµΣεσ ∩εδσ φα≈Φφασ≥±  δΦßε ±Φ∞Γεδε∞ '@', δΦßε '^'. ┬ ε∩Φ±α≥σδⁿφεΘ ±≥≡εΩσ ≤Ωατ√Γασ≥±  ≥εδⁿΩε ∩εδεµσφΦσ Φ ΓΦΣ Γ√ΓεΣΦ∞√⌡ Σαφφ√⌡, φε φσ Φ∞σφα ∩εδσΘ Φ ∩σ≡σ∞σφφ√⌡. ─δ  ²≥επε ∩≡σΣφατφα≈σφα ±δσΣ≤■∙α  ±≥≡εΩα α≡π≤∞σφ≥εΓ Ωε≥ε≡α  ±δσΣ≤σ≥ Γ±σπΣα ∩ε±δσ ε∩Φ±α≥σδ  Φ ±εΣσ≡µΦ≥ Φ∞σφα ∩σ≡σ∞σφφ√⌡ ΦδΦ ÷σδ√σ Γ√≡αµσφΦ  Γ ∩ε≡ ΣΩσ ≤Ωαταφφε∞ ε∩Φ±α≥σδσ∞.

╨ατ∞σ≡ Φ ΓΦΣ ∩εδ  Γ ε∩Φ±α≥σδσ εßετφα≈ασ≥±  ±δσΣ≤■∙Φ∞Φ ±Φ∞Γεδα∞Φ:
"<<<<" - Γ√≡αΓφΦ≥ⁿ τφα≈σφΦσ ∩ε ∩≡αΓε∞≤ Ω≡α■.
">>>>" - -//- ∩ε δσΓε∞≤.
"||||"- -//- ∩ε ÷σφ≥≡≤.
"####.###"- ⌠ε≡∞α≥ ≈Φ±δα ± ≥ε≈ΩεΘ.
"@*"- ∞φεπε±≥≡ε≈φα  ±≥≡εΩα. ─αφφ√σ Γ√ΓεΣ ≥±  Γ ΩεδεφΩ≤.
╨ατ∞σ≡ ∩εδ  ≡αΓσφ ΩεδΦ≈σ±≥Γ≤ ≤Ωαταφφ√⌡ ±Φ∞ΓεδεΓ.
╤Φ∞Γεδ '^' Γ φα≈αδσ ∩εδ  Φ∞σσ≥ ±∩σ÷Φαδⁿφεσ τφα≈σφΦσ.
╥αΩ:

Σδ  ±≥≡ε≈φεπε ±Ωαδ ≡α:

╧≡Φ∞σ≡:

#!/usr/local/bin/perl
#
#	╧≡επ≡α∞∞α ∩σ≈α≥Φ ∩≡Φπδα±Φ≥σδⁿφεπε ßΦδσ≥α
#
$Ωε∞≤ = "╫α∩ασΓ≤ ┬α±ΦδΦ■ ╚ΓαφεΓΦ≈≤";
$ε≥_Ωεπε = "╩ε∞∩αφΦ  ╠╠╠";
$αΣ≡σ± = "╠ε±ΩΓα, ≤δ. ╧σ≥≡εΓΩα, Σ 38";
$≥σΩ±≥ = "╙Γαµασ∞√Θ ┬α±ΦδΦΘ ╚ΓαφεΓΦ≈! ╩ε∞∩αφΦ  ╠╠╠ Φ∞σσ≥ ≈σ±≥ⁿ ∩≡Φπδα±Φ≥ⁿ
┬α± Φ ┬α°Φ⌡ ßδΦτΩΦ⌡ φα ∩≡στσφ≥α÷Φ■ φα°Φ⌡ φεΓ√⌡ ⌡≡ε∞εΓ√⌡ ±α∩επ, ±Σσδαφφ√⌡
φα ≤≡εΓφσ ∞Φ≡εΓ√⌡ ±≥αφΣα≡≥εΓ Ωα≈σ±≥Γα Φ ΣΦταΘφα.";
format STDOUT =
	╧ ╨ ╚ ├ ╦ └ ╤ ╚ ╥ ┼ ╦ ▄ ═ █ ╔      ┴ ╚ ╦ ┼ ╥
----------------------------------------------------------------------
╩ε∞≤: @<<<<<<<<<<<<<<<<<<<<<<<<<<  | ^|||||||||||||||||||||||||||||||
      $Ωε∞≤,				$≥σΩ±≥
                                   | ^|||||||||||||||||||||||||||||||
      					$≥σΩ±≥
╬≥ Ωεπε: @<<<<<<<<<<<<<<<<<<<<<<<  | ^|||||||||||||||||||||||||||||||
      $ε≥_Ωεπε,				$≥σΩ±≥
                                   | ^|||||||||||||||||||||||||||||||
      					$≥σΩ±≥
└Σ≡σ±:@<<<<<<<<<<<<<<<<<<<<<<<<<<  | ^|||||||||||||||||||||||||||||||
      $αΣ≡σ±,				$≥σΩ±≥
                                   | ^|||||||||||||||||||||||||||||||
      					$≥σΩ±≥
                                   | ^|||||||||||||||||||||||||||||||
      					$≥σΩ±≥
                                   | ^|||||||||||||||||||||||||||||||
      					$≥σΩ±≥
----------------------------------------------------------------------
╬≥∩σ≈α≥αφε Γ ≥Φ∩επ≡α⌠ΦΦ ╚╥╙ 38
.
write();	# ┬√ΓεΣ Σαφφ√⌡.
exit 0;		# ╩εφσ÷ ∩≡επ≡α∞∞√

╨στ≤δⁿ≥α≥:

	╧ ╨ ╚ ├ ╦ └ ╤ ╚ ╥ ┼ ╦ ▄ ═ █ ╔      ┴ ╚ ╦ ┼ ╥
----------------------------------------------------------------------
╩ε∞≤: ╫α∩ασΓ≤ ┬α±ΦδΦ■ ╚ΓαφεΓΦ≈≤    |   ╙Γαµασ∞√Θ ┬α±ΦδΦΘ ╚ΓαφεΓΦ≈!
                                   |     ╩ε∞∩αφΦ  ╠╠╠ Φ∞σσ≥ ≈σ±≥ⁿ
╬≥ Ωεπε: ╩ε∞∩αφΦ  ╠╠╠              |  ∩≡Φπδα±Φ≥ⁿ ┬α± Φ ┬α°Φ⌡ ßδΦτΩΦ⌡
                                   |    φα ∩≡στσφ≥α÷Φ■ φα°Φ⌡ φεΓ√⌡
└Σ≡σ±:╠ε±ΩΓα, ≤δ. ╧σ≥≡εΓΩα, Σ 38   |   ⌡≡ε∞εΓ√⌡ ±α∩επ, ±Σσδαφφ√⌡ φα
                                   |    ≤≡εΓφσ ∞Φ≡εΓ√⌡ ±≥αφΣα≡≥εΓ
                                   |       Ωα≈σ±≥Γα Φ ΣΦταΘφα.
                                   |
----------------------------------------------------------------------
╬≥∩σ≈α≥αφε Γ ≥Φ∩επ≡α⌠ΦΦ ╚╥╙ 38
╤∩σ÷Φαδⁿφ√σ ∩σ≡σ∞σφφ√σ: ┼±δΦ Γ√ ⌡ε≥Φ≥σ Φ±∩εδⁿτεΓα≥ⁿ εΣφΦ Φ ≥σ µσ ⌠ε≡∞α≥√ Σδ  ≡ατφ√⌡ ⌠αΘδεΓ, ≥ε ±α∞√Θ ∩≡ε±≥εΘ ∩≤≥ⁿ:
	use FileHandle;                   # ╙Ωατα≥ⁿ Γ φα≈αδσ ∩≡επ≡α∞∞√
	format_name ⌠αΘδ Φ∞ _⌠ε≡∞α≥α;     # ╘ε≡∞α≥ ±εΣσ≡µΦ∞επε δΦ±≥α.
	format_top_name ⌠αΘδ Φ∞ _⌠ε≡∞α≥α; # ╘ε≡∞α≥ ταπεδεΓΩα δΦ±≥α.
	write(⌠αΘδ);                      # Γ√ΓεΣ Σαφφ√⌡.

╟Σσ±ⁿ '⌠αΘδ' Φ∞σσ≥±  ΓΓΦΣ≤ ≤Ωατα≥σδⁿ ⌠αΘδα ∩εδ≤≈σφφ√Θ Ωε∞αφΣεΘ open();

┼±δΦ Γα∞ φ≤µφε Γ ≥σδσ δΦ±≥α Γ√ΓεΣΦ≥ⁿ ≡ατφεπε ≡εΣα ⌠ε≡∞α≥√ (φα∩≡Φ∞σ≡ ταπεδεΓΩΦ π≡≤∩∩ ΦδΦ ε≥ßΦΓΩ≤ δΦ±≥α), ≥ε ∩≡Φ∞σφ Θ≥σ format_name.

[═αταΣ] [╤εΣσ≡µαφΦσ] [┬∩σ≡σΣ]