#include<iostream>
#include<cstdio>
#include<map>
#include<set>
#include<vector>
#include<algorithm>
using namespace std;
map<int,int>mapp;
typedef pair<
int,
int>pii;
set<pii>seet;
vector<int >vec;
int main()
{
int t,n;
cin>>t;
for(
int i=
0;i<t;i++)
{
scanf(
"%d",&n);
mapp[n]++;
}
map<int ,int>::iterator it=mapp.begin();
for(;it!=mapp.end();it++)
seet.insert(pii(it->second,it->first));
while(seet.size()>=
3)
{
pii ans[
3];
for(
int i=
0;i<
3;i++)
{
ans[i]=*--seet.end();
seet.erase(--seet.end());
vec.push_back(ans[i].second);
}
for(
int i=
0;i<
3;i++)
if(--ans[i].first>
0)
seet.insert(ans[i]);
sort(vec.rbegin(),vec.rbegin()+
3);
}
cout<<vec.size()/
3<<endl;
for(
int i=
0; i<vec.size(); i+=
3)
printf(
"%d %d %d\n",vec[i],vec[i+
1],vec[i+
2]);
return 0;
}
转载请注明原文地址: https://ju.6miu.com/read-8876.html