program p1;
type niz=array[1..50] of integer;
var a:niz; n:integer;
procedure UnosNizaS(var x:niz;var n:integer);
var i:integer;
begin
  readln(n);
  for i:=1 to n do
    readln(x[i]);
end;
procedure IspisNizaS(x:niz;n:integer);
var i:integer;
begin
 writeln(n);
 for i:=1 to  n do
  write(x[i]:5);
 writeln;
end;
function Prost (a:integer):boolean;
var i,br:integer; p:boolean;
begin
  br:=0;
  for i:=1 to round(sqrt(a)) do
  if a mod i=0 then br:=br+1;
  if br=1 then Prost:=true else Prost:=false;
end;
function Ispitaj(x:niz; n:integer):boolean;
var i,br:integer;
begin
  br:=0;
  for i:=1 to n do
    if(Prost(x[i])) then br:=br+1;
    
  if(br>0) then Ispitaj:=true
    else Ispitaj:=false;
end;

procedure Zamena(var x:niz; n:integer);
var i:integer;
begin
  for i:=1 to n do
    if(Prost(x[i])) then x[i]:=2*x[i];
    
end;

begin       
 UnosNizaS(a,n);
 IspisNizaS(a,n);
  
 if(Ispitaj(a,n)) then writeln('Niz ima prostih brojeva')
  else writeln('Niz nema prostih brojeva');
 
 
 Zamena(a,n);
 IspisNizaS(a,n);
end.   
       