#include <bits//stdc++.h>
using namespace std;
long long int j(int num,int x){
	long long int ans=1;
	for(int i=0;i<num;i++){
		ans*=x;
	}
	return ans;
}
int main() {
	long long int n,p;
	long long int where;
	cin>>n>>p;
	if(n==1){
		cout<<p;
		return 0;
	}
	if(p==n||p<n){
		cout<<1;
		return 0;
	}
	int a=sqrt(p)+1;
	cout<<a;
	int check[a]={0};
	for(int i=1;i<=a;i++){
		if(p%j(n,i)>0)check[i]=1;
		if(j(n,i)>p){
			check[i]=1;
			where=i;
			break;
		}
	}
	for(int i=where;i>=1;i--){
		if(check[i]==0){
			cout<<i;
			return 0;
		}
	}
	return 0;
}
