class Two_SAT: """2-SATを定義する. """ #※ i:変数 i が Trueの頂点, i+N:変数 i がFalseの頂点 #入力定義 def __init__(self,N): """N変数の2-SATを考える. """ self.N=N self.clause_number=0 self.adjacent_out=[set() for k in range(2*N)] #出近傍(vが始点) self.adjacent_in=[set() for k in range(2*N)] #入近傍(vが終点) #節の追加 def add_clause(self,X,F,Y,G): """(X=F) or (Y=G) という節を加える. X,Y:変数の名前 F,G:真偽値(True or False) """ assert 0<=XGroup[i+N]: T[i]=1 elif Group[i]==Group[i+N]: return None return T #================================================ N,M=map(int,input().split()) L =[0]*N;R =[0]*N IL=[0]*N;IR=[0]*N for i in range(N): L[i],R[i]=map(int,input().split()) IL[i],IR[i]=M-1-R[i],M-1-L[i] T=Two_SAT(N) for i in range(N): for j in range(i+1,N): if not(R[i]