#include<bits/stdc++.h>
using namespace std;
int l,m,n,o,p,q,sum,ss;
unsigned s;
struct stu{
	int yw,sx,yy,ls,zz,dl,wl,sw,hx,mark,zmark,fmaxk;
}a[100001],b[100001];
bool wenlisort(stu a,stu b){
	if(a.mark!=b.mark)return a.mark>b.mark;
	    else{
	    	if(a.zmark!=b.zmark)return a.zmark>b.zmark;
		}
}
unsigned myrand(){
	s=((s*1250+time(0)+max((int)s,12345789)-min((int)s,(int)(s*4-9878452)/2)*time(0)/2%INT_MAX-985)/211);//数值可修改
	return s;
}
void lizd(){
	cout<<"几人选历政地?";
	cin>>l;
	if(l>0){
	    for(int i=1;i<=l;i++){
		    a[i].wl=a[i].sw=a[i].hx=0;
		    a[i].yw=myrand()%151;
		    a[i].sx=myrand()%151;
		    a[i].yy=myrand()%151;
		    a[i].ls=myrand()%101;
		    a[i].zz=myrand()%101;
		    a[i].dl=myrand()%101;
		    a[i].zmark=a[i].yw+a[i].sx+a[i].yy;
		    a[i].fmaxk=a[i].ls+a[i].zz+a[i].dl+a[i].wl+a[i].sw+a[i].hx;
		    a[i].mark=a[i].fmaxk+a[i].zmark; 
	    }
	}
}
void lizh(){
	cout<<"几人选历政化?";
	cin>>m;
	if(m>0){
	    for(int i=l+1;i<=l+m;i++){
		    a[i].wl=a[i].sw=a[i].dl=0;
		    a[i].yw=myrand()%151;
		    a[i].sx=myrand()%151;
		    a[i].yy=myrand()%151;
		    a[i].ls=myrand()%101;
		    a[i].zz=myrand()%101;
		    a[i].hx=myrand()%101;
		    a[i].zmark=a[i].yw+a[i].sx+a[i].yy;
		    a[i].fmaxk=a[i].ls+a[i].zz+a[i].dl+a[i].wl+a[i].sw+a[i].hx;
		    a[i].mark=a[i].fmaxk+a[i].zmark; 
	    }
	}
}
void lizs(){
	cout<<"几人选历政生?";
	cin>>n;
	if(n>0){
	    for(int i=l+m+1;i<=l+m+n;i++){
		    a[i].wl=a[i].dl=a[i].hx=0;
		    a[i].yw=myrand()%151;
		    a[i].sx=myrand()%151;
		    a[i].yy=myrand()%151;
		    a[i].ls=myrand()%101;
		    a[i].zz=myrand()%101;
		    a[i].sw=myrand()%101;
		    a[i].zmark=a[i].yw+a[i].sx+a[i].yy;
		    a[i].fmaxk=a[i].ls+a[i].zz+a[i].dl+a[i].wl+a[i].sw+a[i].hx;
		    a[i].mark=a[i].fmaxk+a[i].zmark;
		} 
	}
}
void lihs(){
	cout<<"几人选历化生?";
	cin>>o;
	if(o>0){
		for(int i=l+m+n+1;i<=l+m+n+o;i++){
		    a[i].wl=a[i].zz=a[i].dl=0;
		    a[i].yw=myrand()%151;
		    a[i].sx=myrand()%151;
		    a[i].yy=myrand()%151;
		    a[i].ls=myrand()%101;
		    a[i].sw=myrand()%101;
		    a[i].hx=myrand()%101;
		    a[i].zmark=a[i].yw+a[i].sx+a[i].yy;
		    a[i].fmaxk=a[i].ls+a[i].zz+a[i].dl+a[i].wl+a[i].sw+a[i].hx;
		    a[i].mark=a[i].fmaxk+a[i].zmark;
		} 
	}
}
void lidh(){
	cout<<"几人选历地化?";
	cin>>p;
	if(p>0){
	    for(int i=l+m+n+o+1;i<=l+m+n+o+p;i++){
		    a[i].wl=a[i].sw=a[i].zz=0;
		    a[i].yw=myrand()%151;
		    a[i].sx=myrand()%151;
		    a[i].yy=myrand()%151;
		    a[i].ls=myrand()%101;
		    a[i].hx=myrand()%101;
		    a[i].dl=myrand()%101;
		    a[i].zmark=a[i].yw+a[i].sx+a[i].yy;
		    a[i].fmaxk=a[i].ls+a[i].zz+a[i].dl+a[i].wl+a[i].sw+a[i].hx;
		    a[i].mark=a[i].fmaxk+a[i].zmark; 
		}
	}
}
void lids(){
	cout<<"几人选历地生?";
	cin>>q;
	if(q>0){
	    for(int i=l+m+n+o+p+1;i<=sum;i++){
		    a[i].wl=a[i].zz=a[i].hx=0;
		    a[i].yw=myrand()%151;
		    a[i].sx=myrand()%151;
		    a[i].yy=myrand()%151;
		    a[i].ls=myrand()%101;
		    a[i].sw=myrand()%101;
		    a[i].dl=myrand()%101;
		    a[i].zmark=a[i].yw+a[i].sx+a[i].yy;
		    a[i].fmaxk=a[i].ls+a[i].zz+a[i].dl+a[i].wl+a[i].sw+a[i].hx;
		    a[i].mark=a[i].fmaxk+a[i].zmark; 
		}
	}
}
void wen(){
	cout<<"几人选择文科?";
	cin>>sum;
	lizd();
	lizh();
	lizs();
	lihs();
	lidh();
	lids();
	sort(a+1,a+sum+1,wenlisort);
	cout<<"   排名  语文    数学    英语    历史     政治   地理     化学   生物   总分\n";
	for(int i=1;i<=sum;i++)cout<<setw(4)<<i<<setw(8)<<a[i].yw<<setw(8)<<a[i].sx<<setw(8)<<a[i].yy<<setw(8)<<a[i].ls<<setw(8)<<a[i].zz<<setw(8)<<a[i].dl<<setw(8)<<a[i].hx<<setw(8)<<a[i].sw<<setw(8)<<a[i].mark<<endl;
}
void wuzd(){
	cout<<"几人选物政地?";
	cin>>l;
	if(l>0){
	    for(int i=1;i<=l;i++){
		    b[i].ls=b[i].sw=b[i].hx=0;
		    b[i].yw=myrand()%151;
		    b[i].sx=myrand()%151;
		    b[i].yy=myrand()%151;
		    b[i].wl=myrand()%101;
		    b[i].zz=myrand()%101;
		    b[i].dl=myrand()%101;
		    b[i].zmark=b[i].yw+b[i].sx+b[i].yy;
		    b[i].fmaxk=b[i].ls+b[i].zz+b[i].dl+b[i].wl+b[i].sw+b[i].hx;
		    b[i].mark=b[i].fmaxk+a[i].zmark;
		} 
	}
}
void wuzh(){
	cout<<"几人选物政化?";
	cin>>m;
	if(m>0){
	    for(int i=l+1;i<=l+m;i++){
		    b[i].ls=b[i].sw=b[i].dl=0;
		    b[i].yw=myrand()%151;
		    b[i].sx=myrand()%151;
		    b[i].yy=myrand()%151;
		    b[i].wl=myrand()%101;
		    b[i].zz=myrand()%101;
		    b[i].hx=myrand()%101;
		    b[i].zmark=b[i].yw+b[i].sx+b[i].yy;
		    b[i].fmaxk=b[i].ls+b[i].zz+b[i].dl+b[i].wl+b[i].sw+b[i].hx;
		    b[i].mark=b[i].fmaxk+b[i].zmark; 
		}
	}
}
void wuzs(){
	cout<<"几人选物政生?";
	cin>>n;
	if(n>0){
	    for(int i=l+m+1;i<=l+m+n;i++){
		    b[i].ls=b[i].dl=b[i].hx=0;
		    b[i].yw=myrand()%151;
		    b[i].sx=myrand()%151;
		    b[i].yy=myrand()%151;
		    b[i].wl=myrand()%101;
		    b[i].zz=myrand()%101;
		    b[i].sw=myrand()%101;
		    b[i].zmark=b[i].yw+b[i].sx+b[i].yy;
		    b[i].fmaxk=b[i].ls+b[i].zz+b[i].dl+b[i].wl+b[i].sw+b[i].hx;
		    b[i].mark=b[i].fmaxk+b[i].zmark; 
		}
	}
}
void wuhs(){
	cout<<"几人选物化生?";
	cin>>o;
	if(o>0){
	    for(int i=l+m+n+1;i<=l+m+n+o;i++){
		    b[i].ls=b[i].zz=b[i].dl=0;
		    b[i].yw=myrand()%151;
		    b[i].sx=myrand()%151;
		    b[i].yy=myrand()%151;
		    b[i].wl=myrand()%101;
		    b[i].sw=myrand()%101;
		    b[i].hx=myrand()%101;
		    b[i].zmark=b[i].yw+b[i].sx+b[i].yy;
		    b[i].fmaxk=b[i].ls+b[i].zz+b[i].dl+b[i].wl+b[i].sw+b[i].hx;
		    b[i].mark=b[i].fmaxk+b[i].zmark; 
		}
	}
}
void wudh(){
	cout<<"几人选物地化?";
	cin>>p;
	for(int i=l+m+n+o+1;i<=l+m+n+o+p;i++){
		b[i].ls=b[i].sw=b[i].zz=0;
		b[i].yw=myrand()%151;
		b[i].sx=myrand()%151;
		b[i].yy=myrand()%151;
		b[i].wl=myrand()%101;
		b[i].hx=myrand()%101;
		b[i].dl=myrand()%101;
		b[i].zmark=b[i].yw+b[i].sx+b[i].yy;
		b[i].fmaxk=b[i].ls+b[i].zz+b[i].dl+b[i].wl+b[i].sw+b[i].hx;
		b[i].mark=b[i].fmaxk+b[i].zmark; 
	}
}
void wuds(){
	cout<<"几人选物地生?";
	cin>>q;
	if(q>0){
	    for(int i=l+m+n+o+p+1;i<=sum;i++){
		    b[i].ls=b[i].zz=b[i].hx=0;
		    b[i].yw=myrand()%151;
		    b[i].sx=myrand()%151;
		    b[i].yy=myrand()%151;
		    b[i].wl=myrand()%101;
		    b[i].sw=myrand()%101;
		    b[i].dl=myrand()%101;
		    b[i].zmark=b[i].yw+b[i].sx+b[i].yy;
		    b[i].fmaxk=b[i].ls+b[i].zz+b[i].dl+b[i].wl+b[i].sw+b[i].hx;
		    b[i].mark=b[i].fmaxk+b[i].zmark; 
		}
	}
}
void li(){
	cout<<"几人选择理科?";
	cin>>sum;
	wuzd();
	wuzh();
	wuzs();
	wuhs();
	wudh();
	wuds();
	sort(b+1,b+sum+1,wenlisort);
	cout<<"   排名  语文    数学    英语    物理     政治   地理     化学   生物   总分\n";
	for(int i=1;i<=sum;i++)cout<<setw(4)<<i<<setw(8)<<b[i].yw<<setw(8)<<b[i].sx<<setw(8)<<b[i].yy<<setw(8)<<b[i].wl<<setw(8)<<b[i].zz<<setw(8)<<b[i].dl<<setw(8)<<b[i].hx<<setw(8)<<b[i].sw<<setw(8)<<b[i].mark<<endl;
}
void wenli(){
	cout<<"几人参加高考?";
	cin>>ss;
	wen();
	li(); 
}
int main(){
    wenli();
}