#CF632D. Longest Subsequence

Longest Subsequence

题目描述

给定有 nn 个元素的数组 aa 和数字 mm。记 LCM 为 ll 。找出使 l≤ml \le m 的 aa 的最长子序列。

定义 aa 的子序列为通过删除 aa 中的一些元素得到的数组。允许删除 00 个元素或所有元素。

空数组的 LCM 等于 11。

输入格式

第一行包含两个整数 nn 和 mm ( 1≤n,m≤106 1 \le n,m \le 10^{6} ) — 数组 aa 的大小和题目描述中的参数。

第二行包含 n 个整数 ai a_{i} ( 1≤ai≤109 1 \le a_{i} \le 10^{9} ) — aa 的元素。

输出格式

第一行打印两个整数 l l 和 kmax⁡ k_{\max} ( 1≤l≤m,0≤kmax⁡≤n 1 \le l \le m,0 \le k_{\max} \le n ) — LCM 的值和最优子序列中的元素数量。

第二行打印 kmax⁡ k_{\max} 个整数 — 按升序排序输出元素。

请注意,您可以找到并打印任何具有最大长度的子序列。

输入输出样例 #1

输入 #1

7 8
6 2 9 2 7 2 3

输出 #1

6 5
1 2 4 6 7

输入输出样例 #2

输入 #2

6 4
2 2 2 3 3 3

输出 #2

2 3
1 2 3