小红构造数组
题号:NC267071
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

小红希望你构造一个数组,满足以下三个条件:
1. 数组的元素都是素数。
2. 数组所有元素相乘恰好等于x
3. 数组任意相邻两个元素不等。

输入描述:

一个正整数x
1\leq x \leq 10^{13}

输出描述:

如果无解,直接输出 -1 即可。
如果有解,第一行输入一个正整数n,代表数组的大小。第二行输入n个正整数a_i,代表数组的元素。
有多解时输出任意合法解都可以。
示例1

输入

复制
30

输出

复制
3
2 5 3
示例2

输入

复制
1000000007

输出

复制
1
1000000007
示例3

输入

复制
4

输出

复制
-1