#include <iostream>
#include <vector>
class LongNumber
{
public:
LongNumber()
{
}
LongNumber(std::vector <int> a)
{
box.resize(a.size());
for (int i = 0; i < a.size(); i++)
{
box[i] = a[i];
}
}
void pushBack(int number)
{
box.push_back(number);
}
int getSize() const
{
return box.size();
}
int getNumber(int pos) const
{
return box[pos];
}
void reverseUp()
{
int condition = box.size() / 2;
int glass, last = box.size() - 1;
for (int i = 0; i < condition; i++)
{
glass = box[i];
box[i] = box[last - i];
box[last - i] = glass;
}
}
void reverseBack()
{
int condition = box.size() / 2;
int glass, last = box.size() - 1;
for (int i = 0; i < condition; i++)
{
glass = box[i];
box[i] = box[last - i];
box[last - i] = glass;
}
}
void print()
{
int pos = 0;
while (!box[pos])
{
pos++;
}
for (int i = pos; i < box.size(); i++)
{
std::cout << box[i];
}
}
LongNumber operator* (LongNumber & obj)
{
int length = box.size() + obj.getSize() + 1;
std::vector <int> c;
c.resize(length);
for (int i = 0; i < box.size(); i++)
{
for (int j = 0; j < obj.getSize(); j++)
{
c[i + j] += box[i] * obj.getNumber(j);
}
}
for (int i = 0; i < c.size() - 1; i++)
{
c[i+1] += c[i] / 10;
c[i] = c[i] % 10;
}
int last = c.size() - 1;
while (!c[last])
last--;
c.resize(last + 1);
return LongNumber(c);
}
LongNumber &operator= (const LongNumber &obj)
{
box.resize(obj.getSize());
for (int i = 0; i < obj.getSize(); i++)
{
box[i] = obj.getNumber(i);
}
return *this;
}
private:
std::vector <int> box;
};
int main()
{
int k;
std::cin >> k;
LongNumber a, b, c;
a.pushBack(5);
a.pushBack(5);
b.pushBack(3);
b.pushBack(6);
c.pushBack(1);
a.reverseUp();
b.reverseUp();
for (int i = 0; i < k - 1; i++ )
{
c = c * a;
}
c = c * b;
c.reverseBack();
c.print();
}