node *prefix_read() {
    string token;
    cin >> token;
    if (is_opr(token)) {
        node *cur = new node(token);
        if (hasl[token])
            cur-> l = prefix_read();
        if (hasr[token])
            cur-> r = prefix_read();
        return cur;
    }
    return leaf(token); //یک راس برگ با محتویات داده شده می‌سازد
}