#include<bits/stdc++.h>
using namespace std;
bool solve(string& s) {
    stack<char>sk;
    /*string s;
    getline(cin, s);*/
    int len = s.size();
    for (int i = 0; i < len; i++) {
        if (s[i] == '(' || s[i] == '[') {
            sk.push(s[i]);
        } else if (s[i] == ')') {
            if (sk.empty() || sk.top() != '(') {
                return false;
            }

            sk.pop();
        } else if (s[i] == ']') {
            if (sk.empty() || sk.top() != '[') return false;
            sk.pop();
        } else {
            continue;
        }
    }
    return sk.empty();
    //return true;
}

int main() {
    string s;
    getline(cin, s);
    if (solve(s))cout << "true";
    else {
        cout << "false";
    }
    return 0;
}