#include <stdio.h>

int main()
{
	FILE*	fp;
	char	buf[640];
	errno_t	err;
	int	x_size, y_size;
	int	max_gray;
	int	ix, iy;

	err = fopen_s(&fp, "std0.pgm", "rb");
	if (err) {
		fprintf(stderr, "fopen_s\n");
		return 1;
	}

	// P5
	fgets(buf, sizeof buf, fp);
	if (buf[0] != 'P' || buf[1] != '5') {
		fprintf(stderr, "not P5\n");
		return 1;
	}

	// x y
	x_size = y_size = 0;
	while (x_size == 0) {
		fgets(buf, sizeof buf, fp);
		if (buf[0] == '#') continue;
		sscanf_s(buf, "%d%d", &x_size, &y_size);
	}

	// max
	max_gray = 0;
	while (max_gray == 0) {
		fgets(buf, sizeof buf, fp);
		if (buf[0] == '#') continue;
		sscanf_s(buf, "%d", &max_gray);
	}

	printf("%d %d\n", x_size, y_size);
	printf("%d\n", max_gray);

	for (ix = 0; ix < x_size; ix++) {
		for (iy = 0; iy < y_size; iy++) {
			printf("%02x", fgetc(fp));
		}
		printf("\n");
	}

	fclose(fp);
	return 0;
}

/*
32 32
255
fffffffffffffffffffffffbaf7f7f7f7f7f7f7faffbffffffffffffffffffff
fffffffffffffffffffff4e0651717171717130556dff4ffffffffffffffffff
ffffffffffffffffffffb2528bafafafafaf8e261d4db2ffffffffffffffffff
ffffffffffffffffedc2864dbaffffffffffdc6f474786c2edffffffffffffff
ffffffffffffffffc74273e0f3fffffffffff9e6dfdf7342c7ffffffffffffff
fffffffffffff7b065156fffffffffffffffffffffff6f1565b0f7ffffffffff
ffffffffffffef57030d78ffffffffffffffffffffff780d0357efffffffffff
ffffffffffffef57298dcdffffffffffffffffffffffcd8d2957efffffffffff
ffffffffffe1b3413fd7ffffffffffffffffffffffffffd73f41b3e1ffffffff
ffffffffff9a250d3fd7ffffffffffffffffffffffffffd73f0d259affffffff
ffffffffff8700003fd7ffffffffffffffffffffffffffd73f000087ffffffff
ffffffffff8700003fd7ffffffffffffffffffffffffffd73f000087ffffffff
ffffffffff8700003fd7ffffffffffffffffffffffffffd73f000087ffffffff
ffffffffff8700003fd7ffffffffffffffffffffffffffd73f000087ffffffff
ffffffffff8700003fd7ffffffffffffffffffffffffffd73f000087ffffffff
ffffffffff8700003fd7ffffffffffffffffffffffffffd73f000087ffffffff
ffffffffff8700003fd7ffffffffffffffffffffffffffd73f000087ffffffff
ffffffffff8700003fd7ffffffffffffffffffffffffffd73f000087ffffffff
ffffffffff8700003fd7ffffffffffffffffffffffffffd73f000087ffffffff
ffffffffff8700003fd7ffffffffffffffffffffffffffd73f000087ffffffff
ffffffffff8700003fd7ffffffffffffffffffffffffffd73f000087ffffffff
ffffffffff8700003fd7ffffffffffffffffffffffffffd73f000087ffffffff
ffffffffff8700003fd7ffffffffffffffffffffffffffd73f000087ffffffff
ffffffffff9a250d3fd7ffffffffffffffffffffffffffd73f0d259affffffff
ffffffffffe1b3413fd7ffffffffffffffffffffffffffd73f41b3e1ffffffff
ffffffffffffef57298dcdffffffffffffffffffffffcd8d2957efffffffffff
ffffffffffffef57030d78ffffffffffffffffffffff780d0357efffffffffff
fffffffffffff7b065156fffffffffffffffffffffff6f1565b0f7ffffffffff
ffffffffffffffffc74273dfdfe6f9fffffffffff3e07342c7ffffffffffffff
ffffffffffffffffedc28647476fdcffffffffffba4d86c2edffffffffffffff
ffffffffffffffffffffb24d1d268eafafafafaf8b52b2ffffffffffffffffff
fffffffffffffffffffff4df560513171717171765e0f4ffffffffffffffffff
*/
