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 (GCC 5.4.1) (judge verdict: Runtime Error)

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


int main(void){
  long a[10000];
  long b[10000];
  int n;
  long suma=0;
  long sumb=0;
  scanf("%d",&n);
  int delta=0;
  for(int i=0;i<n;i++){
    scanf("%ld",&a[i]);
  }
  for(int i=0;i<n;i++){
    scanf("%ld",&b[i]);
  }
  for(int i=0;i<n;i++){
    suma += a[i];
    sumb += b[i];
    delta += a[i]-b[i];
  }
  if(suma-sumb>0){
    printf("No");
  }else if(suma-sumb==0){
    printf("Yes");
  }else{
    if((suma-sumb)==delta){
      printf("Yes");
    }else{
      printf("No");
      printf("%ld %ld",suma,sumb);
    }
  }
}