По каналу связи передается последовательность положительных целых чисел, все числа не превышают 1000. Количество чисел заранее неизвестно, но может быть очень велико. Затем передается контрольное значение значение последовательности - наименьшее число R, удовлетворяющие следующим условиям:
- R - произведение двух различных переданных элементов последовательности ("различные" означает, что не рассматриваются квадраты переданных чисел; допускаются произведения различных элементов последовательности, равных по величине);
- R делится на 21.
Если такого числа R нет, то контрольное значение полагается равным 0.
В результате помех при передачи как сами числа, так и контрольное значение могут быть искажены.
Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет проверять правильность контрольного значения.
Программа должна напечатать отчет в следующей форме:
Вычисленное контрольное значение: ...
Контроль пройден (или - Контроль не пройден)
Перед текстом программы кратко опишите используемый Вами алгоритм решения.
На вход программе в первой строке подается количество целых чисел N. В каждой из последующих N строк записано одно натуральное число, не превышающее 1000. В последней строке записано контрольное значение.
Пример входных данных:
6
30
15
493
3
7
14
21
Пример выходных данных для приведенного выше примера входных данных:
Вычисленное контрольное значение: 21
Контроль пройден