3732 - 二三排列
Description

给你 n 个正整数,请你将其重排,使得后一个数是前一个数的三分之一(整除)或二倍。

你只需判断是否有解,若有解,输出 Possible,否则输出 Impossible。

Input

第一行一个数字 n。
第二行 n 个数字。

Output

一行一个字符串。若有解,输出 Possible,否则输出 Impossible。

Examples

Input

3
3 1 2

Output

Possible
Hint

1 <= n <= 10^6,所有数字 <= 10^18。

把每个数写成 a = w * 2^f * 3^e,其中 w 与 6 互质(去掉所有 2、3 因子后剩下的奇数部分)。沿着“乘 2 / 除以 3”的变换,w 始终不变,所以所有数的 w 必须相同;此时每个数对应格点 (e, f),每步变换恰为 e 减 1 或 f 加 1。

按 e 从大到小、同 e 时 f 从小到大排序,若相邻两点的坐标差之和恰为 1(且 f 不减),则存在这样一条链;否则无解(重复的点差为 0 也判无解)。

Source
51nod 2538
Tags
题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 1
通过次数 1