Проблема с кодом в паскаль
Program ERROR;
Const N=30;
Type T_Mas=Array[1..N+1] of Integer;
Var Mas :T_Mas;
K,X,RAZMER:Integer;
Procedure Init1(Var Kol:Integer;Var M:T_Mas);
Procedure Print1(Kol:Integer; Var M:T_Mas);
Procedure Insert1(Kol,K1,X1:Integer;Var M:T_Mas);
Var I:Integer;
Begin {сдвиг элементов на одну позицию назад}
For I:=Kol DownTo K1+1 Do M[I+1]:=M[I];
M[K1+1]:=X1
End;
Begin
Init1(RAZMER,Mas);
Print1(RAZMER,Mas);
WriteLn('20');
WriteLn ('1');
ReadLn(K,X);
Insert1(RAZMER,K,X,Mas);
Print1(RAZMER+1,Mas);
End.
что не так с этим кодом? (паскаль)