node *postfix_read() {
    vector<node*> v;
    string token;
    while (cin >> token) {
        string s = token;
        node *cur;
        if (is_opr(s)) {
            cur = new node(s);
            if (hasr[s]) { // اگر عملگر، عملوند راست داشت
                cur-> r = v.back();
                v.pop_back();
            }
            if (hasl[s]) { // اگر عملگر، عملوند چپ داشت
                cur-> l = v.back();
                v.pop_back();
            }
        }
        else
            cur = leaf(s);
        v.push_back(cur);
    }
    return v.back();
}