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# (Mono 4.6.2.0) (judge verdict: Accepted)

using System;
using System.Collections.Generic;
using System.Linq;

namespace ConsoleTest
{
    class Program
    {
        static int[] CalcRange(int zei, int rate)
        {
            bool minJust = ((zei ) * 100) % rate == 0;
            int min = (zei * 100) / rate + (minJust ? 0 : 1);
            bool maxJust = ((zei + 1) * 100) % rate == 0;
            int max = ((zei + 1) * 100) / rate - (maxJust?1:0);
            return new int[] { min, max };
        }

        static void TaxTest(int rate)
        {
            for(int i = 1; i <=100; ++i)
            {
                int[] r = CalcRange(i, rate);
                if ((r[0] * rate) / 100 != i) throw new InvalidOperationException(string.Format("cond 1 ({0}, {1}) {2}", i, rate, r[0]));
                if (((r[0]-1) * rate) / 100 == i) throw new InvalidOperationException(string.Format("cond 2 ({0}, {1}) {2}", i, rate, r[0]));
            }
        }

        static void Main(string[] args)
        {
            //TaxTest(8);
            //TaxTest(10);




            int[] ps = Console.ReadLine().Split(' ')
                .Select(s => int.Parse(s))
                .ToArray();

            var r8 = CalcRange(ps[0], 8);
            var r10 = CalcRange(ps[1], 10);
            //Console.WriteLine(string.Format("zei {0} : ({1} {2})", ps[0], r8[0], r8[1]));
            //Console.WriteLine(string.Format("zei {0} : ({1} {2})", ps[1], r10[0], r10[1]));
            var merge = new int[] { Math.Max(r8[0], r10[0]), Math.Min(r8[1], r10[1]) };
            if (merge[0] <= merge[1])
            {
                Console.WriteLine(merge[0]);
            }
            else
            {
                Console.WriteLine("-1");
            }


        }
    }
}