#include <iostream>
using namespace std;
long long gcd(long long a, long long b) {
while (b != 0) {
long long t = a % b;
a = b;
b = t;
}
return a;
}
bool isPowerOfTwo(long long n) {
return n > 0 && (n & (n - 1)) == 0;
}
int main() {
long long p, q;
cin >> p >> q; // we/wy zgodne z Ideone
// Sprawdzamy, czy ułamek właściwy
if (p >= q) {
cout << "To nie jest ulamek wlasciwy.\n";
return 0;
}
// Sprowadzamy do postaci nieskracalnej
long long g = gcd(p, q);
p /= g;
q /= g;
// Sprawdzamy, czy mianownik to potęga 2
if (!isPowerOfTwo(q)) {
cout << "Mianownik nie jest potega dwojki.\n";
return 0;
}
cout << "0.";
// q = 2^k → rozwinięcie ma dokładnie k bitów
while (q > 1) {
p *= 2;
if (p >= q) {
cout << "1";
p -= q;
} else {
cout << "0";
}
q /= 2;
}
cout << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKbG9uZyBsb25nIGdjZChsb25nIGxvbmcgYSwgbG9uZyBsb25nIGIpIHsKICAgIHdoaWxlIChiICE9IDApIHsKICAgICAgICBsb25nIGxvbmcgdCA9IGEgJSBiOwogICAgICAgIGEgPSBiOwogICAgICAgIGIgPSB0OwogICAgfQogICAgcmV0dXJuIGE7Cn0KCmJvb2wgaXNQb3dlck9mVHdvKGxvbmcgbG9uZyBuKSB7CiAgICByZXR1cm4gbiA+IDAgJiYgKG4gJiAobiAtIDEpKSA9PSAwOwp9CgppbnQgbWFpbigpIHsKICAgIGxvbmcgbG9uZyBwLCBxOwogICAgY2luID4+IHAgPj4gcTsgIC8vIHdlL3d5IHpnb2RuZSB6IElkZW9uZQoKICAgIC8vIFNwcmF3ZHphbXksIGN6eSB1xYJhbWVrIHfFgmHFm2Npd3kKICAgIGlmIChwID49IHEpIHsKICAgICAgICBjb3V0IDw8ICJUbyBuaWUgamVzdCB1bGFtZWsgd2xhc2Npd3kuXG4iOwogICAgICAgIHJldHVybiAwOwogICAgfQoKICAgIC8vIFNwcm93YWR6YW15IGRvIHBvc3RhY2kgbmllc2tyYWNhbG5lagogICAgbG9uZyBsb25nIGcgPSBnY2QocCwgcSk7CiAgICBwIC89IGc7CiAgICBxIC89IGc7CgogICAgLy8gU3ByYXdkemFteSwgY3p5IG1pYW5vd25payB0byBwb3TEmWdhIDIKICAgIGlmICghaXNQb3dlck9mVHdvKHEpKSB7CiAgICAgICAgY291dCA8PCAiTWlhbm93bmlrIG5pZSBqZXN0IHBvdGVnYSBkd29qa2kuXG4iOwogICAgICAgIHJldHVybiAwOwogICAgfQoKICAgIGNvdXQgPDwgIjAuIjsKCiAgICAvLyBxID0gMl5rIOKGkiByb3p3aW5pxJljaWUgbWEgZG9rxYJhZG5pZSBrIGJpdMOzdwogICAgd2hpbGUgKHEgPiAxKSB7CiAgICAgICAgcCAqPSAyOwogICAgICAgIGlmIChwID49IHEpIHsKICAgICAgICAgICAgY291dCA8PCAiMSI7CiAgICAgICAgICAgIHAgLT0gcTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb3V0IDw8ICIwIjsKICAgICAgICB9CiAgICAgICAgcSAvPSAyOwogICAgfQoKICAgIGNvdXQgPDwgZW5kbDsKICAgIHJldHVybiAwOwp9Cg==