#include<iostream>
using namespace std;
int cnt[11];
bool judge(int x)
{
int a, b, c;
a = x / 100;
b = x / 10 % 10;
c = x % 10;
if (a != b && b != c && a != c) return true;
else return false;
}
bool pd(int x, int y)
{
int a1 = x % 10; int b1 = y % 10;
int a2 = x / 10 % 10; int b2 = y / 10 % 10;
int a3 = x / 100; int b3 = y / 100;
cnt[a1] += 1; cnt[b1] += 1; cnt[a2] += 1; cnt[b2] += 1; cnt[a3] += 1; cnt[b3] += 1;
for (int i = 1; i <= 9; i++)
{
if (cnt[i] >= 2)
{
return false;
break;
}
}
return true;
}
bool prejudice(int a, int b, int c)
{
bool flag = false;
if (pd(a, b))
{
flag = false;
for (int i = 1; i <= 9; i++) cnt[i] = 0;
}
else flag = true;
if (pd(a, c))
{
flag = false;
for (int i = 1; i <= 9; i++) cnt[i] = 0;
}
else flag = true;
if (pd(b, c))
{
flag = false;
for (int i = 1; i <= 9; i++) cnt[i] = 0;
}
else flag = true;
if (flag == false) return true;
else return false;
}
int main()
{
int cnt = 0;
for (int i = 100; i <= 999; i++)
{
for (int j = 100; j <= 999; j++)
{
for (int k = 100; k <= 999; k++)
{
if (j == i * 2 && k == i * 3 && judge(i) && judge(j) && judge(k) && prejudice(i, j, k))
{
cout<<i<<" "<<j<<" "<<k;
cout << endl;
}
}
}
}
return 0;
}