#include <iostream>
#include <fstream>
#include <iomanip>
#include <cstdlib>
#define R 12 
#define C 7
using namespace std ;

void displayLine ()
{
	for (int i = 0 ; i < 52 ; i ++)
	{
		cout << "-" ;
	}
	cout << endl ;
}

int findIndWinner ( int totalSP[] )
{
	int high = totalSP[0] , num ;
	
	for (int i = 0 ; i < R ; i ++)
	{
		if ( totalSP[i] > high )
		{
		high = totalSP [i] ;
		num = i ;
		}
			
	}
	
	return num ;
}

int findTeamWinner ( int totalT[] )
{
	int high = totalT[0] , num ;
	
	for (int i = 0 ; i < 3 ; i ++)
	{
		if ( totalT[i] > high )
		{
		high = totalT [i] ;
		num = i ;
		}
			
	}
	
	return num ;
}
int main ()
{
	int marks[12][7] , totalSP [12] , totalT [3] ;
	
	ifstream inp ("input2.txt") ;
	
	if (!inp)
	{
	cout << "Sorry, input file does not exist!" << endl ;
	exit (0) ;
	}
	
	//assign array into marks[12][7] //
	
	for (int i = 0 ; i < R ; i++)
	{
		for (int j = 0 ; j < C ; j ++)
		{
		inp >> marks [i][j] ;
		}
	}
	

	
	// find sum for individual and assign into totalSP array //
	int sumInd ;
	
	for (int i = 0 ; i < R ; i ++)
	{
		sumInd = 0 ;
		
		for (int j = 2 ; j < C ; j ++)
		{
			sumInd += marks [i][j] ;
		}
		totalSP [i] = sumInd ;

	}
	
	// find sum for team and assing into totalT array //
	int sumT = 0 ;
	
	for (int i = 0 ; i < R ; i ++)
	{
		
		for (int j = 2 ; j < C ; j ++)
		{
			sumT += marks [i][j] ;
		}
		
		if (i == 3)
		{
			totalT [0] = sumT ;
			sumT = 0 ;
		}
		else if (i == 7)
		{
			totalT [1] = sumT ;
			sumT = 0 ;
		}
		else if (i == 11)
		{
			totalT [2] = sumT ;
		}
		
		
	}
	
	displayLine () ;
	cout << "Id\tE1\tE2\tE3\tE4\tE5\tTotal" << endl ;

	
	for (int i = 0 ; i < R ; i ++)
	{
		if ( i == 4)
			cout << "TOTAL\t\t\t\t\t\t" << totalT [0] << endl;
		else if (i == 8)
			cout << "TOTAL\t\t\t\t\t\t" << totalT [1] << endl;
		
		if (i == 0 || i == 4 || i == 8)
		{
		displayLine () ;
		cout << "TEAM " << marks [i][0] << endl ;
		}
		
		
		
		for ( int j = 1 ; j < C ; j ++)
		{
		
			cout << marks [i][j] << "\t" ;
		}
		cout << totalSP [i] ;
		cout << endl ;
	}
	
	cout << "TOTAL\t\t\t\t\t\t" << totalT [2] << endl ;
	displayLine () ;
	
	int IndWinner = findIndWinner ( totalSP ) ;
	int TeamWinner = findTeamWinner ( totalT ) ;

	cout << "\nWinner for Individual Category : " << marks [IndWinner][1] << " ( Team " << marks [IndWinner][0] << " )" << endl ;
	cout << "Winner for Group Category : Team " << TeamWinner + 1 << " ( Score = " << totalT [TeamWinner] << " )" << endl ;
	inp.close () ;
	
	return 0 ;
}
