#include <iostream>
using namespace std;
void merge(int a[], int l, int m, int r){
int n1=m-l+1;
int n2=r-m;
int L[n1],R[n2];
for(int i=0;i<n1;i++){
L[i]=a[l+i];
}
for(int i=0;i<n1;i++){
R[i]=a[m+i+1];
}
int i=0,k=l,j=0;
while(i<n1 && j<n2){
if(L[i]<R[j]){
a[k]=L[i];
i++;
}
else{
a[i]=R[j];
j++;
}
k++;
}
while(i<n1){
a[k]=L[i];
k++;
i++;
}
while(j<n2){
a[k]=R[j];
k++; j++;
}
}
void mergeSort(int a[], int l, int r){
int m=(l+r)/2;
if(l<m)
mergeSort(a,l,m);
if(m+1<r)
mergeSort(a,m+1,r);
merge(a,l,m,r);
}
int main(){
int n;
cin>>n;
int a[n];
for(int i=0;i<n;i++){
cin>>a[i];
}
mergeSort(a,l,r);
for(int i=0;i<n;i++){
cout<<a[i]<<' ';
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp2b2lkIG1lcmdlKGludCBhW10sIGludCBsLCBpbnQgbSwgaW50IHIpewoJaW50IG4xPW0tbCsxOwoJaW50IG4yPXItbTsKCWludCBMW24xXSxSW24yXTsKCWZvcihpbnQgaT0wO2k8bjE7aSsrKXsKCQlMW2ldPWFbbCtpXTsKCX0KCWZvcihpbnQgaT0wO2k8bjE7aSsrKXsKCQlSW2ldPWFbbStpKzFdOwoJfQoJaW50IGk9MCxrPWwsaj0wOwoJd2hpbGUoaTxuMSAmJiBqPG4yKXsKCQlpZihMW2ldPFJbal0pewoJCQlhW2tdPUxbaV07CgkJCWkrKzsKCQl9CgkJZWxzZXsKCQkJYVtpXT1SW2pdOwoJCQlqKys7CgkJfQoJCWsrKzsKCX0KCXdoaWxlKGk8bjEpewoJCWFba109TFtpXTsKCQlrKys7CgkJaSsrOwoJfQoJd2hpbGUoajxuMil7CgkJYVtrXT1SW2pdOwoJCWsrKzsgaisrOwoJfQp9CnZvaWQgbWVyZ2VTb3J0KGludCBhW10sIGludCBsLCBpbnQgcil7CglpbnQgbT0obCtyKS8yOwoJaWYobDxtKQoJCW1lcmdlU29ydChhLGwsbSk7CglpZihtKzE8cikKCQltZXJnZVNvcnQoYSxtKzEscik7CgltZXJnZShhLGwsbSxyKTsJCn0KaW50IG1haW4oKXsKCWludCBuOwoJY2luPj5uOwoJaW50IGFbbl07Cglmb3IoaW50IGk9MDtpPG47aSsrKXsKCQljaW4+PmFbaV07Cgl9CgltZXJnZVNvcnQoYSxsLHIpOwoJZm9yKGludCBpPTA7aTxuO2krKyl7CgkJY291dDw8YVtpXTw8JyAnOwoJfQoJcmV0dXJuIDA7Cn0=
prog.cpp:50:14: error: use of undeclared identifier 'l'
mergeSort(a,l,r);
^
prog.cpp:50:16: error: use of undeclared identifier 'r'
mergeSort(a,l,r);
^
2 errors generated.