小G的GCD
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小G刚学习完辗转相除法求GCD,现在他想探究一下辗转相除具体的次数。
然后写出了如下代码:
long long GCD(long long x, long long y) {
     if (!y) return 1ll;
     return GCD(y, x % y) + 1ll;
}
现在小G很好奇一个问题,他想求一下maxGCD
小G接着写出了以下代码:
long long maxGCD(long long n) {
     long long ans = 0ll;
     for (long long i = 1; i <= n; i++)
         for (long long j = 1; j <= n; j++)
             ans = max(ans, GCD(i, j));
     return ans;
 }
但是这个代码太慢了,小G会给出一个,希望你帮他快速求出答案。

输入描述:

一个正整数

输出描述:

输出maxGCD。

示例1

输入

复制
20

输出

复制
7

说明


备注: