using namespace std;
string s {to_string(a)}, f;
regex p {"\\."};
sregex_token_iterator r {
begin(s), end(s), p, -1
};
int i {stoi(*r)}, n {stoi(*++r)},
d {int(pow(10, r->length()))},
v {gcd(n, d)};
if (v) {
n /= v;
d /= v;
}
if (not n) f = to_string(i);
else {
f = to_string(n) + '/' + to_string(d);
if (i) f = to_string(i) + ' ' + f;
}
import static java.lang.Integer.parseInt;
import static java.lang.Math.pow;
import static java.lang.String.valueOf;
String s[] = valueOf(a).split("\\."), f;
int i = parseInt(s[0]), n = parseInt(s[1]),
d = (int) pow(10, s[1].length()), v;
record GCF() {
static int of(int a, int b) {
return b == 0 ? a : of(b, a % b);
}
}
if ((v = GCF.of(n, d)) != 0) {
n = n / v;
d = d / v;
}
if (n == 0) f = valueOf(i);
else if (i != 0) f = "%s %s/%s".formatted(i, n, d);
else f = "%s/%s".formatted(n, d);