#include<stdio.h>
#include<stdlib.h>

struct node
{
    int data;
    struct node *next;
};
int main()
{
    int n;
    scanf("%d",&n);
    if(n<=0)
    {
        printf("Invalid input");
        return 0;
    }
    else if(n==0)
    {
        printf("\n");
        printf("0");
        return 0;
    }
    struct node *head=NULL,*temp = NULL;
    for(int i=0;i<n;i++)
    {
        struct node *newnode = (struct node *)malloc(sizeof(struct node));
        scanf("%d",&newnode->data);
        newnode->next = NULL;
        if(head == NULL)
        {
            head = newnode;
        }
        else
        {
            temp->next = newnode;
        }
            temp = newnode;
        }
        
  
        temp = head;
        while(temp != NULL)
        {
            printf("%d",temp->data);
            if(temp->next != NULL)
            
        temp = temp->next;
    }
    printf("\n");
    
    int min=head->data;
    temp = head;

        while(temp != NULL)
        {
            if(temp->data < min)
            min = temp->data;
        
        temp = temp->next;
        }
        printf("%d ",min);
    return 0;
}