아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

제곱수 덱 1

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

요약
두 덱에서 카드를 하나씩 뽑아 합이 제곱수일 때만 합치고 뽑은 두 수의 차를 기록할 때, 1부터 N까지의 카드를 하나로 합치며 기록된 수의 곱을 최소로 만드는 값을 구한다.
난이도

보통10점 중 7점

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

문제

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

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

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

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

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

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

입력

양의 정수 NN이 주어진다. (1≤N≤107)(1 \le N \le 10^7)

출력

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

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

예제2

  1. 예제 1

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

    입력
    14
    
    예상 출력
    29030400