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 Java8 (OpenJDK 1.8.0) (judge verdict: Accepted)

import java.util.*;
/*being john malkovich*/
class Main
{
	public static void main(String[] args)
	{
		long max = (long)(Math.pow(10,18));
		// System.out.println(max);
		Scanner s = new Scanner(System.in);
		long x = s.nextLong();
		long y = s.nextLong();

		/*
		if((x*2)%y!=0)
		{
			System.out.println(x*2);
		}
		else if((x*3)%y!=0)
		{
			System.out.println(x*3);
		}
		else
		{
			System.out.println("-1");
		}
		*/

		/*
		
		// else
		{
			int flag = 0;
			for(long i =1;i*x <= max;i++)
			{
				if((i*x)%y!=0)
				{
					flag = 1;
					System.out.println(i*x);		
					break;
				}
			}
			if(flag == 0)
				System.out.println("-1");
		}
		// */
		/*

		if(x!=y && x%y!=0)
		System.out.println(x*y + x);
		else if(x!=y && (x+1)%y!=0)
			System.out.println((x+1)*(y + 1));
		else
		System.out.println("-1");

		*/
		/*

		if(x!=y)
			System.out.println(x);
		else
			System.out.println("-1");
			*/

			if((x*2)%y!=0)
		{
			System.out.println(x*2);
		}
		else if((x*3)%y!=0)
		{
			System.out.println(x*3);
		}
		else if((x*4)%y!=0)
		{
			System.out.println(x*4);
		}
		else if((x*5)%y!=0)
		{
			System.out.println(x*5);
		}
		else if((x*6)%y!=0)
		{
			System.out.println(x*6);
		}
		else
		{
			System.out.println("-1");
		}
	}

}