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

void getdigits(char buf[], int n)
{
    while (n) {
		*buf++ = n % 10;
		n /= 10;
	}
}

int compint(const void *a, const void *b)
{
	return *(const char *)a - *(const char *)b;
}

int is_vampire(char n[4], const char i[2], const char j[2])
{
	char k[4] = { i[0], i[1], j[0], j[1] };
	qsort(k, 4, sizeof(k[0]), compint);
	qsort(n, 4, sizeof(n[0]), compint);
	return !memcmp(n, k, sizeof(k));
}

int main()
{
	for (int i = 10; i < 100; i++) {
		for (int j = 10; j < 100; j++) {
			int n = i * j;
			if (n < 1000)
				continue;

			char ndigits[4];
			getdigits(ndigits, n);

			char idigits[2];
			char jdigits[2];
			getdigits(idigits, i);
			getdigits(jdigits, j);

			if (is_vampire(ndigits, idigits, jdigits))
				printf("%d * %d = %d\n", i, j, n);
		}
	}

	return 0;
}
