Problem:
Score : 300 points

Problem Statement

Find the price of a product before tax such that, when the consumption tax rate is 8 percent and 10 percent, the amount of consumption tax levied on it is A yen and B yen, respectively. (Yen is the currency of Japan.)

Here, the price before tax must be a positive integer, and the amount of consumption tax is rounded down to the nearest integer.

If multiple prices satisfy the condition, print the lowest such price; if no price satisfies the condition, print -1.

Constraints

1 \leq A \leq B \leq 100

A and B are integers.

Input

Input is given from Standard Input in the following format:

A B

Output

If there is a price that satisfies the condition, print an integer representing the lowest such price; otherwise, print -1.

Sample Input 1

2 2

Sample Output 1

25

If the price of a product before tax is 25 yen, the amount of consumption tax levied on it is:

When the consumption tax rate is 8 percent: \lfloor 25 \times 0.08 \rfloor = \lfloor 2 \rfloor = 2 yen.

When the consumption tax rate is 10 percent: \lfloor 25 \times 0.1 \rfloor = \lfloor 2.5 \rfloor = 2 yen.

Thus, the price of 25 yen satisfies the condition. There are other possible prices, such as 26 yen, but print the minimum such price, 25.

Sample Input 2

8 10

Sample Output 2

100

If the price of a product before tax is 100 yen, the amount of consumption tax levied on it is:

When the consumption tax rate is 8 percent: \lfloor 100 \times 0.08 \rfloor = 8 yen.

When the consumption tax rate is 10 percent: \lfloor 100 \times 0.1 \rfloor = 10 yen.

Sample Input 3

19 99

Sample Output 3

-1

There is no price before tax satisfying this condition, so print -1.

Solution in C (GCC 5.4.1) (judge verdict: Accepted)

#include <stdio.h>
#include <math.h>

int min_of_common(int a0, int a1, int b0, int b1) {
  if (a0 > a1) return -1;
  if (b0 > b1) return -1;
  if (a0 >= b0 && a0 <= b1) return a0;
  if (b0 >= a0 && b0 <= a1) return b0;
  return -1;
}

int modify(int current, int target, double tax) {
  int testee = current * tax;
  while ((int)(current * tax) < target) current++;
  while ((int)(current * tax) > target) current--;
  return current;
}

int main() {
  int A, B;
  const double tax_a = 0.08, tax_b = 0.1;
  scanf("%d %d", &A, &B);
  const double 
    A0 = (double)A / tax_a,
    A1 = (double)(A + 1) / tax_a,
    B0 = (double)B / tax_b,
    B1 = (double)(B + 1) / tax_b;
  const int
    iA0 = modify(ceil(A0), A, tax_a),
    iA1 = modify(ceil(A1), A, tax_a),
    iB0 = modify(ceil(B0), B, tax_b),
    iB1 = modify(ceil(B1), B, tax_b);
  printf("%d\n", min_of_common(iA0, iA1, iB0, iB1));
  return 0;
}