PREPRODUCT - Tích Tiền Tố
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 256 megabyte
Đăng bởi: namnguyen123

Cho dãy gồm n số nguyên dương a1 , a ,..., an .

Dãy số của các tích tiền tố là b1 , b2 , .. , bn  (Với bi = ( a1 * a2 * .... * ai ) % n ) 

Yêu cầu : Cho số n . Tìm dãy số a là một hoán vị của dãy (1 , 2 , 3 , ..., n) sao cho dãy b là dãy số của các tích tiền tố là một hoán vị của dãy số (0 , 1 , .. , n - 1) .

INPUT : Gồm 1 số nguyên n (1 < n < 105 ) .

OUTPUT :

Dòng đầu tiên : Nếu tìm được dãy a thỏa mãn thì in ra  "YES" còn không in ra "NO" . 

Dòng thứ 2 : Nếu tìm được dãy a thì in ra 1 dãy a gồm n số nguyên liên tiếp . 

Ví dụ

  • input
    3
    output
    YES
    1 2 3
  • input
    2
    output
    YES
    1 2
  • input
    4
    output
    YES
    1 3 2 4
Back to Top