//这题保证AC
#include<bits/stdc++.h>
using namespace std;
int n; //输入n与数组a
int a[110];
void f(int l,int r){ //定义void f,在括号内定义l,r。
if(l<r){
int mid=(l+r)/2; //取中间数
cout<<"[";
for(int i=l;i<=mid;i++){ //输出左边的
cout<<a[i]<<" ";
}
cout<<"],[";
for(int i=mid+1;i<=r;i++){ //输出右边的
cout<<a[i]<<" ";
}
cout<<"]"<<endl;
f(l,mid);
f(mid+1,r); //调用给f
}
}
int main(){
cin>>n; //输入n与a[i];
for(int i=1;i<=n;i++){
cin>>a[i];
}
f(1,n); //从1到n
return 0;
}
/*题目要求你递归地划分数组区间,
并在每一步输出。这个过程非常像归并排序中的“分”的过程,
而不是“治”的过程。
当前区间为 [𝑙𝑒𝑓𝑡,𝑟𝑖𝑔ℎ𝑡]
中间点 mid=(left+right)/2
左半部分为 [left,mid]
右半部分为 [mid+1,right]
*/