#include <iostream>
#include <vector>
// 思路:三种情况
// 1、所有等级都为k,不需要比赛都可以全部感染
// 2、所有等级和为k的倍数,或者一开始就存在至少一个与k相同的等级,比赛一次即可
// 3、否则,比赛两次即可
int main() {
int t;
std::cin >> t;
while (t--) {
int n, k;
std::cin >> n >> k;
int cnt = 0, sum = 0;
for (int i = 0; i < n; ++i) {
int cur;
std::cin >> cur;
if (cur == k) cnt++;
sum += cur;
}
if (cnt == n) {
std::cout << 0 << std::endl;
}
else if (sum == k * n || cnt > 0) {
std::cout << 1 << std::endl;
}
else {
std::cout << 2 << std::endl;
}
}
return 0;
}
CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPHZlY3Rvcj4KIAovLyDmgJ3ot6/vvJrkuInnp43mg4XlhrUKLy8gIDHjgIHmiYDmnInnrYnnuqfpg73kuLpr77yM5LiN6ZyA6KaB5q+U6LWb6YO95Y+v5Lul5YWo6YOo5oSf5p+TCi8vICAy44CB5omA5pyJ562J57qn5ZKM5Li6a+eahOWAjeaVsO+8jOaIluiAheS4gOW8gOWni+WwseWtmOWcqOiHs+WwkeS4gOS4quS4jmvnm7jlkIznmoTnrYnnuqfvvIzmr5TotZvkuIDmrKHljbPlj68KLy8gIDPjgIHlkKbliJnvvIzmr5TotZvkuKTmrKHljbPlj68KaW50IG1haW4oKSB7CiAgICBpbnQgdDsKICAgIHN0ZDo6Y2luID4+IHQ7CiAgICB3aGlsZSAodC0tKSB7CiAgICAgICAgaW50IG4sIGs7CiAgICAgICAgc3RkOjpjaW4gPj4gbiA+PiBrOwogICAgICAgIGludCBjbnQgPSAwLCBzdW0gPSAwOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgICAgIGludCBjdXI7CiAgICAgICAgICAgIHN0ZDo6Y2luID4+IGN1cjsKICAgICAgICAgICAgaWYgKGN1ciA9PSBrKSBjbnQrKzsKICAgICAgICAgICAgc3VtICs9IGN1cjsKICAgICAgICB9CiAgICAgICAgaWYgKGNudCA9PSBuKSB7CiAgICAgICAgICAgIHN0ZDo6Y291dCA8PCAwIDw8IHN0ZDo6ZW5kbDsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiAoc3VtID09IGsgKiBuIHx8IGNudCA+IDApIHsKICAgICAgICAgICAgc3RkOjpjb3V0IDw8IDEgPDwgc3RkOjplbmRsOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgc3RkOjpjb3V0IDw8IDIgPDwgc3RkOjplbmRsOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAwOwp9