아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

경비원

시간 제한2초메모리 제한32 MB

요약
두 명 이상을 뽑아 좋아하는 수가 서로소가 되는 경우의 수를 1,000,000,007로 나눈 나머지를 구합니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 정수론, 조합론
정답자
아직 제출이 없습니다

문제

상수는 어제 거대한 저택을 샀다. 저택을 지킬 경비원을 모집했더니 n명이 지원했고, 상수는 지원자에게 1번부터 n번까지 번호를 붙였다.

i번 지원자에게는 가장 좋아하는 수 aia_i가 있다. 이 수는 양의 정수다. 두 지원자 i와 j가 같이 경비를 설 때 aia_i와 aja_j의 최대공약수가 2 이상이면, 둘은 친밀감을 느껴 대화하느라 경비를 제대로 서지 않는다.

상수는 지원자 중 2명 이상을 뽑되, 뽑힌 사람 가운데 어느 두 명을 골라도 좋아하는 수의 최대공약수가 1이 되도록 하려고 한다. 뽑는 방법이 몇 가지인지 구하라. 뽑힌 번호의 집합이 다르면 서로 다른 방법이다. 좋아하는 수가 같은 두 지원자는 서로 다른 사람이지만, 최대공약수가 그 수와 같아 2 이상이므로 함께 뽑을 수 없다.

입력

첫째 줄에 지원자 수 n이 주어진다. (2≤n≤22222 \le n \le 2222)

둘째 줄에 a1,a2,…,ana_1, a_2, \dots, a_n이 공백으로 구분되어 차례대로 주어진다. (1≤ai≤22221 \le a_i \le 2222)

출력

첫째 줄에 뽑는 방법의 수를 1,000,000,007(=109+7=10^9+7)로 나눈 나머지를 출력한다.

예제5

  1. 예제 1

    입력
    4
    1 2 3 4
    
    예상 출력
    7
    
  2. 예제 2

    입력
    5
    10 12 14 16 18
    
    예상 출력
    0
    
  3. 예제 3

    입력
    44
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
    
    예상 출력
    900563
    
  4. 예제 4

    입력
    5
    3 21 7 45 15
    
    예상 출력
    3
    
  5. 예제 5

    입력
    3
    3 2 3
    
    예상 출력
    2