// editor3
#include<stdio.h>
#include<stdlib.h>
int create(int num);
int display();
typedef struct node
{
    int data;
    struct node *next;
    struct node *pre;
}node;
node *tail,*head,*newnode;
int main()
{
   int size,i,n;
   scanf("%d",&size);
   if(size <0)
   {
       printf("Invalid input");
       return 0;
   }
   for(i=0;i<size;i++)
   {
       scanf("%d",&n);
       create(n);
   }
   display();
   return 0;
}
int create(int num)
{
    newnode=(node*)malloc(sizeof(node));
    newnode->next=NULL;
     newnode->pre=NULL;
      newnode->data=num;
      if(head==NULL){
          head=newnode;
          tail=newnode;
      }
      else{
          newnode->pre=tail;
          tail->next=newnode;
          tail=newnode;
      }
}
int display()
{ node *tem;
  int min=head->data;
for(tem =head;tem!=NULL;tem=tem->next)
{   
    printf("%d ",tem->data);
    if(min > tem->data)
    {
        min =tem->data;
    }
    
} printf("\n");
printf("%d",min);