using System;
public class Test
{
public static void Main()
{
Calc();
}
//Warning: Stupid looking code!
static void Calc() {//puzzling.stackexchange.com/questions/27640
int count = 0;
int modCount = 0;
int A,B,C,D,E,F,G,H;
for (int AXC = 100; AXC <= 999; AXC++) {
for (int FX8XX = 10800; FX8XX <= 90809; FX8XX++) {
if (FX8XX / 10 % 1000 != 80) continue;
int XXBDXXXX = AXC * FX8XX;
if (XXBDXXXX < 10000000) continue;
if (XXBDXXXX > 99999999) break;
F = FX8XX / 10000;
int XXJ = F * AXC;
if (XXJ < 100 || XXJ > 999) continue;
int GX = XXBDXXXX / 10000 - XXJ;
if (GX < 10 || GX > 99) continue;
int GXXX = GX * 100 + XXBDXXXX / 100 % 100;
int XXH = 8 * AXC;
if (XXH < 100 || XXH > 999) continue;
int XX = GXXX - XXH;
if (XX < 10 || XX > 99) continue;
int XXXX = XX * 100 + XXBDXXXX % 100;
int XXXE = FX8XX % 10 * AXC;
if (XXXE < 1000 || XXXE > 9999) continue;
A = AXC / 100;
B = XXBDXXXX / 100000 % 10;
C = AXC % 10;
D = XXBDXXXX / 1000 % 10;
E = XXXE % 10;
G = GX / 10;
H = XXH % 10;
if (XXXX == XXXE) {
modCount++;
Console.WriteLine("{0} * {1} = {2} {3}",
AXC, FX8XX, XXBDXXXX, new {A,B,C,D,E,F,G,H});
Console.WriteLine("XXJ " + XXJ);
Console.WriteLine("GXXX " + GXXX);
Console.WriteLine("XXH " + XXH);
Console.WriteLine("XXXX " + XXXX);
Console.WriteLine("XXXE " + XXXE);
}
count++;
}
}
Console.WriteLine("count = " + count);
Console.WriteLine("modCount = " + modCount);
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCUNhbGMoKTsKCX0KCgkvL1dhcm5pbmc6IFN0dXBpZCBsb29raW5nIGNvZGUhCglzdGF0aWMgdm9pZCBDYWxjKCkgey8vcHV6emxpbmcuc3RhY2tleGNoYW5nZS5jb20vcXVlc3Rpb25zLzI3NjQwCgkJaW50IGNvdW50ID0gMDsKCQlpbnQgbW9kQ291bnQgPSAwOwoJCWludCBBLEIsQyxELEUsRixHLEg7CgkJZm9yIChpbnQgQVhDID0gMTAwOyBBWEMgPD0gOTk5OyBBWEMrKykgewoJCQlmb3IgKGludCBGWDhYWCA9IDEwODAwOyBGWDhYWCA8PSA5MDgwOTsgRlg4WFgrKykgewoJCQkJaWYgKEZYOFhYIC8gMTAgJSAxMDAwICE9IDgwKSBjb250aW51ZTsKCQkJCWludCBYWEJEWFhYWCA9IEFYQyAqIEZYOFhYOwoJCQkJaWYgKFhYQkRYWFhYIDwgMTAwMDAwMDApIGNvbnRpbnVlOwoJCQkJaWYgKFhYQkRYWFhYID4gOTk5OTk5OTkpIGJyZWFrOwoJCQkJRiA9IEZYOFhYIC8gMTAwMDA7CgkJCQlpbnQgWFhKID0gRiAqIEFYQzsKCQkJCWlmIChYWEogPCAxMDAgfHwgWFhKID4gOTk5KSBjb250aW51ZTsKCQkJCWludCBHWCA9IFhYQkRYWFhYIC8gMTAwMDAgLSBYWEo7CgkJCQlpZiAoR1ggPCAxMCB8fCBHWCA+IDk5KSBjb250aW51ZTsKCQkJCWludCBHWFhYID0gR1ggKiAxMDAgKyBYWEJEWFhYWCAvIDEwMCAlIDEwMDsKCQkJCWludCBYWEggPSA4ICogQVhDOwoJCQkJaWYgKFhYSCA8IDEwMCB8fCBYWEggPiA5OTkpIGNvbnRpbnVlOwoJCQkJaW50IFhYID0gR1hYWCAtIFhYSDsKCQkJCWlmIChYWCA8IDEwIHx8IFhYID4gOTkpIGNvbnRpbnVlOwoJCQkJaW50IFhYWFggPSBYWCAqIDEwMCArIFhYQkRYWFhYICUgMTAwOwoJCQkJaW50IFhYWEUgPSBGWDhYWCAlIDEwICogQVhDOwoJCQkJaWYgKFhYWEUgPCAxMDAwIHx8IFhYWEUgPiA5OTk5KSBjb250aW51ZTsKCQkJCUEgPSBBWEMgLyAxMDA7CgkJCQlCID0gWFhCRFhYWFggLyAxMDAwMDAgJSAxMDsKCQkJCUMgPSBBWEMgJSAxMDsKCQkJCUQgPSBYWEJEWFhYWCAvIDEwMDAgJSAxMDsKCQkJCUUgPSBYWFhFICUgMTA7CgkJCQlHID0gR1ggLyAxMDsKCQkJCUggPSBYWEggJSAxMDsKCQkJCWlmIChYWFhYID09IFhYWEUpIHsKCQkJCQltb2RDb3VudCsrOwoJCQkJCUNvbnNvbGUuV3JpdGVMaW5lKCJ7MH0gKiB7MX0gPSB7Mn0gezN9IiwKCQkJCQlBWEMsIEZYOFhYLCBYWEJEWFhYWCwgbmV3IHtBLEIsQyxELEUsRixHLEh9KTsKCQkJCQlDb25zb2xlLldyaXRlTGluZSgiWFhKICIgKyBYWEopOwoJCQkJCUNvbnNvbGUuV3JpdGVMaW5lKCJHWFhYICIgKyBHWFhYKTsKCQkJCQlDb25zb2xlLldyaXRlTGluZSgiWFhIICIgKyBYWEgpOwoJCQkJCUNvbnNvbGUuV3JpdGVMaW5lKCJYWFhYICIgKyBYWFhYKTsKCQkJCQlDb25zb2xlLldyaXRlTGluZSgiWFhYRSAiICsgWFhYRSk7CgkJCQl9CgkJCQljb3VudCsrOwoJCQl9CgkJfQoJCUNvbnNvbGUuV3JpdGVMaW5lKCJjb3VudCA9ICIgKyBjb3VudCk7CgkJQ29uc29sZS5Xcml0ZUxpbmUoIm1vZENvdW50ID0gIiArIG1vZENvdW50KTsKCX0KCn0=