P1024

#include <bits/stdc++.h>

typedef long double ld;
int t;
bool c[20];

void trans(int x, int sep = 10) {
    memset(c, false, sizeof(c));
    for (int i = 0; x; ++ i, x >>= 1) {
        c[i] = bool(x & 1);
    }
    int stat = -1, end = -1;
    for (int i = 19; i >= sep; -- i) {
        if (c[i]) {
            stat = i;
            break;
        }
    }
    for (int i = 0; i < sep; ++ i) {
        if (c[i]) {
            end = i;
            break;
        }
    }
    if (stat == -1) {
        putchar('0');
    } else {
        for (int i = stat; i >= sep; -- i) {
            putchar('0' + int(c[i]));
        }
    }
    if (end != -1) {
        putchar('.');
        for (int i = sep - 1; i >= end; -- i) {
            putchar('0' + int(c[i]));
        }
    }
    puts("");
    return;
}

int main(void) {
    scanf("%d", &t);
    while (t --) {
        ld inpx;
        int x;
        scanf("%Lf", &inpx);
        x = round(inpx * 1024);
        trans(x);
    }
    return 0;
}