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

Задача . F. Взаимно простые подпоследовательности


Назовём непустую последовательность натуральных чисел a1, a2... ak взаимно простой, если наибольший общий делитель всех элементов последовательности равен 1.

Дан массив a, состоящий из n натуральных чисел. Найдите количество его взаимно простых подпоследовательностей. Так как ответ может быть очень большим, выведите его по модулю 109 + 7.

Обратите внимание: две подпоследовательности считаются различными, если различны выбранные индексы. К примеру, в массиве [1, 1] 3 различных подпоследовательности: [1], [1] и [1, 1].

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

В первой строке записано единственное натуральное число n (1 ≤ n ≤ 100000).

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

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

Выведите единственное число — количество взаимно простых подпоследовательностей a по модулю 109 + 7.

Примечание

В первом примере взаимно простыми являются следующие подпоследовательности:

  1. 1
  2. 1, 2
  3. 1, 3
  4. 1, 2, 3
  5. 2, 3

Во втором примере все подпоследовательности являются взаимно простыми.


Примеры
Входные данныеВыходные данные
1 3
1 2 3
5
2 4
1 1 1 1
15
3 7
1 3 5 15 3 105 35
100

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

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