#include<stdlib.h>
#include<stdio.h>
#include<ctype.h>
#include<string.h>
#define max 25
char stack[max][max];
int top=-1;
void push(char ch[]){
    strcpy(stack[++top]=ch);
}
char *pop(){
    return stack[top--];
}
int isoperation(char ch){
    return (ch== '+'|| ch== '-'|| ch== '*'|| ch== '/');
}
int isvalid(char ch){
    return (isalnum(ch)|| ch== '+'||ch== '-'|| ch== '*'|| ch== '/'|| ch== '('|| ch== ')');
}
void fun(char *str){
    int len=strlen(str),ind;
    for(ind=len-1;ind>=0;ind--){
    char ch=str[ind];
    if(!isvalid){
        printf("Invalid input");
    }
    else if(isoperation(ch){
        char opd1[max],opd2[max],res[max];
        strcpy(opd1,pop());
        strcpy(opd2,pop());
        strcpy(opd1,res);
        strcat(opd2,res);
        int l=strlen[res];
        res[l]=ch;
        res[l+1]='\0';
        push(res);
    }
    }
    printf("%s",stack[top]);
}