#include<iostream>
using namespace std;
long long max(long long a, long long b) {
return a > b ? a : b;
}
int main() {
long long n, m;
cin >> n >> m;
long long res = 0;
if(n % 3 && m % 3 == 0) {
cout << -1;
return 0;
}
else {
long long MAX = max(3, m), MIN = 3 * m / MAX;
long long tmp = n / MAX;
while(tmp >= 0) {
if((n - tmp * MAX) % MIN == 0) {
res = tmp + (n - tmp * MAX) / MIN;
break;
}
tmp--;
}
}
if(res == 0) cout << -1;
else cout << res;
}
I2luY2x1ZGU8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpsb25nIGxvbmcgbWF4KGxvbmcgbG9uZyBhLCBsb25nIGxvbmcgYikgewogICAgcmV0dXJuIGEgPiBiID8gYSA6IGI7Cn0KCmludCBtYWluKCkgewogICAgbG9uZyBsb25nIG4sIG07CiAgICBjaW4gPj4gbiA+PiBtOwogICAgbG9uZyBsb25nIHJlcyA9IDA7CiAgICBpZihuICUgMyAmJiBtICUgMyA9PSAwKSB7CiAgICAgICAgY291dCA8PCAtMTsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIGVsc2UgewogICAgICAgIGxvbmcgbG9uZyBNQVggPSBtYXgoMywgbSksIE1JTiA9IDMgKiBtIC8gTUFYOwogICAgICAgIGxvbmcgbG9uZyB0bXAgPSBuIC8gTUFYOwogICAgICAgIHdoaWxlKHRtcCA+PSAwKSB7CiAgICAgICAgICAgIGlmKChuIC0gdG1wICogTUFYKSAlIE1JTiA9PSAwKSB7CiAgICAgICAgICAgICAgICByZXMgPSB0bXAgKyAobiAtIHRtcCAqIE1BWCkgLyBNSU47CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICB0bXAtLTsKICAgICAgICB9CiAgICB9CiAgICBpZihyZXMgPT0gMCkgY291dCA8PCAtMTsKICAgIGVsc2UgY291dCA8PCByZXM7Cn0=