function get_value_formulas(operations, numbers, to_value, num_index=0, running_expr=[], candidates=[]) {
if (running_expr.length == 0) {
running_expr.push(numbers[0]);
}
for (let op in operations) {
running_expr.push(operations[op]);
running_expr.push(numbers[num_index + 1]);
if (num_index + 2 == numbers.length) {
if (eval(running_expr.join().replace(/,/g, '')) == to_value) {
candidates.push(running_expr.join().replace(/,/g, ''));
}
}
else {
get_value_formulas(operations, numbers, to_value, num_index + 1, running_expr, candidates);
}
running_expr.pop();
running_expr.pop();
}
return {value: to_value, candidates: candidates};
}