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<iostream>
#include<algorithm>
using namespace std;

int main(){

  int n, m;
  int cnt[101] = {0};

  while(cin >> n){
    cnt[n]++;
  }
  
  m = *max_element(cnt+1, cnt+101);

  for(int i=1; i<101; i++){
    if(cnt[i] == m){
      cout << i << endl;
    }
  }

  return 0;
}

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

using namespace std;

int main(void)
{
    cin.tie(0);
    ios::sync_with_stdio(false);
    int num, max = 0;
    vector<int> cnt(101);

    while(cin >> num)
        cnt[num]++;

    for(int i=0; i<101; i++)
        if(max < cnt[i]) max=cnt[i];
    for(int i=0; i<101; i++)
        if(max == cnt[i])
            cout << i << endl;

    return 0;
}

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

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

C++: #include <iostream>

using namespace std;

constexpr int n = 100;
int freq[n];
int main(){
  int a;
  while(cin >> a){
    freq[a-1]++;
  }
  int maxi,maxval=-1;
  for(int i=0;i<n;++i){
    if(maxval<freq[i]){
      maxi = i;
      maxval = freq[i];
    }
  }

  for(int i=0;i<n;++i){
    if(freq[i]==maxval){
      cout << i+1 << endl;
    }
  }
}

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

C++: #include<iostream>
#include<algorithm>
using namespace std;
int data[101];
int mod[101];
void ini(void){
  for(int i=0;i<101;i++){
    data[i]=0;
    mod[i]=0;
  }
}



main(){
  int max=0;
  int j;
  j=0;
  int in;
  while(cin >> in){
    for(int i=0;i<101;i++){
      if(in == i){
	data[i]++;//inidata[i];
	break;
      }
    }
    j++;
  }

  //
  for(int i=0;i<101;i++){
    if(max < data[i])max=data[i];
  }

  //
  for(int i=0;i<101;i++){
    if(data[i]==max)cout << i << endl;
  }
  
  return 0;
}

C++: #include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    int math[101],check,mmax=0;
    for(int i=1;i<101;i++)math[i]=0;
    while(scanf("%d",&check)!=EOF){
        math[check]++;
        if(math[check]>mmax)mmax=math[check];
    }
    for(int i=1;i<101;i++){
        if(mmax==math[i])cout<<i<<endl;
    }
}

C++: 
/* vo0_28.cpp */
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

inline int MAX(int a, int b) { return (a < b) ? b : a; }

int main()
{
	vector<int> d;
	int count[100];
	
	for (int i = 0; i < 100; ++i) { count[i] = 0; }

	int n;
	while (cin >> n) { d.push_back(n); }

	sort(d.begin(), d.end());

	for (int i = 0; i < d.size(); ++i) { count[d[i] - 1]++; }

	int max = 0;
	for (int i = 0; i < d.size(); ++i) { max = MAX(max, count[i]); }
	for (int i = 0; i < d.size(); ++i) {
		if (max == count[i])
			cout << i + 1 << '\n';
	}

	return 0;
}

C++: #include<stdio.h>

int main()
{
	int a[100]={0},x=0,b[100]={0},max=0;
	while(scanf("%d",&a[x])!=EOF)
	{
		if(a[x]<=0||a[x]>100)
		{
			x--;
		}
		else
		{
			b[(a[x]-1)]++;
		}
		x++;
	}

	for(int n=0;n<100;n++)
	{
		if(max<b[n])
		{
			max=b[n];
		}
	}
	for(int n=0;n<100;n++)
	{
		if(max==b[n])
		{
			printf("%d\n",n+1);
		}
	}
	return 0;
}

C++: #include <cstdio>
#include <cstring>

using namespace std;

int main(void){
	int max, cnt[100], x, i;
	memset(cnt,0,sizeof(cnt));
	while(scanf("%d",&x) != EOF){
		cnt[x - 1]++;
	}
	max = 0;
	for(i = 0;i < 100;i++){
		if(max < cnt[i]){
			max = cnt[i];
		}
	}
	for(i = 0;i < 100;i++){
		if(max == cnt[i]){
			printf("%d\n",i + 1);
		}
	}
	return 0;
}

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

using namespace std;

int main()
{
  int data[100] = {};
  int n, m = 0;
  while(cin >> n)
    data[n - 1]++;
  for(int i = 1; i <= 100; i++)
    m = max(m, data[i - 1]);
  for(int i = 1; i <= 100; i++)
    if(m == data[i - 1])
      cout << i << endl;
  
  return 0;
}

C++: #include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>
#include <map>
using namespace std;
int main(){
	int a;
	vector<int> in;
	while(scanf("%d",&a)!=EOF){
		if(a==0)	break;
		in.push_back(a);
	}
	map<int,int> dic;
	for(int it:in)	dic[it]++;
	int num=0;
	for(auto it:dic)	num=max(num,it.second);
	for(auto it:dic){
		if(num==it.second)	cout<<it.first<<endl;
	}
	return 0;
}

C++: #include<cstdio>
#include<cmath>
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
    int num[1000]={0};
    int a;
    while(cin>>a)num[a]++;
    int flg=0;
    for(int i=100;;i--){
        for(int j=0;j<200;j++){
            if(num[j]==i){
                flg=1;
                cout<<j<<endl;
            }
        }
        if(flg)break;
    }
    return 0;
}

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

int main()
{
	vector<int> Vec(100);
	int n;
	while(cin>>n){
		Vec[n]++;
	}
	int max_r = 0, ans;
	for(int i=0;i<100;i++){
		max_r = max( max_r, Vec[i]);
	}
	for(int i=0;i<100;i++){
		if(max_r == Vec[i]){
			ans = i;
		}
	}
	cout<<i<<endl;
	
	return 0;
}

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

using namespace std;

int main() {
    map<int, int> map;
    int a, max_ = 0;
    while (cin >> a) {
        if (map.find(a) != map.end()) {
            map[a] += 1;
            max_ = max(max_, map[a]);
        } else {
            map[a] = 1;
        }
    }

    for (auto a_ : map) {
        if (a_.second == max_) {
            cout << a_.first << endl;
        }
    }
}

C++: #include<iostream>
#include<string>
#include<vector>
#include<algorithm>
#include<cmath>
#include<stdio.h>
#include<queue>
#include <climits>
#include <map>
#include <set>
using namespace std;
typedef long long ll;
typedef pair<int,int> P;
const int mod = 1e9 + 7;
const long long INF = 1LL << 60;

int cnt[105];

int main() 
{
    int n;
    while(cin >> n){
        cnt[n]++;
    }
    int c = 0;
    for(int i = 0; i < 105; i++){
        c = max(c,cnt[i]);
    }
    for(int i = 0; i < 105; i++){
        if(cnt[i] == c){
            cout << i << endl;
        }
    }
}

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

int main()
{
    map<int, int> iData;
    int iBuff, maxCount, maxElement[100];
    pair<map<int, int>::iterator, bool> flag;
    while(cin >> iBuff)
    {
        flag = iData.insert(map<int, int>::value_type(iBuff, 1));
        if(flag.second == false)
        {
            iData[iBuff]++;
            maxCount = max(maxCount, iData[iBuff]);
        }
    }
    for(map<int, int>::iterator it = iData.begin(); it != iData.end(); it++)
    {
        if(it->second == maxCount )
            cout << it->first << endl;
    }
    return EXIT_SUCCESS;
}

C++: #include <iostream>

using namespace std;

void solve(){

}
int encnt[101], ans;
int main(){
  int n;

  while(cin >> n){
    encnt[n]++;
    ans = max(ans, encnt[n]);
  }
  for(int i = 0; i < 100; i++){
    if(encnt[i] == ans){
      cout << i << endl;
    }
  }
  return 0;
}