stack createStack() {
	stack s;
	s.elts = (stackElt*)malloc(STACK_CAPACITY * sizeof(stackElt));
	s.size = 0;
	return(s);
}
bool isEmptyStack(stack s) {return(s.size == 0);}
bool isFullStack (stack s) {return(s.size == STACK_CAPACITY);}
int  sizeOfStack (stack s) {return(s.size);}

stack push(stackElt e, stack s) { // s is not full
	s.elts[s.size++] = e;
	return(s);
}
stack pop(stack s) {              // s is not empty
	s.size--;
	return(s);
}
stackElt top(stack s) {           // s is not empty
	return(s.elts[s.size - 1]);
}

void showStack(stack s) {
	int i = s.size - 1;
	if (i > 0) do {
		printf("%4c", s.elts[i]);
	} while(i--);
	printf("\n");
}