uses crt; var v:array[1..100] of integer; n:0..100; procedure valid; var i,j:byte; begin for i:=1 to n-1 do for j:=i+1 to n do if v[i]=v[j] then v[j]:=0; end; function ok:boolean; var i:byte; k:boolean; begin k:=false; i:=1; while (i<=n) and (k=false) do begin if v[i]=0 then k:=true else i:=i+1; end; ok:=k; end; procedure citire; var c,i:0..100; x:integer; begin c:=0; readln(n); for i:=1 to n do begin read(x); v[i]:=x mod 23; end; for i:=1 to n do write(v[i],' '); writeln; valid; if ok=true then c:=c+1; for i:=1 to n do if v[i]<>0 then inc(c); writeln(c); end; begin clrscr; citire; end. function ok:boolean; var i:byte; k:boolean; begin k:=false; i:=1; while (i<=n) and (k=false) do begin if v[i]=0 then k:=true else i:=i+1; end; ok:=k; end; procedure citire; var i:0..100; x:integer; begin c:=0; readln(n); for i:=1 to n do begin read(x); v[i]:=x mod 23; end; valid; if ok=true then c:=1; for i:=1 to n do if v[i]<>0 then inc(c); writeln(c); end; begin clrscr; citire; end.