/*
#include <stdio.h>
int n, d[110];
int f()
{
int i=0,b=-1000000,c;
for(i=0;i<n;i++)
{
if(b<d[i])
{
b=d[i];
c=i;
}
}
return c+1;
}
// 이 부분에 들어가야 될 코드를 작성하여 제출
int main()
{
scanf("%d", &n);
for(int i=0; i<n; i++)
{
scanf("%d", &d[i]);
}
printf("%d", f());
return 0;
}
*/
/*
#include <stdio.h>
int n, d[100010], k;
int f(int k)
{
int i,b=-100000;
for(i=1;i<=n;i++)
{
if(d[i]==k)
{
b=i;
return b;
}
}
if(b==-100000)
{
b=-1;
}
return b;
}
// 이 부분에 들어가야 될 코드를 작성하여 제출
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%d", &d[i]);
scanf("%d", &k);
printf("%d\n", f(k));
}
*/
/*
#include <stdio.h>
double a;
double ABS(double a)
{
if(a>=0)
{
return a;
}
else if(a<0)
{
{
}
return a-a-a;
}
}
int main()
{
scanf("%lf",&a);
printf("%.10g",ABS(a));
return a;
}
int * int == int
long long int * int == long long int
*/
/*
#include <stdio.h>
int gcd(int p, int q){ if(p==0) return q; return gcd(q%p, p);}
//두 수의 곱 == 두 수의 최소공배수*두 수의 최대공약수
long long int lcm(int a ,int b)
{
return (long long int)a*b/gcd(a,b);
}
// 이 부분에 들어가야 될 코드를 작성하여 제출
int main()
{
int a, b;
scanf("%d%d", &a, &b);
printf("%lld\n", lcm(a, b));
}
*/
#include <stdio.h>
int a, n;
long long int pow(int a,int b)
{
long long int i,c=1;
if(a==1)
{
return 1;
}
for(i=1;i<=b;i++)
{
c=c*a;
}
return c;
}
// 이 부분에 들어가야 될 코드를 작성하여 제출
int main()
{
scanf("%d%d", &a, &n);
printf("%lld\n", pow(a, n));
}