문제1093--베스킨 라빈스 N

1093: 베스킨 라빈스 N

시간제한 : 1.000 sec  메모리제한 : 128 MB

문제 설명

평소 술자를 좋아하는 재성이는 술자리 게임중에서 베스킨 라빈스 31을 가장 어려워 합니다. 단체로 해도, 단 1:1로 해도 항상 지기만 하는 재성이는 어떻게 하면 이길 수 있는지 인터넷 검색을 통해 알아보았습니다.

만약 31의 숫자를 부르면 지는 게임을 1:1 로 하는 경우..
- 재성이가 이기기 위해서는 재성이가 마지막 바로 직전에 30까지 말해야 한다. 그래야 상대방이 31을 말해 게임에서 이길 수 있다.
- 재성이가 30을 부르려면, 상대방은 27 ~ 29 까지만 불러야 한다. 27까지 부르면 재성이는 28, 29, 30을 부를 수 있고 29까지 부르면 30만 부르면 된다.
- 상대방이 27 ~ 29 까지 말하게 하기 위해서는 재성이는 26까지만 말해야한다.
- 재성이가 26을 부르려면 상대방은 23 ~ 25 까지만 불러야 한다.

이런식으로 처음까지 가면 재성이가 처음 시작 했을때, 1, 2 를 먼저 부른 후 상대방이 말하는 숫자를 합쳐서 총 부르는 갯수가 4개가 되도록 말하면 재성이가 무조건 이기게 된다.

예를 들어 재성이가 먼저 1, 2를 부르고 상대방이 3을 부르면 재성이는 4, 5, 6 을 불러 총 갯수가 4개로 맞추고, 상대방이 3, 4, 5를 부르면 6만 불러 총 갯수를 4개로 맞추는 식이다.

이 방법을 알게된 재성이는 1:1 베스킨 라빈스 31개임에서 항상 이기게 되었고, 다른 비슷한 게임에서도 이기고 싶어진 재성이는  31개의 숫자가 아닌 N개의 숫자로, 한번에 3개의 숫자가 아닌 K개의 숫자를 부를 수 있을 때 재성이가 이기기 위해서는 처음에 불러야 하는 숫자가 몇인지 알고 싶어한다.

당신이 재성이 대신 어떻게 해야 이길 수 있는지 알려주는 프로그램을 만들어 주세요.

입력 설명

첫 줄에는 테스트 케이스 T (1 <= T <= 100) 이 주어집니다.

두번 째 줄부터는 총 갯수 N (1 <= N <= 100,000) 과 한번에 부를 수 있는 수 K (1 <= K <= 100,000)이 한줄에 하나씩 주어집니다.

출력 설명

재성이가 항상 처음 시작한다고 가정 했을 때, 1:1 게임에서 이기기 위해서는 재성이가 처음 말해야 하는 숫자의 갯수를 한줄에 하나 씩 출력 해주세요.

만약 이길 수 없는 경우 -1을 출력 해 주세요.

입력 예시 Copy

1
31 3

출력 예시 Copy

2

출처/분류