Problem:
Score : 100 points

Problem Statement

You are given positive integers X and Y.
If there exists a positive integer not greater than 10^{18} that is a multiple of X but not a multiple of Y, choose one such integer and print it.
If it does not exist, print -1.

Constraints

1 ≤ X,Y ≤ 10^9

X and Y are integers.

Input

Input is given from Standard Input in the following format:

X Y

Output

Print a positive integer not greater than 10^{18} that is a multiple of X but not a multiple of Y, or print -1 if it does not exist.

Sample Input 1

8 6

Sample Output 1

16

For example, 16 is a multiple of 8 but not a multiple of 6.

Sample Input 2

3 3

Sample Output 2

-1

A multiple of 3 is a multiple of 3.

Solution in C# (Mono 4.6.2.0) (judge verdict: Accepted)

using System;
using System.Linq;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] a_asArgs)
        {
			string l_sInput = Console.ReadLine();
			ulong[] l_aiInput = l_sInput.Split(' ').Select(a => ulong.Parse(a)).ToArray();

			if (l_aiInput[0] % l_aiInput[1] == 0)
			{
				Console.WriteLine("-1");
				return;
			}

			ulong l_iIndex = 1;
			ulong l_iValue;
			ulong l_iMax = 1000000ul * 1000000ul * 1000000ul;
			do
			{
				l_iValue = l_aiInput[0] * l_iIndex++;
				if (l_iValue % l_aiInput[1] != 0)
				{
					Console.WriteLine(l_iValue.ToString());
					return;
				}
			}
			while (l_iValue <= l_iMax);
			Console.WriteLine("-1");
		}
	}
}