# your code goes hereimport math
def find(u, par):
if par[u] != u:
par[u] = find(par[u], par)
return par[u]
def union(u, v, par, size):
u_root = find(u, par)
v_root = find(v, par)
if u_root == v_root:
return
if size[u_root] < size[v_root]:
par[u_root] = v_root
size[v_root] += size[u_root]
else:
par[v_root] = u_root
size[u_root] += size[v_root]
def ip():
return map(int,input().split())
T=1
T=int(input())
for __ in range(T):
# n=int(input())
n,x=ip()
lst=list(ip())
if lst.count(x)==n:
print(0)
continue
if lst.count(x)>0:
print(1)
continue
elif sum(lst)-n*(x)==0:
print(1)
continue
print(2)
IyB5b3VyIGNvZGUgZ29lcyBoZXJlaW1wb3J0IG1hdGgKZGVmIGZpbmQodSwgcGFyKToKICAKICAgIGlmIHBhclt1XSAhPSB1OgogICAgICAgIHBhclt1XSA9IGZpbmQocGFyW3VdLCBwYXIpCiAgICByZXR1cm4gcGFyW3VdCgpkZWYgdW5pb24odSwgdiwgcGFyLCBzaXplKToKICAgIHVfcm9vdCA9IGZpbmQodSwgcGFyKQogICAgdl9yb290ID0gZmluZCh2LCBwYXIpCgogICAgaWYgdV9yb290ID09IHZfcm9vdDoKICAgICAgICByZXR1cm4gCgoKICAgIGlmIHNpemVbdV9yb290XSA8IHNpemVbdl9yb290XToKICAgICAgICBwYXJbdV9yb290XSA9IHZfcm9vdAogICAgICAgIHNpemVbdl9yb290XSArPSBzaXplW3Vfcm9vdF0KICAgIGVsc2U6CiAgICAgICAgcGFyW3Zfcm9vdF0gPSB1X3Jvb3QKICAgICAgICBzaXplW3Vfcm9vdF0gKz0gc2l6ZVt2X3Jvb3RdCgpkZWYgaXAoKToKICAgIHJldHVybiBtYXAoaW50LGlucHV0KCkuc3BsaXQoKSkKCgoKClQ9MQpUPWludChpbnB1dCgpKQpmb3IgX18gaW4gcmFuZ2UoVCk6CiAgICAjIG49aW50KGlucHV0KCkpCiAgICBuLHg9aXAoKQogICAgbHN0PWxpc3QoaXAoKSkKCiAgICBpZiBsc3QuY291bnQoeCk9PW46CiAgICAgICAgcHJpbnQoMCkKICAgICAgICBjb250aW51ZQogICAgCiAgICBpZiBsc3QuY291bnQoeCk+MDoKICAgICAgICBwcmludCgxKQogICAgICAgIGNvbnRpbnVlCiAgICAgICAgCiAgICBlbGlmIHN1bShsc3QpLW4qKHgpPT0wOgogICAgICAgIHByaW50KDEpCiAgICAgICAgY29udGludWUKCiAgICBwcmludCgyKQo=