#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
using namespace std;
bool DFS(const vector<double>& nums) {
if (nums.size() == 1) {
if (abs(nums[0]-24) <= 0.00000001) {
return true;
} else {
return false;
}
}
for (int i = 0; i < nums.size(); i++) {
vector<double> tmpVec1 = nums;
double temp1 = nums[i];
auto it1 = find(tmpVec1.begin(), tmpVec1.end(), temp1);
tmpVec1.erase(it1);
for (int j = i + 1; j < nums.size(); j++) {
vector<double> tmpVec2 = tmpVec1;
double temp2 = nums[j];
auto it2 = find(tmpVec2.begin(), tmpVec2.end(), temp2);
tmpVec2.erase(it2);
vector<double> res;
res.push_back(temp1 * temp2);
if (temp1 != 0) {
res.push_back(temp2 / temp1);
}
res.push_back(temp1 + temp2);
res.push_back(temp1 - temp2);
res.push_back(temp2 - temp1);
if (temp2 != 0)
res.push_back(temp1 / temp2);
for (int z = 0; z < res.size(); z++) {
tmpVec2.push_back(res[z]);
if (DFS(tmpVec2)) return true;
tmpVec2.erase(find(tmpVec2.begin(), tmpVec2.end(), res[z]));
}
}
}
return false;
}
int main() {
double n1, n2, n3, n4;
cin >> n1 >> n2 >> n3 >> n4;
vector<double> nums = {n1, n2, n3, n4};
bool flag = DFS(nums);
if (flag)
cout << "true";
else cout << "false";
}
// 64 位输出请用 printf("%lld")