We often go to supermarkets to buy some fruits or vegetables, and on the tag there prints the price for a kilo. But in some supermarkets, when asked how much the items are, the clerk will say that $a$ yuan for $b$ kilos (You don't need to care about what "yuan" is), the same as $a/b$ yuan for a kilo.

Now imagine you'd like to buy $m$ kilos of apples. You've asked $n$ supermarkets and got the prices. Find the minimum cost for those apples.

You can assume that there are enough apples in all supermarkets.


-----Input-----

The first line contains two positive integers $n$ and $m$ ($1 \leq n \leq 5\,000$, $1 \leq m \leq 100$), denoting that there are $n$ supermarkets and you want to buy $m$ kilos of apples.

The following $n$ lines describe the information of the supermarkets. Each line contains two positive integers $a, b$ ($1 \leq a, b \leq 100$), denoting that in this supermarket, you are supposed to pay $a$ yuan for $b$ kilos of apples.


-----Output-----

The only line, denoting the minimum cost for $m$ kilos of apples. Please make sure that the absolute or relative error between your answer and the correct answer won't exceed $10^{-6}$.

Formally, let your answer be $x$, and the jury's answer be $y$. Your answer is considered correct if $\frac{|x - y|}{\max{(1, |y|)}} \le 10^{-6}$.


-----Examples-----
Input
3 5
1 2
3 4
1 3

Output
1.66666667

Input
2 1
99 100
98 99

Output
0.98989899



-----Note-----

In the first sample, you are supposed to buy $5$ kilos of apples in supermarket $3$. The cost is $5/3$ yuan.

In the second sample, you are supposed to buy $1$ kilo of apples in supermarket $2$. The cost is $98/99$ yuan.

Difficulty: interview

Starter code:

Solutions:
# = map(int, input().split())
n, m = list(map(int, input().split()))
ans = 10 ** 100
for i in range(n):
    p, q = list(map(int, input().split()))
    ans = min(ans, p / q * m)
print(ans)


n, m = list(map(int, input().split()))

r = float('inf')
for _ in range(n):
    x, y = list(map(int, input().split()))
    r = min(r, m*x/y)
print(r)


r = lambda: map(int, input().split())
n, m = r()
s = 10E10

for _ in range(n):
    a, b = r()
    s = min(s, a / b)

print(s * m)


n,m = map(int, input().split())

mx = 1e11
for i in range(n):
	a,b = map(int, input().split())
	mx = min(mx, m*a/b)
print (mx)

import getpass
import sys


def ria():
    return [int(i) for i in input().split()]


files = False

if getpass.getuser() == 'frohenk' and files:
    sys.stdin = open("test.in")

n, m = ria()
mini = 1000
for i in range(n):
    a, b = ria()
    mini = min(mini, a / b)

print(mini*m)

import random
import functools
import itertools
import math

R = lambda type_ = "int": list(map(eval(type_), input().split(' ')))

n, m = R()
ans = 10000000000000
for i in range(n):
    a, b = R()
    ans = min(ans, a / b)

print(ans * m)


n,m=map(int,input().split())
ans=float('inf')
for x in range(n):
    a,b=map(int,input().split())
    ans=min(ans,m*(a/b))
print(ans)

n,m = list(map(int, input().strip().split()))
best = 10**9

for _ in range(n):
    a,b = list(map(int, input().strip().split()))
    best = min(best, m*(a/b))

print(best)


n, m = [int(i) for i in input().split()]

ans = 100000.0

for i in range(n):
    a, b = [int(i) for i in input().split()]
    x = m * (a / b)
    if x < ans:
        ans = x
        
print(ans)

n, m = list(map(int, input().split()))
a, b = list(map(int, input().split()))
ans = m * (a/b)
for i in range(1, n):
    a, b = list(map(int, input().split()))
    ans = min(ans, m*(a/b))
print("%.7f" % ans)


n, m = map(int, input().split())
ans = 1e10
for i in range(n):
    a, b = map(int, input().split())
    ans = min(ans, a/b)
print(ans * m)

n, m = [int(i) for i in input().split()]
ans = 10 ** 9
for i in range(n):
    a1, a2 = [int(i) for i in input().split()]
    ans = min(ans, a1 * m / a2)
print(ans)

n, m = map(int, input().split())
asd = 10 ** 9
for i in range(n):
    a, b = map(int, input().split())
    if a / b < asd:
        asd = a / b
print(asd * m)

r = lambda: list(map(int,input().split()))
n,m = r()
check = lambda x: x[0]/x[1]

print (min(check(r()) for x in range(n)) * m)

n,m=list(map(int,input().split()))
ans=10**40
for _ in range(n):
  a,b=list(map(int,input().split()))
  ans=min(ans,(a/b)*m)
print(ans)


def gis():
    return list(map(int, input().strip().split()))


def gi():
    return int(input())


def gss():
    return input().strip().split()


def problem():
    n, m = gis()
    maxi = 100
    for i in range(n):
        a, b = gis()
        maxi = min(maxi, a/b)
    print(maxi*m)

def __starting_point():
    problem()

__starting_point()

n, m = list(map(int, input().split()))
mn = 10 ** 9
for i in range(n):
    a, b = list(map(int, input().split()))
    mn = min((a / b) * m, mn)

print(mn)


n,m=map(int, input().split())
cost=10**7
for i in range(n):
	a,b=map(int, input().split())
	if (a/b)<cost:
		cost=a/b
print(cost*m)

n, m = [int(z) for z in input().split()]
tmp = 10000000
for i in range(n):
    a, b = [int(z) for z in input().split()]
    tmp = min(tmp, a / b)
print(tmp * m)

n,m=list(map(int,input().split()))
low=1000000000000000000000000
for i in range(n):
    a,b=list(map(int,input().split()))
    if (a/b)*m < low:
        low = (a/b)*m
print(low)


#n = int(input().strip())

n, wanted = list(map(int, input().strip().split()))

prices = []

for market in range(n):
    a, b = list(map(int, input().strip().split()))
    prices.append(a / b)

lowest_price = min(prices)
print(wanted * lowest_price)

s = input().split()
n = int(s[0])
m = int(s[1])
p = 101
for i in range(n):
    s = input().split()
    x = int(s[0])/int(s[1])
    if x<p:
        p=x

print(m*p)

n,m = map(int, input().split())
ms = 1000000000
for i in range(n):
    a,b =map(int, input().split())
    ms = min(ms, a/b)
print("%.8f" % (ms*m))

n,m = [int(i) for i in input().split()]
k = []
for i in range(n):
	a,b = [int(i) for i in input().split()]
	k.append(a*m/b)
print(min(k))


n,m=map(int, input().split())
a=[]
for i in range(n):
	x,y=map(int, input().split())
	a.append(x/y*m)
print(min(a))