>>284 やり直し
#include <stdio.h>
void solve(int a, int b, int c) {
    int i, j;
    if (a == 0) {
        printf("a==0は2次方程式ではありません\n");
        return;
    }
    if (c == 0) {
        printf("(%dx+%d)(%dx+%d)\n", 1, 0, a, b);
        return;
    }
    for (i = a > 0 ? 1 : a; i <= (a > 0 ? a : -1); ++i) {
        if (a % i != 0) continue;
        for (j = c > 0 ? 1 : c; j <= (c > 0 ? c : -1); ++j)
            if (c % j == 0 && i * j + a / i * c / j == b) {
                printf("(%dx+%d)(%dx+%d)\n", i, c / j, a / i, j);
                return;
            }
    }
    printf("不可能\n");
}
int main(void) {
    int a, b, c;
    for (; ; ) {
        printf("a b c\n");
        scanf("%d%d%d", &a, &b, &c);
        solve(a, b, c);
    }
}