#include <stdio.h>
#include <string.h>

int is_legal_exp (const char *s) {

	int counter=0;
	while (*s !='\0') {
		
		if (strchr("0123456789.+-*/() ",*s)==NULL)
			return 0;

		if (*s=='(')
			counter++;
		else if (*s==')')
			counter--;

		if (counter<0)
			return 0;

		s++;
	}
	if (counter!=0)
		return 0;
	return 1;
}	

int main() {

	char s1[]="12.4";
	char s2[]="3 +4.5";
	char s3[]="(3 + 1.5)/2";
	char s4[]="((3+4)/(2*(5.6-2)))";
	char s5[]="34/y * (3 + 6.25)*x";
	char s6[]="(7 + 9.34)*2.3 + 65.4/(12 + 6";
	char s7[]="((1 + 2)*4 + (7 + 8))*3) + 12";

	printf("is s1 legal? %d\n",is_legal_exp(s1));
	printf("is s2 legal? %d\n",is_legal_exp(s2));
	printf("is s3 legal? %d\n",is_legal_exp(s3));
	printf("is s4 legal? %d\n",is_legal_exp(s4));
	printf("is s5 legal? %d\n",is_legal_exp(s5));
	printf("is s6 legal? %d\n",is_legal_exp(s6));
	printf("is s7 legal? %d\n",is_legal_exp(s7));

	return 0;
}

