#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
double cal(double a, double b, char c) {
switch (c) {
case '+' :
return a + b;
case '-' :
return a - b;
case '*' :
return a * b;
case '/' :
return a / b;
}
return 0;
}
bool check(vector<double> v) {
char op[4] = {'+', '-', '*', '/'};
sort(v.begin(), v.end());
do {
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
for (int k = 0; k < 4; k++) {
if (abs(cal(cal(cal(v[0], v[1], op[i]), v[2], op[j]), v[3],
op[k]) - 24) < 1e-6 ||
abs(cal(cal(v[0], cal(v[1], v[2], op[j]), op[i]), v[3], op[k]) - 24) < 1e-6 ||
abs(cal(cal(v[0], v[1], op[i]), cal(v[2], v[3], op[k]), op[j]) - 24) < 1e-6 ||
abs(cal(v[0], cal(cal(v[1], v[2], op[j]), v[3], op[k]), op[i]) - 24) < 1e-6 ||
abs(cal(v[0], cal(v[1], cal(v[2], v[3], op[k]), op[j]), op[i]) - 24) < 1e-6) {
// cout<<v[0]<<op[i]<<v[1]<<op[j]<<v[2]<<op[k]<<v[3];
return true;
}
}
}
}
} while (next_permutation(v.begin(), v.end()));
return false;
}
int main() {
vector<double> v(4);
while (cin >> v[0] >> v[1] >> v[2] >> v[3]) { // 注意 while 处理多个 case
if (check(v)) {
cout << "true" << endl;
} else {
cout << "false" << endl;
}
}
}
// 64 位输出请用 printf("%lld")