program Project29;
{$APPTYPE CONSOLE}
uses
Winapi.Windows;
begin
var S :=
' .::!!!!!||:. '#13#10 +
'.!!!!!;. .:!!!!||||||!!!!!|'#13#10 +
'~~~~!!!!!,. ..:;|!|!|||||!|UWWW$$$'#13#10 +
' :$$!WW:|!: .:;!!!||||||||WW$$$$$$$$P'#13#10 +
' $$$$$##WW%|: .:$!!!!||W$$$$" $$$$$$$$W '#13#10 +
' $$$$$ $$$UX :|UW$$$$$$$$$$$$$$ 4$$$$$* '#13#10 +
' ^$$$B $$$$\ $$$$$$$$$$$$$$$$$ #$$R" '#13#10 +
' "*$|X|$$$$ "*$$$$$$$$$$$$$$$o*%" '#13#10 +
' """" """""""" '#13#10;
var MaxC := (((Length(S) - 2) mod 59) + 1) * (((Length(S) - 2) div 59) + 1);
var Colors := [13, 5, 13, 9];
for var i := 1 to Length(S) do
begin
if (S[i] <> #13) and (S[i] <> #10) then
WriteColoredStr(S[i], Colors[(Trunc((3 / 100) * ((100 / MaxC) * i)) + 1) - 1]);
if i mod 59 = 0 then
Writeln;
end;
Readln;
end.