A. Tile Painting

Ujan需要给家到大门的路径涂色,路径由n块瓷砖组成。路径被认为是美观的,当任何两个数字差的绝对值是n的正除数大于1的瓷砖颜色相同。Ujan想知道最多可以使用多少种不同的颜色来保持路径美观。输入包含一个整数n,输出能使用的最大颜色数。若n为质数,答案为质数;否则,若有唯一质因子则输出该质因子,否则输出1。

链接:https://codeforces.com/contest/1242/problem/A

Ujan has been lazy lately, but now has decided to bring his yard to good shape. First, he decided to paint the path from his house to the gate.

The path consists of nn consecutive tiles, numbered from 11 to nn. Ujan will paint each tile in some color. He will consider the path aesthetic if for any two different tiles with numbers ii and jj, such that |j−i||j−i| is a divisor of nn greater than 11, they have the same color. Formally, the colors of two tiles with numbers ii and jj should be the same if |i−j|>1|i−j|>1 and nmod|i−j|=0nmod|i−j|=0 (where xmodyxmody is the remainder when dividing xx by yy).

Ujan wants to brighten up space. What is the maximum number of different colors that Ujan can use, so that the path is aesthetic?

Input

The first line of input contains a single integer nn (1≤n≤10121≤n≤1012), the length of the path.

Output

Output a single integer, the maximum possible number of colors that the path can be painted in.

Examples

input

Copy

4

output

Copy

2

input

Copy

5

output

Copy

5

Note

In the first sample, two colors is the maximum number. Tiles 11 and 33 should have the same color since 4mod|3−1|=04mod|3−1|=0. Also, tiles 22and 44 should have the same color since 4mod|4−2|=04mod|4−2|=0.

In the second sample, all five colors can be used.

题解:很有意思的一道题,首先不难发现如果是质数直接输出质数,否则只需判断是否只有一个质因子就行,如果只有一个质因子就输出这个质因子,否则输出1

#include<bits/stdc++.h>
using namespace std;
long long n;
int main()
{
	cin>>n;
	for(long long i=2;i*i<=n;i++)
	{
		if(n%i==0)
		{
			while(n%i==0)
			n/=i;
			if(n!=1)
			cout<<1;
			else
			cout<<i;
			return 0;
		}
	}
	cout<<n; 
	
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值