만드는 중입니다

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

페르마의 마지막 정리

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

요약
|x+y|의 소인수 중 x와 y의 소인수가 아닌 것으로 z를 만들 때, z^m이 |x^n+y^n|의 약수인 z^m의 개수와 합을 10^9+7로 나눈 값으로 구합니다.
난이도

보통10점 중 6점

유형
수학, 정수론
정답자
아직 제출이 없습니다

문제

페르마의 마지막 정리는 다음과 같다.

∄(x,y,z)∈(Z∖{0})3s.t.xn+yn=zn (n≥3,n∈Z,xyz≠0)\nexists (x, y, z) \in (\mathbb{Z}\setminus\{0\})^3 \quad \text{s.t.} \quad x^n + y^n = z^n \ (n \ge 3, n \in \mathbb{Z}, xyz \ne 0)

페르마의 마지막 정리로 본 조선붕당의 이해

출처: 페이스북 수학 갤러리

유학을 꿈꾸는 창호는 위 그림에서처럼 서학을 믿고 있다. 그래서 자신이 페르마의 마지막 정리를 넘어 '창호의 마지막 정리'를 만들었다고 자랑한다. 먼저 22 이상의 정수 kk를 소인수분해했을 때 나오는 서로 다른 소수들의 집합을 kk의 소수 집합이라고 하고 p(k)\mathbb{p}(k)로 쓴다. 11은 소인수분해할 수 없으므로 p(1)=∅\mathbb{p}(1) = \emptyset으로 둔다. 즉, k=p1e1p2e2⋯ptetk = p_1^{e_1} p_2^{e_2} \cdots p_t^{e_t} (pip_i는 서로 다른 소수이고 ei≥1e_i \ge 1인 정수)이면 p(k)={p1,p2,⋯ ,pt}\mathbb{p}(k) = \{p_1, p_2, \cdots, p_t\}이다. 창호의 마지막 정리는 다음과 같다.

음이 아닌 홀수 nn과 00이 아닌 정수 xx, yy에 대하여 x+y≠0x + y \ne 0이라고 하자. 어떤 1 이상의 정수 zz가 존재해 p(z)∩p(∣x∣)=∅\mathbb{p}(z) \cap \mathbb{p}(\lvert x\rvert) = \emptyset, p(z)∩p(∣y∣)=∅\mathbb{p}(z) \cap \mathbb{p}(\lvert y\rvert) = \emptyset, p(z)⊆p(∣x+y∣)\mathbb{p}(z) \subseteq \mathbb{p}(\lvert x+y\rvert)라면, 모든 음이 아닌 정수 mm에 대하여 ∣xn+yn∣\lvert x^n + y^n\rvert는 zmz^m의 배수가 될 수 없다.

동우는 이 명제에 반례가 상당히 많다는 것을 발견한다. nn, xx, yy, mm이 주어졌을 때 위 명제를 만족하지 않는 zmz^m의 개수와 합을 구하자. 즉, p(z)∩p(∣x∣)=∅\mathbb{p}(z) \cap \mathbb{p}(\lvert x\rvert) = \emptyset, p(z)∩p(∣y∣)=∅\mathbb{p}(z) \cap \mathbb{p}(\lvert y\rvert) = \emptyset, p(z)⊆p(∣x+y∣)\mathbb{p}(z) \subseteq \mathbb{p}(\lvert x+y\rvert)를 만족하면서 ∣xn+yn∣\lvert x^n + y^n\rvert가 zmz^m의 배수가 되는 zmz^m의 개수와 합을 구하면 된다.

입력

첫 번째 줄에 음이 아닌 홀수 nn (1≤n≤10181 \le n \le 10^{18}, n≡1(mod2)n \equiv 1 \pmod{2}), 00이 아닌 정수 xx와 yy (1≤∣x∣,∣y∣≤10181 \le \lvert x\rvert, \lvert y\rvert \le 10^{18}, x+y≠0x + y \ne 0), 정수 mm (1≤m≤10181 \le m \le 10^{18})이 공백으로 구분되어 주어진다.

출력

주어진 nn, xx, yy, mm에 대해 p(z)∩p(∣x∣)=∅\mathbb{p}(z) \cap \mathbb{p}(\lvert x\rvert) = \emptyset, p(z)∩p(∣y∣)=∅\mathbb{p}(z) \cap \mathbb{p}(\lvert y\rvert) = \emptyset, p(z)⊆p(∣x+y∣)\mathbb{p}(z) \subseteq \mathbb{p}(\lvert x+y\rvert)를 만족하면서 ∣xn+yn∣\lvert x^n + y^n\rvert가 zmz^m의 배수가 되는 zmz^m의 개수와 합을 구한다. 두 값을 각각 1 000 000 0071\,000\,000\,007로 나눈 나머지를 공백으로 구분하여 출력한다.

예제4

  1. 예제 1

    입력
    1 5 7 1
    
    예상 출력
    6 28
    
  2. 예제 2

    입력
    3 125 -17 2
    
    예상 출력
    6 455
    
  3. 예제 3

    입력
    5 -527 -5627 3
    
    예상 출력
    1 1
    
  4. 예제 4

    입력
    3 597245143738042799 1 2
    
    예상 출력
    1152 783300247