해결한 사람
0
명
정답률
0.00
%
시간 제한
1000
ms
메모리 제한
245
MB
Masha는 대수학을 정말 좋아한다. 지난 수업에서 엄격한 선생님 Dvastan은 그녀에게 새로운 연습 문제를 주었다.
두 정수 b1와 q으로 정의되는 등비수열 b가 주어진다. 등비수열은 정수로 이루어진 수열 b1, b2, b3, ...이며, 각 i > 1에 대해 해당 항은 bi = bi - 1·q 조건을 만족한다. 여기서 q을 수열의 공비라고 한다. Uzhlyandia의 수열은 특이하다. b1와 q 모두 0일 수 있다. 또한 Dvastan은 Masha에게 m개의 "나쁜" 정수 a1, a2, ..., am과 정수 l를 주었다.
Masha는 조건 |bi| ≤ l가 만족되는 동안 수열의 모든 항을 하나씩 칠판에 쓴다. 반복되는 항도 포함한다. 단, 어떤 항이 "나쁜" 정수 중 하나와 같으면 Masha는 그 항을 건너뛰고(칠판에 쓰지 않고) 다음 항으로 넘어간다.
하지만 수업이 곧 끝나므로 Masha는 칠판에 쓰게 될 정수의 개수를 계산해야 한다. 우울해지지 않기 위해 Masha는 당신에게 도움을 요청했다. 그녀가 쓰게 될 수의 개수를 계산하도록 도와주거나, 무한히 많은 정수를 써야 한다면 "inf"를 출력하라.
입력의 첫 번째 줄에는 네 정수 b1, q, l, m (-109 ≤ b1, q ≤ 109, 1 ≤ l ≤ 109, 1 ≤ m ≤ 105) — 각각 수열의 첫째 항, 공비, 칠판에 쓸 수 있는 수의 절댓값의 최댓값, "나쁜" 정수의 개수가 주어진다.
두 번째 줄에는 서로 다른 m개의 정수 a1, a2, ..., am (-109 ≤ ai ≤ 109) — 칠판에 절대로 쓰지 않을 수들이 주어진다.
칠판에 쓰게 될 수열의 항이 유한하다면 그 개수를 나타내는 유일한 정수를 출력하고, 그렇지 않다면 "inf"를 따옴표 없이 출력한다.
123 1 2143435 4
123 11 -5453 141245
0
3 2 30 4
6 14 25 48
3
123 1 2143435 4
54343 -13 6 124
inf
첫 번째 예제에서 Masha는 정수 3, 12, 24를 쓴다. 수열의 항 6은 "나쁜" 정수이므로 건너뛴다. 24보다 큰 항은 절댓값이 l를 초과하므로 쓰지 않는다.
두 번째 예제에서 모든 항은 123과 같고 이것이 "나쁜" 정수이므로 Masha는 어떤 수도 쓰지 않는다.
세 번째 예제에서 Masha는 정수 123을 무한히 많이 쓴다.