фрагмент программы. Помогите исправить, что бы при вводе кода читались не только цифры, но и другие символы (что бы программа не вылетала)
var
a,x,n,c,i,b,k,j:integer;
s,s_new:array[1..100] of char;
p:array[1..100] of integer;
flag:boolean;
begin
for i:=1 to 100 do
begin
s[i]:=chr(0);
s_new[i]:=chr(0);
end;
flag:=true;
writeln('Введите число символов в строке (<=100)');
readln(n);
if n>100 then
writeln('НЕВЕРНО!Введите число символов в строке (<=100)')
else
writeln('Введите строку');
for i:=1 to n do
read(s[i]);
repeat
writeln('Введите размер блока (>=2)');
readln(a);
if a<2 then writeln(' ОШИБКА!');
until (a<=n) and (a>1);
b:= n mod a ;
if b<>0 then
repeat
writeln('Повторите ввод размера блока (>=2)');
readln(a);
until n mod a=0;
writeln('Введите код');
for i:=1 to a do
begin
read(p[i]);
if (p[i]<=0) or (p[i]>a) then
flag:=false;
end;
j:=2;
if flag=true then
for i:=1 to a do
while (flag=true) and (j<a) do
if p[i]<>p[j] then
inc(j)
else
flag:=false;