#include <bits/stdc++.h>   using namespace std;   map<string, int> Score1;   map<string, int> Score2;   map<string, int> Score3;   double factor = 2;   void prepare() {     Score1[ the ] = 250;     Score1[ to ] = 200;     Score1[ of ] = 150;     Score1[ after ] = 100;     Score1[ he ] = 100;     Score1[ in ] = 100;     Score1[ on ] = 100;     Score1[ public ] = 100;     Score1[ said ] = 100;     Score1[ spending ] = 100;     Score1[ spokesman ] = 100;     Score1[ their ] = 100;     Score1[ a ] = 50;     Score1[ agreement ] = 50;     Score1[ alladurdiscussed ] = 50;     Score1[ an ] = 50;     Score1[ and ] = 50;     Score1[ arch ] = 50;     Score1[ areasury ] = 50;     Score1[ aris ] = 50;     Score1[ arisen ] = 50;     Score1[ awson ] = 50;     Score1[ by ] = 50;     Score1[ comment ] = 50;     Score1[ concertedaction ] = 50;     Score1[ control ] = 50;     Score1[ currencies ] = 50;     Score1[ declined ] = 50;     Score1[ dollar ] = 50;     Score1[ domestic ] = 50;     Score1[ douard ] = 50;     Score1[ e ] = 50;     Score1[ earlier ] = 50;     Score1[ ebruary ] = 50;     Score1[ economiesand ] = 50;     Score1[ had ] = 50;     Score1[ hancellor ] = 50;     Score1[ heretoday ] = 50;     Score1[ igel ] = 50;     Score1[ inance ] = 50;     Score1[ industrialisednations ] = 50;     Score1[ inister ] = 50;     Score1[ major ] = 50;     Score1[ ministers ] = 50;     Score1[ month ] = 50;     Score1[ need ] = 50;     Score1[ ommunitywide ] = 50;     Score1[ relativestability ] = 50;     Score1[ rench ] = 50;     Score1[ reviewed ] = 50;     Score1[ ritish ] = 50;     Score1[ sharply ] = 50;     Score1[ shore ] = 50;     Score1[ six ] = 50;     Score1[ stabilise ] = 50;     Score1[ subject ] = 50;     Score1[ talks ] = 50;     Score1[ this ] = 50;     Score1[ up ] = 50;     Score1[ uropean ] = 50;     Score1[ urrencydipped ] = 50;     Score1[ week ] = 50;     Score1[ whether ] = 50;     Score1[ with ] = 50;     Score1[ xchequer ] = 50;     Score2[ in ] = 300;     Score2[ pct ] = 250;     Score2[ billion ] = 150;     Score2[ ecember ] = 150;     Score2[ rose ] = 150;     Score2[ with ] = 150;     Score2[ a ] = 100;     Score2[ and ] = 100;     Score2[ compared ] = 100;     Score2[ deposits ] = 100;     Score2[ said ] = 100;     Score2[ the ] = 100;     Score2[ ank ] = 50;     Score2[ anuary ] = 50;     Score2[ anuarycompared ] = 50;     Score2[ arise ] = 50;     Score2[ bank ] = 50;     Score2[ deposit ] = 50;     Score2[ ealands ] = 50;     Score2[ earonyear ] = 50;     Score2[ eb ] = 50;     Score2[ eserve ] = 50;     Score2[ ew ] = 50;     Score2[ growth ] = 50;     Score2[ inanuary ] = 50;     Score2[ increase ] = 50;     Score2[ it ] = 50;     Score2[ its ] = 50;     Score2[ lrs ] = 50;     Score2[ of ] = 50;     Score2[ otal ] = 50;     Score2[ period ] = 50;     Score2[ release ] = 50;     Score2[ rise ] = 50;     Score2[ seasonallyadjusted ] = 50;     Score2[ statistical ] = 50;     Score2[ to ] = 50;     Score2[ total ] = 50;     Score2[ trading ] = 50;     Score2[ weekly ] = 50;     Score2[ year ] = 50;     Score2[ yearago ] = 50;     Score3[ the ] = 650;     Score3[ to ] = 450;     Score3[ and ] = 300;     Score3[ on ] = 300;     Score3[ apanese ] = 250;     Score3[ market ] = 250;     Score3[ officials ] = 200;     Score3[ that ] = 200;     Score3[ apan ] = 150;     Score3[ he ] = 150;     Score3[ in ] = 150;     Score3[ nited ] = 150;     Score3[ said ] = 150;     Score3[ semiconductor ] = 150;     Score3[ tates ] = 150;     Score3[ trade ] = 150;     Score3[ a ] = 100;     Score3[ agreed ] = 100;     Score3[ all ] = 100;     Score3[ be ] = 100;     Score3[ but ] = 100;     Score3[ called ] = 100;     Score3[ closed ] = 100;     Score3[ continued ] = 100;     Score3[ countries ] = 100;     Score3[ eagan ] = 100;     Score3[ hasremained ] = 100;     Score3[ have ] = 100;     Score3[ it ] = 100;     Score3[ its ] = 100;     Score3[ last ] = 100;     Score3[ made ] = 100;     Score3[ merican ] = 100;     Score3[ n ] = 100;     Score3[ recommendation ] = 100;     Score3[ semiconductors ] = 100;     Score3[ summer ] = 100;     Score3[ them ] = 100;     Score3[ they ] = 100;     Score3[ third ] = 100;     Score3[ todump ] = 100;     Score3[ was ] = 100;     Score3[ would ] = 100;     Score3[ act ] = 50;     Score3[ against ] = 50;     Score3[ alleged ] = 50;     Score3[ also ] = 50;     Score3[ andother ] = 50;     Score3[ apaneseexports ] = 50;     Score3[ arch ] = 50;     Score3[ at ] = 50;     Score3[ before ] = 50;     Score3[ bothhard ] = 50;     Score3[ butthe ] = 50;     Score3[ by ] = 50;     Score3[ callfor ] = 50;     Score3[ chief ] = 50;     Score3[ conomic ] = 50;     Score3[ cost ] = 50;     Score3[ council ] = 50;     Score3[ councils ] = 50;     Score3[ curbs ] = 50;     Score3[ days ] = 50;     Score3[ disclose ] = 50;     Score3[ dumpingits ] = 50;     Score3[ dumpingsemiconductors ] = 50;     Score3[ duties ] = 50;     Score3[ eaganwould ] = 50;     Score3[ earlier ] = 50;     Score3[ enate ] = 50;     Score3[ etaliation ] = 50;     Score3[ exports ] = 50;     Score3[ for ] = 50;     Score3[ forby ] = 50;     Score3[ has ] = 50;     Score3[ hey ] = 50;     Score3[ his ] = 50;     Score3[ hit ] = 50;     Score3[ hite ] = 50;     Score3[ hold ] = 50;     Score3[ imposed ] = 50;     Score3[ imposepenalities ] = 50;     Score3[ imposingantidumping ] = 50;     Score3[ industry ] = 50;     Score3[ insemiconductor ] = 50;     Score3[ less ] = 50;     Score3[ likely ] = 50;     Score3[ might ] = 50;     Score3[ moves ] = 50;     Score3[ nations ] = 50;     Score3[ not ] = 50;     Score3[ olicyouncil ] = 50;     Score3[ open ] = 50;     Score3[ ouse ] = 50;     Score3[ own ] = 50;     Score3[ pact ] = 50;     Score3[ practices ] = 50;     Score3[ products ] = 50;     Score3[ public ] = 50;     Score3[ resident ] = 50;     Score3[ retaliation ] = 50;     Score3[ return ] = 50;     Score3[ say ] = 50;     Score3[ semiconductorssemiconductors ] = 50;     Score3[ several ] = 50;     Score3[ shipments ] = 50;     Score3[ stop ] = 50;     Score3[ stopped ] = 50;     Score3[ than ] = 50;     Score3[ toretaliate ] = 50;     Score3[ unanimously ] = 50;     Score3[ unfair ] = 50;     Score3[ union ] = 50;     Score3[ up ] = 50;     Score3[ urge ] = 50;     Score3[ week ] = 50;     Score3[ whether ] = 50;     Score3[ while ] = 50;   }   string onlyLower(string s) {     string ret;     for (int i = 0; i < (int)s.length(); i++)       if ( a  <= s[i] && s[i] <=  z ) ret += s[i];     return ret;   }   int MAIN() {     prepare();     string s;     double s1 = 0, s2 = 0, s3 = 0;     while (cin >> s) {       s = onlyLower(s);       if (s.length() <= 3) continue;       if (Score1.count(s)) s1 += Score1[s];       if (Score2.count(s)) s2 += Score2[s];       if (Score3.count(s)) s3 += Score3[s];       if (Score1.count(s) && !Score2.count(s) && !Score3.count(s))         s1 += Score1[s] * factor;       if (!Score1.count(s) && Score2.count(s) && !Score3.count(s))         s2 += Score2[s] * factor;       if (!Score1.count(s) && !Score2.count(s) && Score3.count(s))         s3 += Score3[s] * factor;     }     s1 /= 5150.0;     s2 /= 4650.0;     s3 /= 12000.0;     double maxScore = max(max(s1, s2), s3);     if (s1 == maxScore)       cout << 1 << endl;     else if (s2 == maxScore)       cout << 2 << endl;     else if (s3 == maxScore)       cout << 3 << endl;     return 0;   }   int main() {     ios ::sync_with_stdio(false);     cout << fixed << setprecision(16);     int RUN_RESULT = MAIN();     return RUN_RESULT;   }