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 C (GCC 5.4.1) (judge verdict: Wrong Answer)

#include <stdio.h>
#include <string.h>
#include <stdint.h>

int getNumsInt32(int32_t *buf, int32_t num)
{
  int32_t i;

  for (i = 0; i < num; i++) {
    if (scanf("%d", &buf[i]) == EOF) {
      return -1;
    }
  }
  return 0;
}

int main()
{
  int32_t num, i, j, change = 0, change2 = 0;
  char s[200000];
  char sb[200000];

  if (getNumsInt32((int32_t *)&num, (int32_t)1) == -1) {
    return -1;
  }

  if (scanf("%s", s) == EOF) {
    return -1;
  }

  strncpy(sb, s, num);

  for (i = 1; i < num; i++) {
    if (s[i - 1] == '#' && s[i] == '.') {
      s[i] = '#';
      change++;
    }
  }

  for (i = 1; i < num; i++) {
    if (sb[i - 1] == '#' && sb[i] == '.') {
      sb[i - 1] = '.';
      change2++;
      for (j = i - 2; j >= 0; j--) {
        if (sb[j] == '#') {
          sb[j] = '.';
          change2++;
        }
        else {
          break;
        }
      }
    }
  }

  if (change2 > 0) {
    if (change > change2) {
      change = change2;
    }
  }

  printf("%d\n", change);

  return 0;
}