//链表合并字符串
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
typedef struct Node{
int value;
struct Node *next;
}Node;
Node *getnewNode(int val){
Node *p=(Node *)malloc(sizeof(Node));
p->next=NULL;
p->value=val;
return p;
}
void changeinted(Node *head){
if(head==NULL) return ;
Node *p=head;
while(p){
if(p->value==0) {
while(p->value!=0){
p=p->next;
}
}else{
printf("%d",p->value);
}
p=p->next;
}
return ;
}
void clear(Node *head){
if(head==NULL) return ;
for(Node *p=head,*q;p;p=q){
q=p->next;
free(p);
}
return ;
}
void insertNode(Node **head,int val){
Node* newnode=getnewNode(val);
if(*head==NULL){
*head=newnode;
return ;
}
Node *p=*head;
while(p->next){
p=p->next;
}
p->next=newnode;
return ;
}
int main(void){
Node *head=NULL;
int n;
scanf("%d", &n);
int a[101];
for (int i = 0; i < n; i++){
scanf("%d", &a[i]);
insertNode(&head,a[i]);
}
changeinted(head);
clear(head);
return 0;
}