#include<stdio.h>
void merge(int [],int ,int ,int );
void partition(int [],int ,int );
int main()
{
int a[20];
int i,size;
//printf("Enter total no. of elements : ");
for(i=0; i<size; i++)
{
}
partition(a,0,size-1);
for(i=0; i<size; i++)
return 0;
}
void partition(int a[],int min,int max)
{
int mid;
if(min<max)
{
mid=(min+max)/2;
partition(a,min,mid);
partition(a,mid+1,max);
merge(a,min,mid,max);
}
}
void merge(int a[],int min,int mid,int max)
{
int temp[20];
int i,j,k,m;
j=min;
m=mid+1;
for(i=min; j<=mid && m<=max ; i++)
{
if(a[j]<=a[m])
{
temp[i]=a[j];
j++;
}
else
{
temp[i]=a[m];
m++;
}
}
if(j>mid)
{
for(k=m; k<=max; k++)
{
temp[i]=a[k];
i++;
}
}
else
{
for(k=j; k<=mid; k++)
{
temp[i]=a[k];
i++;
}
}
for(k=min; k<=max; k++)
a[k]=temp[k];
}
I2luY2x1ZGU8c3RkaW8uaD4Kdm9pZCBtZXJnZShpbnQgW10saW50ICxpbnQgLGludCApOwp2b2lkIHBhcnRpdGlvbihpbnQgW10saW50ICxpbnQgKTsKaW50IG1haW4oKQp7CiBpbnQgYVsyMF07CiBpbnQgaSxzaXplOwogcHJpbnRmKCJVbnNvcnRlZCBMaXN0Olx0Iik7CiAvL3ByaW50ZigiRW50ZXIgdG90YWwgbm8uIG9mIGVsZW1lbnRzIDogIik7CiBzY2FuZigiJWQiLCZzaXplKTsKIGZvcihpPTA7IGk8c2l6ZTsgaSsrKQogewogICBzY2FuZigiJWQiLCZhW2ldKTsKICAgcHJpbnRmKCIlZFx0IixhW2ldKTsKIH0KIHByaW50ZigiXG4iKTsKIHBhcnRpdGlvbihhLDAsc2l6ZS0xKTsKIHByaW50ZigiU29ydGVkIExpc3QgIDpcdCIpOwogZm9yKGk9MDsgaTxzaXplOyBpKyspCiBwcmludGYoIiVkIFx0IixhW2ldKTsKIHJldHVybiAwOwp9CnZvaWQgcGFydGl0aW9uKGludCBhW10saW50IG1pbixpbnQgbWF4KQp7CiBpbnQgbWlkOwogaWYobWluPG1heCkKIHsKICAgbWlkPShtaW4rbWF4KS8yOwogICBwYXJ0aXRpb24oYSxtaW4sbWlkKTsKICAgcGFydGl0aW9uKGEsbWlkKzEsbWF4KTsKICAgbWVyZ2UoYSxtaW4sbWlkLG1heCk7CiB9Cn0Kdm9pZCBtZXJnZShpbnQgYVtdLGludCBtaW4saW50IG1pZCxpbnQgbWF4KQp7CiAgaW50IHRlbXBbMjBdOwogIGludCBpLGosayxtOyAKICBqPW1pbjsKICBtPW1pZCsxOwogIGZvcihpPW1pbjsgajw9bWlkICYmIG08PW1heCA7IGkrKykKICB7CiAgICAgaWYoYVtqXTw9YVttXSkKICAgICB7CiAgICAgICAgdGVtcFtpXT1hW2pdOwogICAgICAJaisrOwogICAgIH0KICAgICBlbHNlCiAgICAgewogICAgICAgICB0ZW1wW2ldPWFbbV07CiAgICAgICAgIG0rKzsKICAgICB9CiAgfQogIGlmKGo+bWlkKQogIHsKICAgICBmb3Ioaz1tOyBrPD1tYXg7IGsrKykKICAgICB7CiAgICAgICAgIHRlbXBbaV09YVtrXTsKICAgICAgICAgaSsrOwogICAgIH0KICB9CiAgZWxzZQogIHsKICAgICBmb3Ioaz1qOyBrPD1taWQ7IGsrKykKICAgICB7CiAgICAgICAgdGVtcFtpXT1hW2tdOwogICAgICAgIGkrKzsKICAgICB9CiAgfQogIGZvcihrPW1pbjsgazw9bWF4OyBrKyspCiAgICAgYVtrXT10ZW1wW2tdOwp9Cgo=