uses Math;
const LOW_RANGE=32;
const HIGH_RANGE=127;
var Counters:array[LOW_RANGE-1..HIGH_RANGE+1] of Cardinal;
var Line:String;
var I:Integer;
begin
Write('Type the string: ');
ReadLn(Line);
for I:=Low(Counters) to High(Counters) do Counters[I]:=0;
for I:=1 to Length(Line) do Inc(Counters[Min(High(Counters),Max(Low(Counters),Ord(Line[I])))]);
WriteLn(Line);
for I:=LOW_RANGE to HIGH_RANGE do if Counters[I]>0 then WriteLn('''',Chr(I),'''',Counters[I]:4);
end.
dXNlcyBNYXRoOwoKY29uc3QgTE9XX1JBTkdFPTMyOwpjb25zdCBISUdIX1JBTkdFPTEyNzsKdmFyIENvdW50ZXJzOmFycmF5W0xPV19SQU5HRS0xLi5ISUdIX1JBTkdFKzFdIG9mIENhcmRpbmFsOwp2YXIgTGluZTpTdHJpbmc7CnZhciBJOkludGVnZXI7CmJlZ2luCiAgV3JpdGUoJ1R5cGUgdGhlIHN0cmluZzogJyk7CiAgUmVhZExuKExpbmUpOwogIGZvciBJOj1Mb3coQ291bnRlcnMpIHRvIEhpZ2goQ291bnRlcnMpIGRvIENvdW50ZXJzW0ldOj0wOwogIGZvciBJOj0xIHRvIExlbmd0aChMaW5lKSBkbyBJbmMoQ291bnRlcnNbTWluKEhpZ2goQ291bnRlcnMpLE1heChMb3coQ291bnRlcnMpLE9yZChMaW5lW0ldKSkpXSk7CiAgV3JpdGVMbihMaW5lKTsKICBmb3IgSTo9TE9XX1JBTkdFIHRvIEhJR0hfUkFOR0UgZG8gaWYgQ291bnRlcnNbSV0+MCB0aGVuIFdyaXRlTG4oJycnJyxDaHIoSSksJycnJyxDb3VudGVyc1tJXTo0KTsKZW5kLg==