Problem:
Score : 100 points

Problem Statement

There are three houses on a number line: House 1, 2 and 3, with coordinates A, B and C, respectively.
Print Yes if we pass the coordinate of House 3 on the straight way from House 1 to House 2 without making a detour, and print No otherwise.

Constraints

0\leq A,B,C\leq 100

A, B and C are distinct integers.

Input

Input is given from Standard Input in the following format:

A B C

Output

Print Yes if we pass the coordinate of House 3 on the straight way from House 1 to House 2 without making a detour, and print No otherwise.

Sample Input 1

3 8 5

Sample Output 1

Yes

We pass the coordinate 5 on the straight way from the house at coordinate 3 to the house at coordinate 8.

Sample Input 2

7 3 1

Sample Output 2

No

Sample Input 3

10 2 4

Sample Output 3

Yes

Sample Input 4

31 41 59

Sample Output 4

No

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

module Enumerable
    def sum(init = 0, &block)
        if block
            inject(init) {|sum, n| sum += yield(n) }
        else
            inject(init) {|sum, n| sum += n }
        end
    end
end

n = gets.chomp!.to_i
a_n_orig = n.times.map {|_| gets.chomp!.to_i }
sorted_a_n = a_n_orig.sort
all_sum = a_n_orig.inject(&:+)

a_n = sorted_a_n.dup

# aから任意の個数取り出したときの合計の組み合わせ
comb = 
  1.upto(n).map! {|i|
    a_n.each_cons(i).map {|x| [x.sum, x] }
  }.sort!
   .flatten(1).uniq
   .group_by {|x, y| x }
   .map {|sum, x| [sum, x.map{|y| y[1]}] }
   .to_h

# lを最大としたときの三角形ができる条件
# l < n + m
comb.select! {|l, _| l < all_sum - l }

# lとして採用できる数一覧
puts 1