#include using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair P; #define fi first #define se second #define repl(i,a,b) for(ll i=(ll)(a);i<(ll)(b);i++) #define rep(i,n) repl(i,0,n) #define all(x) (x).begin(),(x).end() #define dbg(x) cout<<#x"="<y?x:y) #define mmin(x,y) (x bit; BIT(int size):n(size),bit(size+1,0){} ll sum(int i){ ll s=0; while(i>0){ s+=bit[i]; i-=i&-i; } return s; } void add(int i,ll v){ if(i==0)return ; while(i<=n){ bit[i]+=v; i+=i&-i; } } ll lower_bound(ll w){ if(w<=0)return 0; ll x=0,r=1; while(r0;k>>=1){ if(x+k<=n&&bit[x+k] idx; int main(){ cin>>M>>N; rep(i,M){ cin>>A[i]>>B[i]; if(A[i]>B[i])swap(A[i],B[i]); idx.push_back(i); } sort(all(idx),[=](const int& a,const int& b){ return B[a] < B[b]; }); ll res=0; BIT bit(N); rep(i,M){ ll l=A[idx[i]]; ll r=B[idx[i]]; res+=bit.sum(r+1)-bit.sum(l); bit.add(l+1,-1); bit.add(r+1,+1); } cout<