#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
int sumDig(int x)
{
	int ans=0;
	while(x!=0)
	{
		ans+=x%10;
		x/=10;
	}
	return ans;
}
bool isPrime(int x)
{
	if(x==1)
		return false;
	for(int i=2;i<=ceil(sqrt(static_cast<double>(x)));++i)
		if(x%i==0)
			return false;
	return true;
}
const int N=1000000;
bool mark[N+1000];
int main()
{
	int n;
	cin>>n;
	for(int i=2;i<=N/2;++i)
	{
		int b=i+i;
		while(b<=N)
		{
			mark[b]=true;
			b+=i;
		}
	}
	vector<int> primes;
	for(int i=2;i<=N;++i)
		if(!mark[i])
			primes.push_back(i);
	int sum1=sumDig(n);
	int sum2=0;
	for(int i=0;i<primes.size();++i)
		if(n%primes[i]==0)
		{
			
			while(n%primes[i]==0)
			{
				n/=primes[i];
				sum2+=sumDig(primes[i]);
			}
		}
	if(isPrime(n))
		sum2+=sumDig(n);
	if(sum1==sum2)
		cout<<1;
	else
		cout<<0;



}