#include <iostream>
using namespace std;
int const MaxSize = 20;
class SeqStack
{
public:
SeqStack()
{
count = 0;
}
~SeqStack()
{
}
bool isempty() const
{
if (count == 0)
{
return true;
}
else
{
return false;
}
}
bool isfool() const
{
if (count == MaxSize)
{
return true;
}
else
{
return false;
}
}
int Pop();
int GetTop();
void Push(int a);
private:
int count;
int data[MaxSize];
};
int SeqStack::GetTop()
{
if (isempty())
{
cout << "下溢";
}
return data[count-1];
}
void SeqStack::Push(int a)
{
if (isfool())
{
cout << "上溢";
}
data[count] = a;
count++;
}
int SeqStack::Pop()
{
if (isempty())
{
cout << "下溢";
}
return count--;
}
void change(int x, SeqStack ss)
{
while (x != 0)
{
ss.Push(x%8);
x = x / 8;
}
while (ss.isempty()== false)
{
cout << ss.GetTop();
ss.Pop();
}
}
int main()
{
SeqStack ss[3];
int a, b, c;
cin >> a;
cin >> b;
cin >> c;
change(a, ss[0]);
change(b, ss[1]);
change(c, ss[2]);
return 0;
}