Ujanは最近怠けてきましたが、今は良い形に彼の庭を持参することを決定しました。まず、彼はゲートに彼の家からのパスを描くことにしました。
パスの構成要素は 、Nから番号n個の連続タイル、 1 1 、N、N。Ujanは、いくつかの色で各タイルをペイントします。彼はパスを検討する 任意の二つのためならば美学を 数字と異なるタイル I iと jは jを、そのようなこと | J - I | | J-I | 約数である nは nよりも大きい 1 1は、それらが同じ色を有しています。正式には、番号を持つ2枚のタイルの色は I iと jは jがあれば同じである必要があります | I - J | > 1 | I-J |> 1と n個MOD | I - J | = 0 nmod | I-J | = 0(ここで、 X MOD Y xmodyが余りときに分割され 、XによってX Y Y)。
Ujanはスペースを明るくしたいと考えています。パスは審美的であるように、Ujanが使用できるさまざまな色の最大数は何ですか?
入力
入力の最初の行は、単一の整数が含ま N(nは1 ≤ N ≤ 10 12 1≤n≤1012)、パスの長さ。
出力
出力単一の整数、パスがで塗装することができる色の最大数。
例
入力
コピー
4
出力
コピー
2
入力
コピー
5
出力
コピー
5
注意
最初のサンプルでは、2色の最大数です。タイル 1 1および 3 3は、以来、同じ色を持つべき 4 MOD | 3 - 1 | = 0 4mod | 3-1 | = 0。また、タイル 2 2and 4以来、同じ色を持つべき4を 4 MOD | 4 - 2 | = 0 4mod | 4-2 | = 0。
第二のサンプルにおいて、全5色を用いることができます。
#include <ビット/ STDC ++。H>
の#include <iostreamの>
する#include <アルゴリズム>
の#include <cstdioを>
する#include < ストリング >
の#include <CStringの>
する#include <cstdlib>
の#include <マップ>
の#include <ベクトル>
#含める < 設定 >
書式#include <キュー>
の#include <スタック>
の#include <cmath>
使用して 名前空間はstdを、
#define MEM(S、T)のmemset(S、T、
Fiの最初
の#defineは、第二のSE
の#define交流戻り0;
#defineっ長い長
の#define CIN2(N、M)のためには、(INT iは1 =; I <= N; I ++)のための(INT J = 1; J <= Mであり、j ++)CIN >> [I] [J]。
#define(J ++; J <= Mのint J = 1)のためのためのREP_(N、M)は、(i ++ iは1 = INT; I <= N)
の#define iは1 =(INTのためのrep(n)は、I <= N; I ++)
の#define試験(XXX)COUT << "テスト"<<"" << XXX << ENDL。
#define TLEのstd ::イオス:: sync_with_stdio(偽); cin.tie(NULL)。cout.tie(NULL)。cout.precision(10)。
#define今LC << 1つ
の#define今RC << 1 | 1つ
の#define今LS << 1、L、ミッド
の#define今RS <
半NO [今] .L +((NO [今] .R-NO [今] .L)>> 1)
の#defineが長い長いっ
CONST INT MXN = 1E6 + 5 。
LL N、M、K、ANS、CNT、COL。
int型[MXN]、B [MXN]、フラグ。
文字列strの、CH;
int型のmain()
{
一方、(CIN >> N)
{
ANS = N。
以下のために(iは= LL 2 ; iは* I <= N; I ++ )
{
もし(!(n個の%I))
年 = __gcd(__ GCD(年間N / I)、I);
}
coutの << ANS << てendl;
}
リターン 0 ;
}