Олимпиадный тренинг

Задача . B. Степени двойки


Вам задано n чисел a1, a2, ..., an. Найдите количество пар индексов i, j (i < j) таких, что ai + aj является степенью двойки (то есть найдется такое целое число x, что ai + aj = 2x).

Входные данные

В первой строке следует целое положительное число n (1 ≤ n ≤ 105) — количество чисел.

Во второй строке следует n целых положительных чисел a1, a2, ..., an (1 ≤ ai ≤ 109).

Выходные данные

Выведите количество пар индексов i, j (i < j) таких, что ai + aj является степенью числа 2.

Примечание

В первом примере в ответ входят следующие пары индексов: (1, 4) и (2, 4).

Во втором примере каждая пара индексов (i, j) (где i < j) входит в ответ.


Примеры
Входные данныеВыходные данные
1 4
7 3 2 1
2
2 3
1 1 1
3

time 3000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя