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

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

재미있는 숫자 놀이

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

요약
1부터 N까지의 정수 중 주어진 20개 이하의 수 가운데 적어도 하나로 나누어지는 개수를 센다. 중복과 배수 관계를 걸러야 한다.
난이도

보통10점 중 7점

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

문제

민호는 카드 KK장을 가지고 있다. 각 카드에는 양의 정수가 하나씩 적혀 있다. 민호는 이 카드로 숫자 놀이를 하나 만들었다.

1 이상 NN 이하의 양의 정수 중에서 카드에 적힌 수 가운데 적어도 하나로 나누어떨어지는 수가 몇 개인지 세는 놀이다.

세어야 할 수가 너무 많아 손으로는 셀 수 없다. 민호 대신 그 개수를 구하자.

입력

첫째 줄에 NN과 KK가 공백으로 구분되어 주어진다. (1≤N≤1091 \le N \le 10^9, 1≤K≤201 \le K \le 20)

둘째 줄에 카드에 적힌 수 A1,A2,…,AKA_1, A_2, \dots, A_K가 공백으로 구분되어 차례대로 주어진다. (1≤Ai≤1091 \le A_i \le 10^9)

같은 수가 적힌 카드가 여러 장 있을 수 있다.

출력

1 이상 NN 이하의 양의 정수 중 카드에 적힌 수 가운데 적어도 하나로 나누어떨어지는 수의 개수를 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    100 2
    2 3
    
    예상 출력
    67
    
  2. 예제 2

    입력
    100 3
    2 3 7
    
    예상 출력
    72