N,M,L=map(int,input().split()) result=0 mod=998244353 G=[[] for i in range(M)] v=[[0]*L for i in range(M)] for i in range(N): a,b=map(int,input().split()) b-=M v[a-1][b-1]+=1 h=[1]*(N+1) for i in range(1,N+1): h[i]=h[i-1]*2 h[i]%=mod for bit in range(1,2**L): ans=1 for i in range(M): count=0 for y in range(L): if (bit>>y)&1: count+=v[i][y] ans*=h[count]-1 ans%=mod c=0 for k in range(L): if (bit>>k)&1: c+=1 if (L-c)%2==0: result+=ans else: result-=ans result%=mod print(result)