program main;
type TByte=array[0..9] of Byte;
type TArray=array[1..10000] of Integer;
{Заполняет массив значениями value}
procedure FillArray(A:TByte; size:Integer; value:Integer);
var i:Integer;
begin
for i:=1 to size do
A[i]:=value;
end;
function product(a:Integer):Integer;
var p:LongInt;
begin
p:=1;
while a>0 do begin
p:=p*(a mod 10);
a:=a div 10;
end;
product:=p;
end;
{Тестирует число по условию задачи.
0 - все цифры разные (удалить число), 1 - есть одинаковые (пропустить),
2 - дублировать. Каждый элемент массива index[0..9] содержит количество
соответствующих цифр в числе, например index[3]=5 - в числе пять троек}
function TestNumber(n:Integer):Integer;
var index:TByte;
status:Byte;
i,a:Integer;
begin
status:=0;
TestNumber:=status;
FillArray(index,High(index)-Low(index),0);
a:=n; {Сохраним значение n}
while n>0 do
begin
inc(index[n mod 10]);
n:=n div 10;
end;
for i:=0 to 9 do
if index[i]>1 then
begin
status:=1;
TestNumber:=status;
break;
end;
if (status=0) then exit;
if (product(a) mod 14)=0 then
TestNumber:=2;
end;
{Удаление числа из массива}
procedure delete(var A:TArray; var n:Integer);
var k,m:Integer;
begin
k:=1;
while k<=n do
if TestNumber(A[k])=0 then
begin
for m:=k to n-1 do
A[m]:=A[m+1];
n:=n-1;
end
else
k:=k+1;
end;
procedure DreadMagic(var A:TArray; var B:TArray; var n:Integer);
var k,i:Integer;
begin
k:=0;
for i:=1 to n do
case TestNumber(A[i]) of
0: ; {do nothing}
1: begin
k:=k+1;
B[k]:=A[i];
end;
2: begin
k:=k+1; B[k]:=A[i];
k:=k+1; B[k]:=A[i];
end;
end;
n:=k;
end;
procedure Input(var A:TArray; var n:Integer);
var i:Integer;
begin
write('Enter n: ');
read(n);
writeln('Enter ',n, ' elements:');
for i:=1 to n do
read(A[i]);
end;
procedure Output(A:TArray; n:Integer);
var i:Integer;
begin
for i:=1 to n do
write(A[i]:6);
end;
const T:array[1..7] of Integer=(987,4562,1123,31234,32368,876,1172);
var A:TArray;
B:TArray;
i,n:Integer;
begin
n:=7;
for i:=1 to n do begin
A[i]:=T[i];
end;
{Input(A,n);}
DreadMagic(A,B,n);
Output(B,n);
end.
ICBwcm9ncmFtIG1haW47CiAgCiAgdHlwZSBUQnl0ZT1hcnJheVswLi45XSBvZiBCeXRlOwogIHR5cGUgVEFycmF5PWFycmF5WzEuLjEwMDAwXSBvZiBJbnRlZ2VyOwogIAogIHvQl9Cw0L/QvtC70L3Rj9C10YIg0LzQsNGB0YHQuNCyINC30L3QsNGH0LXQvdC40Y/QvNC4IHZhbHVlfQogIHByb2NlZHVyZSBGaWxsQXJyYXkoQTpUQnl0ZTsgc2l6ZTpJbnRlZ2VyOyB2YWx1ZTpJbnRlZ2VyKTsKICB2YXIgaTpJbnRlZ2VyOwogIGJlZ2luCiAgICBmb3IgaTo9MSB0byBzaXplIGRvCiAgICAgIEFbaV06PXZhbHVlOwogIGVuZDsKICAKICBmdW5jdGlvbiBwcm9kdWN0KGE6SW50ZWdlcik6SW50ZWdlcjsKICAgdmFyIHA6TG9uZ0ludDsKICAgYmVnaW4KICAgIHA6PTE7CiAgICB3aGlsZSBhPjAgZG8gYmVnaW4KICAgICAgcDo9cCooYSBtb2QgMTApOwogICAgICBhOj1hIGRpdiAxMDsKICAgIGVuZDsKICAgIHByb2R1Y3Q6PXA7CiAgZW5kOwogIHvQotC10YHRgtC40YDRg9C10YIg0YfQuNGB0LvQviDQv9C+INGD0YHQu9C+0LLQuNGOINC30LDQtNCw0YfQuC4KICAwIC0g0LLRgdC1INGG0LjRhNGA0Ysg0YDQsNC30L3Ri9C1ICjRg9C00LDQu9C40YLRjCDRh9C40YHQu9C+KSwgMSAtINC10YHRgtGMINC+0LTQuNC90LDQutC+0LLRi9C1ICjQv9GA0L7Qv9GD0YHRgtC40YLRjCksIAogIDIgLSDQtNGD0LHQu9C40YDQvtCy0LDRgtGMLiDQmtCw0LbQtNGL0Lkg0Y3Qu9C10LzQtdC90YIg0LzQsNGB0YHQuNCy0LAgaW5kZXhbMC4uOV0g0YHQvtC00LXRgNC20LjRgiDQutC+0LvQuNGH0LXRgdGC0LLQviAKICDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0Y7RidC40YUg0YbQuNGE0YAg0LIg0YfQuNGB0LvQtSwg0L3QsNC/0YDQuNC80LXRgCBpbmRleFszXT01IC0g0LIg0YfQuNGB0LvQtSDQv9GP0YLRjCDRgtGA0L7QtdC6fQogIGZ1bmN0aW9uIFRlc3ROdW1iZXIobjpJbnRlZ2VyKTpJbnRlZ2VyOwogIHZhciBpbmRleDpUQnl0ZTsKICAgICAgc3RhdHVzOkJ5dGU7CiAgICAgIGksYTpJbnRlZ2VyOwogIGJlZ2luCiAgICBzdGF0dXM6PTA7CiAgICBUZXN0TnVtYmVyOj1zdGF0dXM7CiAgICBGaWxsQXJyYXkoaW5kZXgsSGlnaChpbmRleCktTG93KGluZGV4KSwwKTsKICAgIGE6PW47IHvQodC+0YXRgNCw0L3QuNC8INC30L3QsNGH0LXQvdC40LUgbn0KICAgIHdoaWxlIG4+MCBkbwogICAgICBiZWdpbgogICAgICAgIGluYyhpbmRleFtuIG1vZCAxMF0pOwogICAgICAgIG46PW4gZGl2IDEwOwogICAgICBlbmQ7CiAgICBmb3IgaTo9MCB0byA5IGRvCiAgICAgIGlmIGluZGV4W2ldPjEgdGhlbgogICAgICAgIGJlZ2luCiAgICAgICAgICBzdGF0dXM6PTE7CiAgICAgICAgICBUZXN0TnVtYmVyOj1zdGF0dXM7CiAgICAgICAgICBicmVhazsKICAgICAgICBlbmQ7CiAgICBpZiAoc3RhdHVzPTApIHRoZW4gZXhpdDsKICAgIGlmIChwcm9kdWN0KGEpIG1vZCAxNCk9MCB0aGVuCiAgICAgIFRlc3ROdW1iZXI6PTI7CiAgZW5kOwogIAogIHvQo9C00LDQu9C10L3QuNC1INGH0LjRgdC70LAg0LjQtyDQvNCw0YHRgdC40LLQsH0KICBwcm9jZWR1cmUgZGVsZXRlKHZhciBBOlRBcnJheTsgdmFyIG46SW50ZWdlcik7CiAgdmFyIGssbTpJbnRlZ2VyOwogIGJlZ2luCiAgICBrOj0xOwogICAgd2hpbGUgazw9biBkbwogICAgICBpZiBUZXN0TnVtYmVyKEFba10pPTAgdGhlbgogICAgICAgIGJlZ2luCiAgICAgICAgICBmb3IgbTo9ayB0byBuLTEgZG8KICAgICAgICAgICAgQVttXTo9QVttKzFdOwogICAgICAgICAgbjo9bi0xOwogICAgICAgIGVuZAogICAgICAgZWxzZQogICAgICAgIGs6PWsrMTsKICBlbmQ7CiAgCiAgcHJvY2VkdXJlIERyZWFkTWFnaWModmFyIEE6VEFycmF5OyB2YXIgQjpUQXJyYXk7IHZhciBuOkludGVnZXIpOwogIHZhciBrLGk6SW50ZWdlcjsKICBiZWdpbgogICAgazo9MDsKICAgIGZvciBpOj0xIHRvIG4gZG8KICAgIGNhc2UgVGVzdE51bWJlcihBW2ldKSBvZgogICAgICAwOiA7IHtkbyBub3RoaW5nfQogICAgICAxOiBiZWdpbgogICAgICAgICAgICBrOj1rKzE7CiAgICAgICAgICAgIEJba106PUFbaV07CiAgICAgICAgIGVuZDsKICAgICAgMjogYmVnaW4KICAgICAgICAgICAgazo9aysxOyBCW2tdOj1BW2ldOwogICAgICAgICAgICBrOj1rKzE7IEJba106PUFbaV07CiAgICAgICAgIGVuZDsKICAgIGVuZDsKICAgIG46PWs7CiAgZW5kOwogIAogIHByb2NlZHVyZSBJbnB1dCh2YXIgQTpUQXJyYXk7IHZhciBuOkludGVnZXIpOwogIHZhciBpOkludGVnZXI7CiAgYmVnaW4KICAgIHdyaXRlKCdFbnRlciBuOiAnKTsKICAgIHJlYWQobik7CiAgICB3cml0ZWxuKCdFbnRlciAnLG4sICcgZWxlbWVudHM6Jyk7CiAgICBmb3IgaTo9MSB0byBuIGRvCiAgICAgIHJlYWQoQVtpXSk7CiAgZW5kOwogIAogIHByb2NlZHVyZSBPdXRwdXQoQTpUQXJyYXk7IG46SW50ZWdlcik7CiAgdmFyIGk6SW50ZWdlcjsKICBiZWdpbgogICAgZm9yIGk6PTEgdG8gbiBkbwogICAgICB3cml0ZShBW2ldOjYpOwogIGVuZDsKICAKICBjb25zdCBUOmFycmF5WzEuLjddIG9mIEludGVnZXI9KDk4Nyw0NTYyLDExMjMsMzEyMzQsMzIzNjgsODc2LDExNzIpOwogIHZhciBBOlRBcnJheTsKICAgICAgQjpUQXJyYXk7CiAgICAgIGksbjpJbnRlZ2VyOwogIGJlZ2luCiAgICBuOj03OwogICAgZm9yIGk6PTEgdG8gbiBkbyBiZWdpbgogICAgICBBW2ldOj1UW2ldOwogICAgZW5kOwogICAge0lucHV0KEEsbik7fQogICAgRHJlYWRNYWdpYyhBLEIsbik7CiAgICBPdXRwdXQoQixuKTsKICBlbmQu