Go: package main

import (
	"fmt"
	"sort"
)

func main() {
	var max int

	numbers := map[int]int{}
	for {
		var a int
		_, err := fmt.Scan(&a)
		if err != nil {
			break
		}
		numbers[a]++
		if numbers[a] >= max {
			max = numbers[a]
		}
	}

	var modes []int
	for a, b := range numbers {
		if b == max {
			modes = append(modes, a)
		}
	}

	sort.Ints(modes)
	for _, mode := range modes {
		fmt.Println(mode)
	}
}

C++: #include <algorithm>
#include <bitset>
#include <cctype>
#include <cfloat>
#include <climits>
#include <cmath>
#include <complex>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <fstream>
#include <functional>
#include <iomanip>
#include <iostream>
#include <list>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <utility>
#include <vector>
#define FOR(x,a,b) for(int x=a;x<b;x++)
#define REP(x,b) for(int x=0;x<b;x++)
#define FORSIZE(x,A) for(int x=0;x<A.size();x++)
#define ITR(x,c) for(__typeof(c.begin()) x=c.begin();x!=c.end();x++)
#define SORT(x) sort(x.begin(),x.end())
#define RSORT(x) sort(x.rbegin(),x.rend())
#define rsort(x,n) sort(x, x+n, greater<int>())
#define REV(x) reverse(x.begin(),x.end())
using namespace std;
typedef long long ll;
inline int toInt(std::string s) {int v; std::istringstream sin(s);sin>>v;return v;}
template<class T> inline std::string toString(T x) {std::ostringstream sout;sout<<x;return sout.str();}

int main( int argc, const char* argv[] )
{
    int a[101];
    int tmp;
    int c = 0;
    int m = 0;
    fill(a, a+101, 0);
    while (cin >> tmp) {
        a[tmp] += 1;
        c += 1;
    }
    FOR(i, 0, 101) {
        m = max(m, a[i]);
    }
    FOR(i, 0, 101) {
        if (a[i] == m) {
            cout << i << endl;
        }
    }
    return 0;
}

C++: #include<iostream>
using namespace std;
int main(void){
    int i,month=0;
    int day[100]={};
    while(cin >> i)                 day[i-1]++;
    for(i=0; i<100; i++)            month=max(month,day[i]);
    for(i=0; i<100; i++){
        if(day[i] == month)         cout << (i+1) << endl;
    }
}

C++: #include <bits/stdc++.h>
using namespace std;
int main(){
  int n,a[101]={0},k=0;
  while(cin>>n){
    a[n]++;
    n=max(a[n],n);
  }
  for(int i=1;i<100;i++)if(a[i]==n)cout<<i<<endl;
}

C++: #include <cstdio>
using namespace std;

int main()
{
	int data[101] = {0};
	int n, max;
	
	while (scanf("%d", &n)){
		data[n]++;
	}
	
	for (int i = 0; i < 101; i++){
		if (max < data[i]){
			max = data[i];
		}
	}
	
	for (int i = 0; i < 101; i++){
		if (max == data[i]){
			printf("%d", i);
		}
	}
	
	return (0);
}

C++: #include <iostream>
#include <iomanip>
#include <vector>
#include <string>
#include <stack>
#include <set>
#include <cmath>
#include <algorithm>
using namespace std;

int main(){
	int mx=0;
	int arr[101]={0};
	int j=0,n;
	while(cin>>n){
		arr[n]++;
	}
	for(int i=1 ; i<101 ; ++i){
		if(mx<arr[i])
			mx=arr[i];
	}
	for(int i=0 ; i<101 ; ++i){
		if(arr[i]==mx){
			cout << i << endl;
		}
	}
	cout << endl;
	return 0; 
}

C++: #include <iostream>
#include <string>
using namespace std;
int main(){
	int a[100],b[100],c;
	for(int i=0;i<100;i++){
		a[i]=0;
		b[i]=0;
	}
	while(cin>>c){
		int i=0;
		while(true){
			if(a[i]==c||a[i]==0){
				b[i]++;
				break;
			}
			i++;
		}
	}
	for(int i=0;i<99;i++){
      for(int j=99;j>i;j--){
	    if(a[j]>a[j-1]){
	      int t=a[j];
	      a[j]=a[j-1];
	      a[j-1]=t;
		  t=b[j];
	      b[j]=b[j-1];
	      b[j-1]=t;
	    }
      }
    }
	int k=0;
	while(true){
		if(b[k]!=b[0])
			break;
	}
	for(int i=0;i<k-1;i++){
      for(int j=k-1;j>i;j--){
	    if(a[j]<a[j-1]){
	      int t=a[j];
	      a[j]=a[j-1];
	      a[j-1]=t;
	    }
      }
    }
	for(int i=0;i<k;i++)
		cout<<a[i]<<endl;
	return 0;
}

C++: #include <iostream>
using namespace std;

int main(){
	int n, i;
	int h[200] = {0};
	int most = 0;
	while(cin >> n){
		h[n]++;
		if (most < h[n]) {
			most = h[n];
		}
	}
	for (i = 1; i <= 100; i++) {
		if (h[i] == most) {
			cout << i << endl;
		}
	}
	return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
  int ans[101] = {0};
  int n,max = 0;
  while(cin >>n){
    ans[n]++;
    if(max<ans[n]){max = ans[n];}
  }
  for(int i=0; i<101; i++){
    if(ans[i] == max){cout <<i<<endl;}
  }
  return 0;
}

C++: #include "bits/stdc++.h"
using namespace std;

int main() {
	long long COUNT[100] = {}, A;
	while (cin >> A) {
		A--, COUNT[A]++;
	}
	long long MAX = 0;
	for (int i = 0; i < 100; i++) MAX = max(MAX, COUNT[i]);
	for (int i = 0; i < 100; i++) {
		if (MAX == COUNT[i]) cout << i + 1 << endl;
	}
}

C++: #include <iostream>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <string>
using namespace std;
#define rep(i,n) for(int i=0;i<n;i++)

int main(void)
{
    int n, a[100], mode = 0;
    rep(i, 100) {
        a[i] = 0;
    }
    while (cin >> n)
        a[n]++;
    
    rep(i,100) {
        if (mode < a[n]) {
            mode = a[n];
        }
    }
    
    rep(i,100) {
        if (a[i] == mode) {
            cout << i << endl;
        }
    }
    
    return 0;
}

C++: #include <iostream>
#include <algorithm>

using namespace std;

int main()
{
	int number[101] = { 0 };
	int tmp, max_num = 0;

	while ( cin >> tmp )
	{
		number[tmp] = number[tmp] + 1;
		max_num = max( number[tmp], max_num );
	}

	tmp = 0;
	while ( tmp < 101 )
	{
		if ( max_num == number[tmp] )
		{
			cout << tmp << endl;
		}
		tmp = tmp + 1;
	}

	return 0;
}

C++: 
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int a[10000]={0};
int s,sai,ans=0,c=0,i;
while(c!=12){
a[s]++;
c++;
}
for(i=0;i<c;i++){
if(a[i]>ans){
ans=a[i];
sai=i;
}
}
cout<<sai<<endl<<ans<<endl;
return 0;
}

C++: #include <algorithm>
#include <functional>
#include <vector>
#include <map>
using namespace std;

int main(){
  int n,x;
  map<int,int>m;
  for(;cin>>x;m[x]++);
  vector<pair<int,int> >v;
  for(map<int,int>::iterator it=m.begin();it!=m.end();it++)v.push_back(make_pair((*it).second,(*it).first));
  sort(v.begin(),v.end(),greater<pair<int,int> >());
  vector<int>w;
  for(n=v[0].first,x=0;v[x].first==n;x++)w.push_back(v[x].second);
  sort(w.begin(),w.end());
  for(n=0;n<w.size();n++)cout<<w[n]<<endl;
}

C++: #include <iostream>
#include <algorithm>
using namespace std;

int main(void){
	int check[101]={0};
	int n,MAX=0;
	while(cin >> n, !cin.eof()){
		check[n]++;
	}
	for(int i=1;i<=100;i++)
		MAX=max(MAX,check[i]);
	for(int i=1;i<=100;i++)
		if(check[i]==MAX)
			cout << i << endl;
	return 0;
}

C++: #include<stdio.h>

#define MAX 100

int main(void){

  int array[MAX] = {0};
  int i;
  int count = 0;

  while(scanf("%d",&i) != EOF){
    array[i]++;

    if(array[i] > count)
      count = array[i];
  }

  for(i=0;i<MAX;i++){
    if(array[i] == count)
      printf("%d\n",i);
  }
  return 0;
}

C++: #include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main(){
    vector<int> v(101, 0);
    int x,m = 0;
    while(cin >> x){
	v[x]++;
	m = max(m, v[x]);
    }
    for(int i = 1 ; i <= 100 ; i++){
	if(m == v[i]){
	    cout << i << endl;
	}
    }
    return 0;
}