해결한 사람
0
명
정답률
0.00
%
시간 제한
2000
ms
메모리 제한
245
MB
Vova는 다시 어떤 컴퓨터 카드 게임을 하려고 한다.
이 게임에서 덱을 만드는 규칙은 간단하다. Vova에게 n장의 카드로 이루어진 기존 덱과 마법의 수 k가 주어진다. 덱에서 카드의 순서는 고정되어 있다. 각 카드에는 수가 하나씩 적혀 있으며, 덱의 i-th번째 카드에는 수 ai가 적혀 있다.
덱과 마법의 수를 받은 뒤, Vova는 덱의 위에서 x (possibly x = 0)장의 카드를 제거하고 덱의 아래에서 y (possibly y = 0)장의 카드를 제거하며, 덱의 나머지 부분이 그의 새 덱이 된다. Vova는 카드를 제거한 뒤 덱에 적어도 한 장의 카드를 남겨야 한다. So Vova's 새 덱에는 실제로 원래 덱의 카드 x + 1, x + 2, ... n - y - 1, n - y가 들어 있다.
Vova의 새 덱은 그 새 덱의 카드에 적힌 모든 수의 곱이 k로 나누어질 때, 그리고 그럴 때에만 유효하다고 간주된다. So Vova는 덱 하나와 수 k를 받았으며, 받은 덱은 유효하지 않을 수도 있다. 이제 그는 위에서 x장의 카드를 제거하고 아래에서 y장의 카드를 제거한 뒤 얻게 되는 덱이 유효하도록 x와 y를 선택하는 방법이 몇 가지인지 궁금해한다.
첫째 줄에는 두 정수 n와 k (1 ≤ n ≤ 100 000, 1 ≤ k ≤ 109)가 주어진다.
둘째 줄에는 카드에 적힌 수를 나타내는 n개의 정수 a1, a2, ..., an (1 ≤ ai ≤ 109)가 주어진다.
결과로 얻는 덱이 유효하도록 x와 y를 선택하는 방법의 수를 출력한다.
3 4
6 2 8
4
3 6
9 1 14
1
첫 번째 예제에서 x와 y의 가능한 값은 다음과 같다: