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++14 (Clang 3.8.0) (judge verdict: Wrong Answer)

//
//  main.cpp
//  A - Two Integers
//
//  Created by Anson Thai on 11/4/20.
//  Copyright © 2020 Anson Thai. All rights reserved.
//

#include <iostream>

int main(int argc, const char * argv[]) {
    // insert code here...
    //std::cout << "Hello, World!\n";
    
    int x, y;
    
    std::cin >> x;
    std::cin >> y;
    
    int m = 2;
    
    while ((m*x)<=(10^18)) {
        if ((m*x)%y == 0) {
            m++;
        } else {
            std::cout << m*x << std::endl;
            return 0;
            
        }
    }
    
    std::cout << -1 << std::endl;
    
    
    return 0;
}