#include <stdio.h>
#include <string.h>
#include <ctype.h>

#define MAX 100000   


char stack[MAX];
int top = -1;

void push(char c) {
    if (top < MAX - 1) {
        stack[++top] = c;
    }
}

char pop() {
    if (top >= 0) {
        return stack[top--];
    }
    return '\0'; 
}

char peek() {
    if (top >= 0) return stack[top];
    return '\0';
}

int isMatchingPair(char open, char close) {
    return (open == '(' && close == ')') ||
           (open == '{' && close == '}') ||
           (open == '[' && close == ']');
}

const char* isValidSequence(const char* expression) {
    int n = strlen(expression);

    for (int i = 0; i < n; i++) {
        char ch = expression[i];

return };