def r
gets.split.map &:to_i
end
s=->a{c=[1]+[x=0]*M=1024
a.map{c[x^=_1]+=1}
t=[0]*M
(0...M).map{|i|(0...i).map{t[i^_1]+=c[i]*c[_1]}
t[0]+=c[i]*~-c[i]/2}
t}
*,k=r
x=s[r]
y=s[r]
p (0...M).sum{x[_1]*y[_1^k]}.%10**9+7