Hai ước số

Đề bài

Mô tả

Cho n số nguyên a1,a2,,an.

Với mỗi ai, hãy tìm hai ước số d1>1d2>1 của ai sao cho gcd(d1+d2,ai)=1, hoặc thông báo rằng không tồn tại cặp ước như vậy.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an.

Dữ liệu ra

In ra hai dòng, mỗi dòng gồm n số nguyên:

  • Số thứ i của dòng đầu và dòng thứ hai lần lượt là d1d2 tương ứng với ai (thỏa d1>1, d2>1, d1ai, d2aigcd(d1+d2,ai)=1).
  • Nếu không tồn tại cặp ước như vậy, in 1 ở cả hai dòng tại vị trí i.

Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Ràng buộc

  • 1n5·105
  • 2ai107

Ví dụ

Input Output Giải thích
10
2 3 4 5 6 7 8 9 10 24
-1 -1 -1 -1 2 -1 -1 -1 2 8
-1 -1 -1 -1 3 -1 -1 -1 5 3
Với a7=8: các ước lớn hơn 12,4,8, tổng của mọi cặp đều chia hết cho 2 nên không có đáp án. Với a10=24: gcd(8+3,24)=1; các cặp khác như (2,3) hay (3,8) cũng hợp lệ.
5
12 1024 999983 49 6
4 -1 -1 -1 2
3 -1 -1 -1 3
1024=21049=72 chỉ có một ước nguyên tố, 999983 là số nguyên tố, nên cả ba đều không có đáp án. Với 12: gcd(4+3,12)=1.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0