uses math;
Var n,x,z,t,s,vt,i,smax,d: longint;
a: array[1..100000000] of longint;
///
Function ktnt(n: longint): boolean;
var i: longint;
begin
if n < 2 then exit(false)
else
begin
ktnt:= true;
For i:= 2 to trunc(sqrt(n)) do
if n mod i = 0 then exit(false);
end;
end;
///
begin
read(n, x); d:= 0; t:= 0; smax:= 0;
For i:= 1 to n do
begin
read(z);
if ktnt(z) = true then t:= t + z;
if z = x then d:= d + 1;
if (d = 1) and (x = z) then vt:= i;
a[z]:= a[z] + 1;
smax:= max(z,smax);
end;
writeln('Tong nguyen to: ',t);
writeln('So lan xuat hien x: ',d);
writeln('So lan xuat hien phan tu: ');
For i:= 0 to smax do
If a[i] <> 0 then writeln('So: ',i,'. So lan xuat hien: ',a[i]);
writeln('Vi tri x(vi tri xuat hien dau): ',vt);
end.