Ước số phong thuỷ


Submit solution

Points: 4
Time limit: 1.0s
JAVA11 2.0s
Memory limit: 977M
JAVA11 488M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

x là một ước số phong thuỷ của n khi và chỉ khi n chia hết cho x và x+1.

Cho bạn một số n, hãy tìm toàn bộ ước số phong thuỷ của nó.

Input

  • Dòng đầu tiên là số nguyên \(t (t \le 100)\) ứng với số bộ test.
  • t dòng tiếp theo, mỗi dòng là 1 số \(n (1 \le n \le 10^{18})\) .

Output

  • Với mỗi test, in ra tất cả các ước số phong thuỷ theo thứ tự tăng dần. Nếu không có giá trị nào, in ra -1.

Example

Input 1

4
35
40
50
60

Output 1

-1
1 4
1
1 2 3 4 5

Giải thích:

Test 1: 35 không có ước số phong thuỷ nào nên in ra -1.

Test 2: 40 chia hết cho cả 1 và 2 nên 1 là ước số phong thuỷ của 40. Tương tự với các trường hợp còn lại


Comments


  • 0
    Keqing_Main  commented on Oct. 28, 2022, 3:09 a.m.

    có thuật toán chạy vớ vẩn đến 1e4 vx ac, hehe


    • 0
      ZeroCoder  commented on Oct. 28, 2022, 3:09 a.m. edited

      test íu nên lách được thời gian nhanh vãi, chứ code ban đầu kia chặt thế thì vẫn AC thôi


  • 2
    ZeroCoder  commented on Oct. 28, 2022, 2:44 a.m.

    Cơ mà bài này chị Ngọc anh sinh test vẫn hơi yếu nhá v: , cho quả test supper chặt tí


  • 3
    ZeroCoder  commented on Oct. 28, 2022, 2:28 a.m. edit 2

    Gợi ý : n chia cho x và (x + 1) , tương đương n cũng chia hết cho x (x + 1) , nhiệm vụ giờ chỉ cần tìm các bội của x (x + 1) trong thời gian O(n ^(1/3)) là AC