만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

전구

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

요약
N개의 전구와 K개의 d_i가 주어질 때, 홀수 번 뒤집히는 전구의 개수를 구합니다.
난이도

보통10점 중 6점

유형
조합론, 정수론, 비트 연산
정답자
아직 제출이 없습니다

문제

물리 실험실에 1번부터 NN번까지 번호가 매겨진 전구 NN개가 일렬로 놓여 있다. 처음에는 모든 전구가 꺼져 있다. 수업 중에 학생 KK명이 각각 정수 did_i(2≤di≤N2 \le d_i \le N)를 하나씩 고른다. 학생은 번호가 did_i의 배수인 전구의 상태를 모두 바꾼다. 켜져 있는 전구는 꺼지고, 꺼져 있는 전구는 켜진다. 상태를 바꾼 학생은 교실을 떠난다.

모든 학생이 교실을 떠난 뒤 켜져 있는 전구의 개수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 전구의 개수 NN이 주어진다. 둘째 줄에 학생 수 KK가 주어진다. 셋째 줄에 KK개의 정수 d1,d2,…,dKd_1, d_2, \ldots, d_K가 공백 한 칸씩 사이에 두고 주어진다.

출력

모든 학생이 교실을 떠난 뒤 켜져 있는 전구의 개수를 한 줄에 출력한다.

제한

  • 3≤N≤10123 \le N \le 10^{12}
  • 1≤K≤221 \le K \le 22
  • 1≤di≤min⁡(N,106)1 \le d_i \le \min(N, 10^6)
  • 같은 did_i가 여러 번 나올 수 있다.

힌트

처음에는 모든 전구가 꺼져 있다. 첫 번째 학생이 상태를 바꾸면 2번, 4번, 6번, 8번 전구가 켜진다. 두 번째 학생이 상태를 바꾸면 2번, 3번, 4번, 8번 전구가 켜진 채로 남는다.

예제1

  1. 예제 1

    입력
    8
    2
    2 3
    
    예상 출력
    4