void sort_merge(vector<int> &v,int left,int right)
{
if(left>=right) return;
int mid=(left+right)/2;
sort_merge(v,left,mid);
sort_merge(v,mid+1,right);
vector<int> vtmp;
int i=left,j=mid+1;
while(i<=mid&&j<=right)
{
if(v[i]<v[j])
vtmp.push_back(v[i++]);
else
vtmp.push_back(v[j++]);
}
while(i<=mid)
vtmp.push_back(v[i++]);
while(j<=right)
vtmp.push_back(v[j++]);
for(int m=left,k=0;m<=right;m++)
v[m]=vtmp[k++];
}