CF1656D.K-good

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

We say that a positive integer nn is kk -good for some positive integer kk if nn can be expressed as a sum of kk positive integers which give kk distinct remainders when divided by kk .

Given a positive integer nn , find some k2k \geq 2 so that nn is kk -good or tell that such a kk does not exist.

输入格式

The input consists of multiple test cases. The first line contains a single integer tt ( 1t1051 \leq t \leq 10^5 ) — the number of test cases.

Each test case consists of one line with an integer nn ( 2n10182 \leq n \leq 10^{18} ).

输出格式

For each test case, print a line with a value of kk such that nn is kk -good ( k2k \geq 2 ), or 1-1 if nn is not kk -good for any kk . If there are multiple valid values of kk , you can print any of them.

输入输出样例

  • 输入#1

    5
    2
    4
    6
    15
    20

    输出#1

    -1
    -1
    3
    3
    5

说明/提示

66 is a 33 -good number since it can be expressed as a sum of 33 numbers which give different remainders when divided by 33 : 6=1+2+36 = 1 + 2 + 3 .

1515 is also a 33 -good number since 15=1+5+915 = 1 + 5 + 9 and 1,5,91, 5, 9 give different remainders when divided by 33 .

2020 is a 55 -good number since 20=2+3+4+5+620 = 2 + 3 + 4 + 5 + 6 and 2,3,4,5,62,3,4,5,6 give different remainders when divided by 55 .

首页