#include <stdio.h>
#include <stdlib.h>

typedef
	union {
		float f;
		int   i;
	} fp;

void bin(int u)
{
	int k=0;
	for (unsigned t=0x80000000; t; t>>=1) {
		switch(k) {
			case 1:
				putchar(' ');
				putchar( t & u ? '0' : '1');
				break;
			case 9:
				printf(" [1]");
				break;
			case 10:
				putchar('.');
				break;
		}
		if (k!=1)
			putchar( t & u ? '1' : '0');
		++k;
	}
	putchar('\n');
}

void equiv( fp x )
{
	printf("%f\n", x.f);
	bin(x.i);
}

int main(void)
{
	int t;
	fp x;
	do {
		t= scanf("%f", &x.f);
		equiv(x);
	} while (t!=0 && x.f != 0.0);

	return 0;
}


