#include #include #include #define get(p,n) ((p[(n)>>5]>>((n)&0x1F))&0x01) void qsort8(int *a,int n){ if(n<8) return; int p=rand()%n; int pivot=a[p]; a[p]=a[0]; int l=1; int r=n-1; while(l<=r){ if(pivot>=a[l]){ a[l-1]=a[l]; l++; } else { int swap=a[r]; a[r]=a[l]; a[l]=swap; r--; } } a[r]=pivot; qsort8(a,r); qsort8(a,n-r-1); return; } void qqsort(int *a,int n){ srand((unsigned)time(NULL)); int i,j; for(i=1;i=0 && a[j]>p){ a[j+1]=a[j]; j--; } a[j+1]=p; } return; } void run(void){ int l,m,n; scanf("%d%d%d",&l,&m,&n); unsigned int *a=(unsigned int *)calloc(100000,sizeof(int)); int i; for(i=0;i>5]|=(1<<(p&0x1F)); } int *b=(int *)malloc(sizeof(int)*m); for(i=0;i