program p1; type niz=array[1..50] of integer; var a,b:niz; n,m,poz,duz:integer; function prost(x:integer):boolean; var ind:boolean; i:integer; begin ind:=true; for i:=2 to x-1 do if (x mod i=0) then begin ind:=false; break; end; prost:=ind; end; procedure unosNiza(var a:niz; var n:integer); var i,x,k,j:integer; ind:boolean; begin readln(n); for i:=1 to n do begin readln(x); ind:=Prost(x); j:=1; if (ind) then while (j1 then a[j+1]:=x else a[j]:=x; end; end; Procedure ispisNiza(a:niz; n:integer); var i:integer; begin writeln(n); for i:=1 to n do write(a[i]:5); writeln; end; procedure napraviNiz(a:niz; n:integer; var b:niz; var m:integer); var i:integer; begin m:=0; for i:=2 to n-1 do begin if not(Prost(a[i])) and Prost(a[i-1]) and Prost(a[i+1]) then if (a[i] mod a[i-1]=0) and (a[i] mod a[i+1]=0) then begin m:=m+1; b[m]:=a[i]; end; end; end; procedure najduziPodniz(a:niz; n:integer; var poz, duz:integer); var i, tren_poz, j, tren_duz:integer; begin poz:=1; duz:=1; i:=1; while (i duz) then begin poz:=tren_poz; duz:=tren_duz; end; i:=j+1; end; end; begin unosNiza(a,n); ispisNiza(a,n); napraviNiz(a,n,b,m); ispisNiza(b,m); najduziPodniz(b,m,poz,duz); writeln(poz:5,duz:5); end.