Fractions
题号:NC54304
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
Special Judge, 64bit IO Format: %lld

题目描述

You are given a positive integer n.
Find a sequence of fractions ai / bi, i = 1…k (where ai and bi are positive integers) for some k such that:
  • bi divides n, 1 < bi < n for i = 1…k
  • 1 ≤ ai < bi for i = 1…k

输入描述:

The input consists of a single integer n (2 ≤ n ≤ 109).

输出描述:

In the first line print “YES” if there exists such a sequence of fractions or “NO” otherwise.
If there exists such a sequence, next lines should contain a description of the sequence in the following format.
The second line should contain integer k (1 ≤ k ≤ 100 000) — the number of elements in the sequence. It is guaranteed that if such a sequence exists, then there exists a sequence of length at most 100 000.
Next k lines should contain fractions of the sequence with two integers ai and bi on each line.
示例1

输入

复制
2

输出

复制
NO
示例2

输入

复制
6

输出

复制
YES
2
1 2
1 3

说明

In the second example there is a sequence 1/2, 1/3 such that 1/2 + 1/3 = 1 − 1/6

备注:

Author: Dmitry Yakutov