#include "grader.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define FOR(i,a,b) for(int i = (a); i <= (b); ++i)
const int MAX_LANG = 60;
const int MAX_HASH = 249989;
const int HASH_BASE = 65537;
int freq[MAX_LANG][4][MAX_HASH];
ll scoreLang[MAX_LANG];
int weight[5] = {0, 1, 3, 6, 9};
void excerpt(int *arr)
{
FOR(i,0,55) scoreLang[i] = 0;
FOR(start,0,96)
{
FOR(len,1,4)
{
ll hashVal = 0;
FOR(pos,start,start+len-1)
{
hashVal = (hashVal * HASH_BASE + arr[pos]) % MAX_HASH;
}
FOR(lang,0,55)
{
scoreLang[lang] += min(len/2, freq[lang][len-1][hashVal]) * weight[len];
}
}
}
int bestLang = 0;
FOR(i,0,55)
if(scoreLang[i] > scoreLang[bestLang])
bestLang = i;
int detected = language(bestLang);
FOR(start,0,96)
{
FOR(len,1,4)
{
ll hashVal = 0;
FOR(pos,start,start+len-1)
{
hashVal = (hashVal * HASH_BASE + arr[pos]) % MAX_HASH;
}
freq[detected][len-1][hashVal]++;
}
}
}