Problem:
Score : 100 points

Problem Statement

Given is an integer N.

Takahashi chooses an integer a from the positive integers not greater than N with equal probability.

Find the probability that a is odd.

Constraints

1 \leq N \leq 100

Input

Input is given from Standard Input in the following format:

N

Output

Print the probability that a is odd.
Your output will be considered correct when its absolute or relative error from the judge's output is at most 10^{-6}.

Sample Input 1

4

Sample Output 1

0.5000000000

There are four positive integers not greater than 4: 1, 2, 3, and 4. Among them, we have two odd numbers: 1 and 3. Thus, the answer is \frac{2}{4} = 0.5.

Sample Input 2

5

Sample Output 2

0.6000000000

Sample Input 3

1

Sample Output 3

1.0000000000

Solution in Ruby (2.3.3) (judge verdict: Runtime Error)

require 'prime'
require 'set'

def get_div_num(num, max = 10 ** 12)
  result = Set.new
  tmp = num
  Prime.each(max) do |prime|
    while tmp % prime == 0
      tmp /= prime
      result.add(prime)
    end
    if tmp < prime
      return result
    end
  end
  result
end

def prior_b?(a, b)
  get_div_num(b, 1000).size < get_div_num(a, 1000).size
end

a, b = gets.split(' ').map(&:to_i)

smaller, bigger = if prior_b?(a, b)
                    [b, a]
                  else
                    [a, b]
                  end

smaller_div_nums = get_div_num(smaller)

result = 1
smaller_div_nums.each do |div|
  if bigger % div == 0
    result += 1
  end
end
puts result