//#include <stdio.h>
//
//int stack[10];
//int top;
//
//void init() //초기화
//{
// top = -1;
//}
//
//void push(int data)
//{
// top++;
// stack[top]=data;
//}
//
//int pop()
//{
// int data;
// data = stack[top];
// top--;
// return data;
//}
//
//void view()
//{
// int i = 0;
// for(i = 0; i<=top ; i++)
// {
// printf("%d", stack[i]);
// }
//
//}
//
//int main()
//{
// int i, n;
// init();
// scanf("%d", &n);
// if(n==0)
// {
// printf("0");
// return 0;
// }
// while(n>0)
// {
// push(n%10);
// n=n/10;
// }
// view();
//
// return 0;
//}
//#include <stdio.h>
//
//char stack[1000];
//int top;
//
//void init() //초기화
//{
// top = -1;
//}
//
//void push(char data)
//{
// top++;
// stack[top]=data;
//
//}
//
//char pop()
//{
// char data = stack[top];
// top--;
// return data;
//}
//
//void view()
//{
// int i = 0;
// for(i = top; i>=0 ; i--)
// {
// printf("%c", stack[i]);
// }
//
//}
//
//int main()
//{
// int i, n, a, d=0;
// char str[201];
// init();
// scanf("%d%s", &n,str);
// for(i=n-1;i>=0;i--)
// {
// push(str[i]);
// }
// for(i = 0; i<n; i++)
// {
// printf("%c",pop());
// if((top+1)%3==0 && top!=-1){
// printf(",");
// }
// }
#include <stdio.h>
int stack[100001];
int top;
void init()
{
top = 0;
}
void push(int data)
{
stack[top]=data;
top++;
}
int pop()
{
int data;
data = stack[top];
top--;
return data;
}
void view()
{
int i = 0;
for(i = 0; i<top ; i++)
{
printf("%d", stack[i]);
}
}
int main()
{
int i, n, k, d=0;
init();
scanf("%d", &n);
for(i=1;i<=n;i++)
{
scanf("%d", &k);
if(k!=0)
{
push(k);
}
else
{
pop();
}
}
for(i=0;i<top;i++)
{
d=d+stack[i];
}
printf("%d", d);
}