////#include<stdio.h>
////int main() {
//// int a;
//// int b;
//// int c;
//// for(a=1; a<=9; a++) {
//// for(b=0; b<=9; b++) {
//// for(c=1; c<=9; c++) {
//// if(20*a+2*b==100*c+11*b) {
//// printf("%d%d+%d%d=%d%d%d\n", a, b, a, b, c, b, b);
//// }
//// }
//// }
//// }
////}
//
////#include<stdio.h>
////int main() {
//// int a;
//// int b;
//// int c;
//// for(a=1; a<=9; a++) {
//// for(b=0; b<=9; b++) {
//// for(c=1; c<=9; c++) {
//// if(90*a+10*b-b==10*c) {
//// printf("%d%d%d-%d%d=%d%d\n", a, b, c, a, b, c, c);
//// }
//// }
//// }
//// }
////}
//
////#include<stdio.h>
////int main()
////{
//// int a, b, c, d;
//// int w, x, y, z;
//// int i, j;
//// char l[7];
//// scanf("%d %d %d %d", &a, &b, &c, &d);
//// scanf("%d %d %d %d", &w, &x, &y, &z);
//// for(i=a;i<c;i++)
//// {
//// for(j=b;j<=d;j++)
//// {
//// for(i=w;i<=y;i++)
//// {
//// for(j=x;j<=z;j++)
//// {
//// if(i==j)
//// {
//// strcpy(l,"POINT");
//// }
//// if(i==i||j==j)
//// {
//// strcpy(l,"LINE");
//// }
//// }
//// }
//// }
//// }
//// printf("%s",l);
////}
//
//#include<stdio.h>
//int main() {
// int n;
// int k;
// int i;
// int j;
// int sum = 0;
// int max = -1000;
// int arr[100001];
// scanf("%d %d", &n, &k);
// for(i=1; i<=n; i++) {
// scanf("%d", &arr[i]);
// }
// for(j=1; j<=k; j++) {
// sum+=arr[j];
// }
// max=sum;
// for(i=1; i<=n-k; i++) {
// sum=sum-arr[i]+arr[i+k];
// //printf("%d ",sum);
// if(sum>max) {
// max = sum;
// }
// }
// printf("%d", max);
//}
//
//
//
//10 5
//3 -2 -4 -9 0 3 7 13 8 -3
//*/
//#include<stdio.h>
//int main()
//{
// int n;
// int a;
// int i, j;
// int x, y;
// int sum = 0;
// int arr[101][101]={};
// scanf("%d", &n);
// for(a=1;a<=n;a++)
// {
// scanf("%d %d", &x, &y);
// for(i=x;i<x+10;i++)
// {
// for(j=y;j<y+10;j++)
// {
// arr[i][j]=1;
// }
// }
// }
//
// for(i=1;i<=100;i++)
// {
// for(j=1;j<=100;j++)
// {
// if(arr[i][j]==1)
// {
// sum++;
// }
// }
// }
// printf("%d", sum);
//}
#include<stdio.h>
int main()
{
int n, k;
int i;
int sum = 1;
scanf("%d %d", &n, &k);
for(i=1;i<=k;i++)
{
sum = sum * n;
}
printf("%d", sum%100000007);
}