#include <iostream>
#include <map>
using namespace std;
int gcd(int a, int b) {
while (b != 0) {
int t = a % b;
a = b;
b = t;
}
return a;
}
int main() {
int a, b;
cin >> a >> b;
// skracamy
int g = gcd(a, b);
a /= g;
b /= g;
if (a >= b) {
cout << "Ulamek nie jest wlasciwy\n";
return 0;
}
cout << "0.";
map<int, int> seen;
string result = "";
int r = a;
int pos = 0;
// Limit -> aby IDEONE nie ucinal procesu
const int MAX_DIGITS = 5000;
while (pos < MAX_DIGITS) {
if (r == 0) {
cout << result << "\n";
return 0;
}
if (seen.count(r)) {
int start = seen[r];
cout << result.substr(0, start)
<< "("
<< result.substr(start)
<< ")\n";
return 0;
}
seen[r] = pos;
pos++;
r *= 2;
if (r >= b) {
result += '1';
r -= b;
} else {
result += '0';
}
}
cout << "Przerwano (za dlugi okres na IDEONE)\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IGdjZChpbnQgYSwgaW50IGIpIHsKICAgIHdoaWxlIChiICE9IDApIHsKICAgICAgICBpbnQgdCA9IGEgJSBiOwogICAgICAgIGEgPSBiOwogICAgICAgIGIgPSB0OwogICAgfQogICAgcmV0dXJuIGE7Cn0KCmludCBtYWluKCkgewogICAgaW50IGEsIGI7CiAgICBjaW4gPj4gYSA+PiBiOwoKICAgIC8vIHNrcmFjYW15CiAgICBpbnQgZyA9IGdjZChhLCBiKTsKICAgIGEgLz0gZzsKICAgIGIgLz0gZzsKCiAgICBpZiAoYSA+PSBiKSB7CiAgICAgICAgY291dCA8PCAiVWxhbWVrIG5pZSBqZXN0IHdsYXNjaXd5XG4iOwogICAgICAgIHJldHVybiAwOwogICAgfQoKICAgIGNvdXQgPDwgIjAuIjsKCiAgICBtYXA8aW50LCBpbnQ+IHNlZW47CiAgICBzdHJpbmcgcmVzdWx0ID0gIiI7CgogICAgaW50IHIgPSBhOwogICAgaW50IHBvcyA9IDA7CgogICAgLy8gTGltaXQgLT4gYWJ5IElERU9ORSBuaWUgdWNpbmFsIHByb2Nlc3UKICAgIGNvbnN0IGludCBNQVhfRElHSVRTID0gNTAwMDsKCiAgICB3aGlsZSAocG9zIDwgTUFYX0RJR0lUUykgewogICAgICAgIGlmIChyID09IDApIHsKICAgICAgICAgICAgY291dCA8PCByZXN1bHQgPDwgIlxuIjsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfQoKICAgICAgICBpZiAoc2Vlbi5jb3VudChyKSkgewogICAgICAgICAgICBpbnQgc3RhcnQgPSBzZWVuW3JdOwogICAgICAgICAgICBjb3V0IDw8IHJlc3VsdC5zdWJzdHIoMCwgc3RhcnQpCiAgICAgICAgICAgICAgICAgPDwgIigiCiAgICAgICAgICAgICAgICAgPDwgcmVzdWx0LnN1YnN0cihzdGFydCkKICAgICAgICAgICAgICAgICA8PCAiKVxuIjsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfQoKICAgICAgICBzZWVuW3JdID0gcG9zOwogICAgICAgIHBvcysrOwoKICAgICAgICByICo9IDI7CgogICAgICAgIGlmIChyID49IGIpIHsKICAgICAgICAgICAgcmVzdWx0ICs9ICcxJzsKICAgICAgICAgICAgciAtPSBiOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJlc3VsdCArPSAnMCc7CiAgICAgICAgfQogICAgfQoKICAgIGNvdXQgPDwgIlByemVyd2FubyAoemEgZGx1Z2kgb2tyZXMgbmEgSURFT05FKVxuIjsKICAgIHJldHVybiAwOwp9Cgo=