#include #include using namespace std; typedef struct { int n,a; }ball; int compare(const void *a, const void *b) { if(((ball *)a)->a > ((ball *)b)->a) return -1; return 1; } int main() { int n,m,i; unsigned long long int sn=0,sa=0; do{cin>>n;}while(!(n%2==0 && n>=1 && n<=100000)); do{cin>>m;}while(!(m>=0 && m<=100000)); ball v[100001]; for(i=1;i<=n;i++) { do{cin>>v[i].n;}while(!(v[i].n>=0 && v[i].n<=m)); do{cin>>v[i].a;}while(!(v[i].a>=0 && v[i].a+v[i].n===m)); } qsort(v+1,n,sizeof(ball),compare); for(i=1;i<=n/2;i++) sa+=v[i].a; for(i=n/2+1;i<=n;i++) sn+=v[i].n; cout<