#P2023. 【美团】2025-3-15-生成树权值(二)

【美团】2025-3-15-生成树权值(二)

题目描述

AK机有一个nn个整数的数组[a1,a2,...,an][a_1,a_2,...,a_n]和一个整数kk,她想两两将这些数字连成一张图,规则为:

从数组中选取任意两个数字aia_iaj(ij)a_j (i\ne j),如果ai×x+aj×y=ka_i×x+a_j×y=k存在至少一组正整数解,则将这两个点相连,边权为该方程正整数解的组数;

连出的图可能由若干个连通块构成,AK机只关心那些点数最多的连通块,他想要知道,这些连通块能构成的全部生成树中,权值最小的那棵的权值是多少。

你只需输出这棵生成树的权值。

对于一张nn个节点的图,选择其中n1n-1条边,使得所有顶点联通,这些边一定会组成一棵树,即为这张图的一棵生成树。可以证明,图中存在至少一棵生成树。

输入描述

第一行输入两个整数n,k(1n103,1k109)n,k(1\le n\le 10^3,1\le k\le10^9) 代表AK机拥有的数字数量、方程的固定参数。

第二行输入nn个整数a1,a2,...,an(1ai106)a_1,a_2,...,a_n(1\le a_i\le 10^6)代表AK机的数字。

输出描述

在第一行上输出一个整数,代表在点数最多的连通块上,全部生成树中权值最小的那棵的权值。

样例1

输入

5 7
2 3 1 2 7

输出

4