시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
5 초 (언어별 추가 시간 없음) 256 MB 59 8 4 11.765%

문제

긴 꼬리를 남기며 밤하늘을 지나가는 꼬리별을 본 적이 있는가? 사실 이 꼬리는 먼지나 기체로 이루어진 것이 아니라, 별의 주민들이 생업으로 마법 가루를 만들어 뿌리고 있는 것이다. 이 별의 주민들은 족제비처럼 생겼으며, 정성을 다해 꼬리를 만든다는 의미로 스스로를 '다꼬리'라고 부른다.

꼬리별의 1년은 P일로 나뉘어 있으며, 별에는 1번부터 P번까지 번호가 붙은 P마리의 다꼬리가 살고 있다. 만들어야 하는 마법 가루의 양에 비해 다꼬리의 수가 부족하기 때문에, 다꼬리들은 다음과 같은 규칙으로 야근을 한다.

  • 1번 다꼬리는 연봉 지급을 담당하는 다꼬리라서 매년 첫 날만 야근을 한다.
  • 그 외의 i(2 ≤ iP)번 다꼬리는 매년 i번째 날을 제외한 i의 배수 번째 날에 야근을 한다.

위 규칙에 따르면 1년 중 몇몇 날은 모든 다꼬리가 정시 퇴근을 하게 되는데, 그런 날마다 그 날짜를 그 해의 연도만큼 거듭제곱한 값이 다꼬리들의 연봉에 누적된다. 이 값은 천문학적으로 큰 값이지만, 아쉽게도 다꼬리들이 받는 연봉은 이 값을 P로 나눈 나머지가 된다.

다꼬리들이 규칙에 따라 한 해 동안 열심히 일했을 때 받게 되는 연봉을 구하여라.

입력

첫 줄에 꼬리별의 한 해를 이루는 날의 수이자 별에 살고 있는 다꼬리들의 수를 의미하는 정수 P(2 ≤ P ≤ 109, P는 소수)와 올해 연도를 의미하는 정수 Q(0 ≤ Q ≤ 1,000)가 공백을 사이에 두고 주어진다.

출력

첫 줄에 올 한 해 동안 일한 다꼬리들이 받게 되는 연봉을 출력한다.

예제 입력 1

7 1

예제 출력 1

3

1번 다꼬리는 1일, 2번 다꼬리는 4일과 6일, 3번 다꼬리는 6일에 야근을 하며, 나머지 다꼬리는 야근을 하지 않는다. 따라서 모든 다꼬리가 정시 퇴근하는 날은 2, 3, 5, 7일이며, 답은 이 날짜들의 합인 17을 7로 나눈 나머지인 3이 된다.

예제 입력 2

997 3

예제 출력 2

729

모든 다꼬리가 정시 퇴근하는 날은 총 168일이며, 나머지 연산을 하지 않았을 때의 답은 36,501,131,837이다.

예제 입력 3

998244353 1000

예제 출력 3

289138469

출처

  • 문제를 만든 사람: doju