만드는 중입니다

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

제곱수 덱 2

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

요약
1부터 N까지 적힌 카드를 합칠 때 두 카드의 합이 완전제곱수가 되도록 하고, 기록된 수들의 곱을 최소로 만든 값을 998244353으로 나눈 나머지를 구합니다.
난이도

어려움10점 중 8점

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

문제

11 이상 NN 이하의 정수가 순서대로 적힌 NN장의 카드가 있다. 각 카드는 처음에 자기 자신만으로 이루어진 덱이다.

와파스는 덱을 합칠 때마다 종이에 수를 적는다. 처음에는 종이에 11이 적혀 있다.

와파스는 다음 규칙에 따라 두 덱을 골라 하나의 덱으로 합친다.

  • 두 덱을 합치기 전, 각 덱에서 카드를 한 장씩 뽑는다.
  • 뽑은 두 카드에 적힌 수를 aa, bb라고 할 때, a+ba+b가 반드시 제곱수여야 한다. 이러한 카드를 뽑는 것이 불가능하다면 이 두 덱은 합칠 수 없다.
  • 두 덱을 하나로 합친 뒤에는 종이에 ∣a−b∣|a - b|를 적는다.

NN장의 카드를 하나의 덱으로 합친 뒤, 종이에 적힌 NN개의 수를 모두 곱한 값 xx를 구한다.

와파스는 xx의 값을 최소로 하여 덱을 모두 합치고 싶어 한다. 와파스를 위해 xx의 최솟값을 구해 보자.

입력

양의 정수 NN이 주어진다. (1≤N≤1014)(1 \le N \le 10^{14})

출력

xx의 최솟값을 998 244 353998\,244\,353으로 나눈 나머지를 출력한다.

NN장의 카드를 하나의 덱으로 합칠 수 없다면 -1을 출력한다.

예제2

  1. 예제 1

    입력
    4
    
    예상 출력
    -1
    
  2. 예제 2

    입력
    14
    
    예상 출력
    29030400