#include <iostream>//提供輸入輸出功能。
#include <vector>//提供動態陣列功能。
#include <sstream>//提供字符串流功能,用於處理和分割輸入字符串。
#include <cmath>//提供數學函數,例如 pow 用於乘方運算。
using namespace std;//使用標準命名空間,以簡化代碼。
int main (){
string input;
getline(cin, input);//讀取整行輸入
stringstream ss(input);//將輸入字符串轉換為字符串流,便於逐個提取數字
vector<long long int> numbers;
long long int number;
while (ss >> number) {
numbers.push_back(number);
}//從字符串流中提取數字,並存儲到 numbers 向量中
if (numbers.size() < 3) {
cerr << "Invalid input. At least two operands and one result are required." << endl;
return 1;
}//如果輸入數字少於三個,輸出錯誤信息並結束程序
long long int result = numbers.back();//將輸入的最後一個數字作為結果存儲在 result 中
numbers.pop_back();//使用 pop_back() 將最後一個數字從 numbers 向量中移除,剩下的數字即為操作數
vector<string> operators = {"+", "-", "*", "/", "**"};//向量存儲所有可能的操作符
vector<string> found_ops;//向量將存儲符合條件的操作符
if (numbers.size() == 2) {
long long int a = numbers[0], b = numbers[1];
if (a + b == result) {
found_ops.push_back("+");
}
if (a - b == result) {
found_ops.push_back("-");
}
if (a * b == result) {
found_ops.push_back("*");
}
if (b != 0 && a / b == result) {
found_ops.push_back("/");
}
if (pow(a, b) == result) {
found_ops.push_back("**");
}
}//檢查兩個數字的情況,分別對應加、減、乘、除和乘方操作符進行判斷並將符合條件的操作符添加到 found_ops 中
if (numbers.size() == 3) {
long long int a = numbers[0], b = numbers[1], c = numbers[2];
if (a + b + c == result) {
found_ops.push_back("+");
}
if (a - b - c == result) {
found_ops.push_back("-");
}
if (a * b * c == result) {
found_ops.push_back("*");
}
if (b != 0 && c != 0 && a / b / c == result) {
found_ops.push_back("/");
}
if (pow(pow(a, b), c) == result) {
found_ops.push_back("**");
}
}//現在換三個數字
for (const string &op : found_ops) {
cout << op << endl;
}//將所有符合條件的操作符輸出
return 0;
}