G - Nearest Fraction Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 625

問題文

1 未満の正実数 r と正整数 N が与えられます。

0\leq p\leq q\leq N かつ \gcd(p,q)=1 を満たす整数の組 (p,q) のうち、\left\vert r-\dfrac pq\right\vert の値を最小にするものを求めてください。

ただし、そのような (p,q) が複数存在する場合、\dfrac pq の値が最も小さいものを出力してください。

制約

  • 0\lt r\lt 1
  • r は十進法で小数点以下たかだか 18 桁の実数として与えられる。
  • 1\leq N\leq 10^{10}
  • N は整数

入力

入力は以下の形式で標準入力から与えられる。

r
N

出力

問題文の条件を満たす (p,q) について pq をこの順に空白区切りで一行に出力せよ。


入力例 1

0.333
33

出力例 1

1 3

\left\vert0.333-\dfrac13\right\vert=\dfrac1{3000} です。 \left\vert0.333-\dfrac pq\right\vert\lt\dfrac1{3000} となる 0\leq p\leq q\leq33,\gcd(p,q)=1 は存在しないので、1 3 を出力してください。


入力例 2

0.45
5

出力例 2

2 5

\left\vert0.45-\dfrac12\right\vert=\left\vert0.45-\dfrac25\right\vert=\dfrac1{20} です。 \left\vert0.45-\dfrac pq\right\vert\lt\dfrac1{20} となる 0\leq p\leq q\leq5,\gcd(p,q)=1 は存在せず、\dfrac12\gt\dfrac25 が成り立つので、2 5 を出力してください。


入力例 3

0.314159265358979323
10000

出力例 3

71 226

\left\vert0.314159265358979323-\dfrac{71}{226}\right\vert=\dfrac{3014435336501}{113000000000000000000} です。


入力例 4

0.007735339533561113
7203576162

出力例 4

34928144 4515398949

Score : 625 points

Problem Statement

You are given a positive real number r less than 1, and a positive integer N.

Among the pair of integers (p,q) such that 0\leq p\leq q\leq N and \gcd(p,q)=1, find the one that minimizes \left\vert r-\dfrac pq\right\vert.

If multiple such pairs (p,q) exist, print the one with the smallest value of \dfrac pq.

Constraints

  • 0\lt r\lt 1
  • r is given as a real number with at most 18 decimal places.
  • 1\leq N\leq 10^{10}
  • N is an integer.

Input

The input is given from Standard Input in the following format:

r
N

Output

For the pair (p,q) that satisfies the conditions in the problem statement, print p and q in this order, separated by a space, in a single line.


Sample Input 1

0.333
33

Sample Output 1

1 3

\left\vert0.333-\dfrac13\right\vert=\dfrac1{3000}. There is no 0\leq p\leq q\leq33,\gcd(p,q)=1 such that \left\vert0.333-\dfrac pq\right\vert\lt\dfrac1{3000}, so print 1 3.


Sample Input 2

0.45
5

Sample Output 2

2 5

\left\vert0.45-\dfrac12\right\vert=\left\vert0.45-\dfrac25\right\vert=\dfrac1{20}. There is no 0\leq p\leq q\leq5,\gcd(p,q)=1 such that \left\vert0.45-\dfrac pq\right\vert\lt\dfrac1{20}, and we have \dfrac12\gt\dfrac25, so print 2 5.


Sample Input 3

0.314159265358979323
10000

Sample Output 3

71 226

\left\vert0.314159265358979323-\dfrac{71}{226}\right\vert=\dfrac{3014435336501}{113000000000000000000}.


Sample Input 4

0.007735339533561113
7203576162

Sample Output 4

34928144 4515398949