import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine()); // 정수의 개수 N
int[] arr = new int[N];
String str; // 배열을 담아둘 문자열
int min = 1000001; // 최솟값 변수 초기화
int max = -1000001; // 최댓값 변수 초기화
str = br.readLine();
StringTokenizer st = new StringTokenizer(str);
for(int i = 0; i < N; i++)
{
arr[i] = Integer.parseInt(st.nextToken());
if(arr[i] < min)
min = arr[i];
if(arr[i] > max)
max = arr[i];
}
System.out.printf("%d %d", min, max);
}
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Integer.parseInt(br.readLine()); //첫 줄 N 은 안쓰이므로 입력만 받는다.
StringTokenizer st = new StringTokenizer(br.readLine()," ");
int max = -1000001;
int min = 1000001;
while(st.hasMoreTokens()) {
int val = Integer.parseInt(st.nextToken());
if(val>max) {
max = val;
}
if(val<min) {
min = val;
}
}
System.out.println(min + " " + max);
}
}
hasMoreTokens() 는 StringTokenizer 에 토큰이 남아있으면 true, 비어있으면 false를 반환한다