#include<stdio.h>
int main()
{
int i=0,j=0,n,s[1000]={0},a[1000]={0},asum;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&s[i]);
a[i]=100;//确定箱子的容量
}
for(i=0;i<n;i++)
for(j=0;j<n;j++){
if(a[j]-s[i]>=0){
a[j]-=s[i];//每一轮内层的循环都从0开始走也就是说我们每次都从第一个箱子判断剩余的空间能不能装得下对应的s[i]
printf("%d %d\n",s[i],j+1);
if(asum<j+1)
asum=j+1;
break;//为了限制里面的循环从J做到n-1,我们这里用到break来结束if成立时的循环,如果if不成立,那么说明这个箱子装不下现在的s[i],我们就会让j++然后继续做里面这个循环
} //我们因为前面的箱子装不下而j++,所以要用到的箱子的数量也要增加
}
printf("%d\n",asum);//用到箱子的数量
return 0;
}