//#include <stdio.h>
//#define MAXSIZE 5
//
//int stack[MAXSIZE] = {0};
//
//int top = 0;
//
//int isTrue = 0;
//int isFalse = 1;
//
//int emptyIndex(){
// if(top < 1){
// return isTrue;
// }
// else {
// return isFalse;
// }
//}
//
//int fullIndex(){
// if(top >= MAXSIZE - 1){
// return isTrue;
// }
// else {
// return isFalse;
// }
//}
//
//void input(int k) {
// if(fullIndex() == isTrue){
// printf("Full.\n");
// }
//
// else {
// stack[top++] = k;
// }
//}
//
//
//int output() {
// if(emptyIndex() == isTrue){
// printf("Empty.\n");
// }
// else {
// return stack[top--];
// }
//}
//
//
//void view() {
//
// for(int i=MAXSIZE-1; i>=0; i--) {
//
// printf("%d: %d\n", i, stack[i]);
//
// }
//
// printf("STACKEND----\n");
//
//}
//
//
//int main(){
//
// int x, y, n, k;
//
//
// for(;;) {
//
// printf("1: input, 2:output, 3:view\n");
//
// scanf("%d", &n);
//
//
// switch(n) {
//
// case 1:
//
// printf("input : ");
//
// scanf("%d", &k);
//
// input(k);
//
// break;
//
// case 2:
//
// x = output();
//
// printf("output data is %d\n", x);
//
// break;
//
// case 3:
//
// view();
// break;
//
// default:
//
// printf("ERORRORORRRORRROR\n");
//
// break;
//
// }
//
// }
//
//}
//#include<stdio.h>
//#define MAXSIZE 5
//
//int stack[MAXSIZE] = {0};
//int top = 0;
//
//void input(int k){
// if(top==MAXSIZE) {
// printf("STACK is FUULL\n");
// return;
// }
// stack[top++] = k;
//}
//
//void output() {
// if(top==0) {
// printf("STACK is EMPTY\n");
// return;
// }
// top--;
// printf("%d\n", stack[top]);
// stack[top] = 0;
//}
//
//void show() {
// int i;
//
// for(i=MAXSIZE-1; i>=0; i--) {
// printf("%d: %d\n", i, stack[i]);
// }
//}
//
//int main() {
// int n, k;
//
// for(;;) {
// printf("1:input, 2:output, 3:view:::> ");
// scanf("%d", &n);
//
// switch(n) {
// case 1:
// printf("input data is ");
// scanf("%d", &k);
// input(k);
// break;
// case 2:
// printf("output data is ");
// output();
// break;
// case 3:
// show();
// break;
// default:
// printf("ERIOROROEREROEREORERO");
//
// }
// }
//
//}
//
//
//
#include <stdio.h>
#define MAXSIZE 100000
int stack[MAXSIZE] = {0};
int top = 0, sum = 0;
void input(int k){
if(top < MAXSIZE){
stack[top] = k;
sum = sum + stack[top];
top++;
}
}
void output(){
if(top != 0){
top--;
sum = sum - stack[top];
stack[top] = 0;
}
}
int main(){
int n, i;
scanf("%d", &n);
int array[1005] = {0};
for(i = 0; i < n; i++){
scanf("%d", &array[i]);
if(array[i] == 0){
output();
}
else {
input(array[i]);
}
}
printf("%d\n", sum);
}



