#include #include #include #include #include #include #include #include #include #include #include #include #include #pragma warning( disable: 4996 ) using namespace std; typedef unsigned long long ull; template inline T sqr(T a) { return a*a; } template inline int size(const T& c) { return (int)c.size(); } #define zero(a) memset( &a, 0, sizeof(a) ) #define TEST_CASE -1 #define DEBUG #define NAMESIZE 20 int N; vector C; vector V; int main( int argc, char *argv[] ) { FILE *fin = fopen("class.in", "r"); FILE *fout = fopen("class.out", "w"); char name[NAMESIZE]; int i, cnt; fscanf( fin, "%d\n", &N ); while ( fgets( name, NAMESIZE, fin ) ) { for ( i = 0; i < (int)strlen(name); i++ ) if ( ( name[i] == 10 ) || ( name[i] == 13 ) ) { name[i] = 0; break; } C.push_back( name ); } sort( C.begin(), C.end() ); string t = C[0]; cnt = 1; for ( i = 1; i < N; i++ ) if ( C[i] == t ) { cnt++; } else { V.push_back( cnt ); t = C[i]; cnt = 1; } V.push_back( cnt ); sort( V.begin(), V.end() ); fprintf( fout, "%d %d", V.back(), V[0] ); fclose( fin ); fclose( fout ); return 0; }