
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {

	public static void main(String[] args) {
		FastReader sc = new FastReader();
		int n = sc.nextInt();
		int[] nums = new int[n];
		int[] maxLeft = new int[n];
		int[] maxRight = new int[n];
		// int[] res = new int[n];
		
		for (int i = 0; i < n; i++) {
			nums[i] = sc.nextInt();
			
			if (i == 0) {
			maxLeft[i] = nums[i];
			} else {
				maxLeft[i] = Math.max(maxLeft[i-1], nums[i]);
			}
		}
		// System.out.println(Arrays.toString(maxLeft));
		
		for (int i = n - 1; i >= 0; i--) {
			if (i == n - 1) {
				maxRight[i] = nums[i];
			} else {
				maxRight[i] = Math.max(maxRight[i+1], nums[i]);
			}
		}
		// System.out.println(Arrays.toString(maxRight));
		
		for (int i = 0; i < n; i++) {
			if (i == 0) {
				// res[i] = maxRight[1];
				System.out.print(maxRight[1] + " ");
			} else if (i == n - 1){
				// res[i] = maxLeft[i - 1];
				System.out.println(maxLeft[i - 1]);
			} else {
				//res[i] = Math.max(maxRight[i+1], maxLeft[i-1]);
				System.out.print(Math.max(maxRight[i+1], maxLeft[i-1]) + " ");
			}
		}
		
	}
	
	static class FastReader 
    { 
        BufferedReader br; 
        StringTokenizer st; 
  
        public FastReader() 
        { 
            br = new BufferedReader(new
                     InputStreamReader(System.in)); 
        } 
  
        String next() 
        { 
            while (st == null || !st.hasMoreElements()) 
            { 
                try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } 
            } 
            return st.nextToken(); 
        } 
  
        int nextInt() 
        { 
            return Integer.parseInt(next()); 
        } 
  
        long nextLong() 
        { 
            return Long.parseLong(next()); 
        } 
  
        double nextDouble() 
        { 
            return Double.parseDouble(next()); 
        } 
  
        String nextLine() 
        { 
            String str = ""; 
            try
            { 
                str = br.readLine(); 
            } 
            catch (IOException e) 
            { 
                e.printStackTrace(); 
            } 
            return str; 
        } 
    } 
} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io import java.util.StringTokenizer; StringTokenizer java.util public class Main {

	public static void main(String[] args) {
		FastReader sc = new FastReader();
		int n = sc.nextInt();
		int[] nums = new int[n];
		int[] maxLeft = new int[n];
		int[] maxRight = new int[n];
		// int[] res = new int[n];
		
		for (int i = 0; i < n; i++) {
			nums[i] = sc.nextInt();
			
			if (i == 0) {
			maxLeft[i] = nums[i];
			} else {
				maxLeft[i] = Math.max(maxLeft[i-1], nums[i]);
			}
		}
		// System.out.println(Arrays.toString(maxLeft));
		
		for (int i = n - 1; i >= 0; i--) {
			if (i == n - 1) {
				maxRight[i] = nums[i];
			} else {
				maxRight[i] = Math.max(maxRight[i+1], nums[i]);
			}
		}
		// System.out.println(Arrays.toString(maxRight));
		
		for (int i = 0; i < n; i++) {
			if (i == 0) {
				// res[i] = maxRight[1];
				System.out.print(maxRight[1] + " ");
			} else if (i == n - 1){
				// res[i] = maxLeft[i - 1];
				System.out.println(maxLeft[i - 1]);
			} else {
				//res[i] = Math.max(maxRight[i+1], maxLeft[i-1]);
				System.out.print(Math.max(maxRight[i+1], maxLeft[i-1]) + " ");
			}
		}
		
	}
	
	static class FastReader 
    { 
        BufferedReader br; 
        StringTokenizer st; 
  
        public FastReader() 
        { 
            br = new BufferedReader(new
                     InputStreamReader(System.in)); 
        } 
  
        String next() 
        { 
            while (st == null || !st.hasMoreElements()) 
            { 
                try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } 
            } 
            return st.nextToken(); 
        } 
  
        int nextInt() 
        { 
            return Integer.parseInt(next()); 
        } 
  
        long nextLong() 
        { 
            return Long.parseLong(next()); 
        } 
  
        double nextDouble() 
        { 
            return Double.parseDouble(next()); 
        } 
  
        String nextLine() 
        { 
            String str = ""; 
            try
            { 
                str = br.readLine(); 
            } 
            catch (IOException e) 
            { 
                e.printStackTrace(); 
            } 
            return str; 
        } 
    } 
} Main public static void main(String[] args) {
		FastReader sc = new FastReader();
		int n = sc.nextInt();
		int[] nums = new int[n];
		int[] maxLeft = new int[n];
		int[] maxRight = new int[n];
		// int[] res = new int[n];
		
		for (int i = 0; i < n; i++) {
			nums[i] = sc.nextInt();
			
			if (i == 0) {
			maxLeft[i] = nums[i];
			} else {
				maxLeft[i] = Math.max(maxLeft[i-1], nums[i]);
			}
		}
		// System.out.println(Arrays.toString(maxLeft));
		
		for (int i = n - 1; i >= 0; i--) {
			if (i == n - 1) {
				maxRight[i] = nums[i];
			} else {
				maxRight[i] = Math.max(maxRight[i+1], nums[i]);
			}
		}
		// System.out.println(Arrays.toString(maxRight));
		
		for (int i = 0; i < n; i++) {
			if (i == 0) {
				// res[i] = maxRight[1];
				System.out.print(maxRight[1] + " ");
			} else if (i == n - 1){
				// res[i] = maxLeft[i - 1];
				System.out.println(maxLeft[i - 1]);
			} else {
				//res[i] = Math.max(maxRight[i+1], maxLeft[i-1]);
				System.out.print(Math.max(maxRight[i+1], maxLeft[i-1]) + " ");
			}
		}
		
	} main {
		FastReader sc = new FastReader();
		int n = sc.nextInt();
		int[] nums = new int[n];
		int[] maxLeft = new int[n];
		int[] maxRight = new int[n];
		// int[] res = new int[n];
		
		for (int i = 0; i < n; i++) {
			nums[i] = sc.nextInt();
			
			if (i == 0) {
			maxLeft[i] = nums[i];
			} else {
				maxLeft[i] = Math.max(maxLeft[i-1], nums[i]);
			}
		}
		// System.out.println(Arrays.toString(maxLeft));
		
		for (int i = n - 1; i >= 0; i--) {
			if (i == n - 1) {
				maxRight[i] = nums[i];
			} else {
				maxRight[i] = Math.max(maxRight[i+1], nums[i]);
			}
		}
		// System.out.println(Arrays.toString(maxRight));
		
		for (int i = 0; i < n; i++) {
			if (i == 0) {
				// res[i] = maxRight[1];
				System.out.print(maxRight[1] + " ");
			} else if (i == n - 1){
				// res[i] = maxLeft[i - 1];
				System.out.println(maxLeft[i - 1]);
			} else {
				//res[i] = Math.max(maxRight[i+1], maxLeft[i-1]);
				System.out.print(Math.max(maxRight[i+1], maxLeft[i-1]) + " ");
			}
		}
		
	} FastReader sc = new FastReader(); sc new FastReader() int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc int[] nums = new int[n]; nums new int[n] n int[] maxLeft = new int[n]; maxLeft new int[n] n int[] maxRight = new int[n]; maxRight new int[n] n for (int i = 0; i < n; i++) {
			nums[i] = sc.nextInt();
			
			if (i == 0) {
			maxLeft[i] = nums[i];
			} else {
				maxLeft[i] = Math.max(maxLeft[i-1], nums[i]);
			}
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			nums[i] = sc.nextInt();
			
			if (i == 0) {
			maxLeft[i] = nums[i];
			} else {
				maxLeft[i] = Math.max(maxLeft[i-1], nums[i]);
			}
		} {
			nums[i] = sc.nextInt();
			
			if (i == 0) {
			maxLeft[i] = nums[i];
			} else {
				maxLeft[i] = Math.max(maxLeft[i-1], nums[i]);
			}
		} nums[i] = sc.nextInt() nums[i] nums i sc.nextInt() sc.nextInt sc if (i == 0) {
			maxLeft[i] = nums[i];
			} else {
				maxLeft[i] = Math.max(maxLeft[i-1], nums[i]);
			} i == 0 i 0 {
			maxLeft[i] = nums[i];
			} maxLeft[i] = nums[i] maxLeft[i] maxLeft i nums[i] nums i {
				maxLeft[i] = Math.max(maxLeft[i-1], nums[i]);
			} maxLeft[i] = Math.max(maxLeft[i-1], nums[i]) maxLeft[i] maxLeft i Math.max(maxLeft[i-1], nums[i]) Math.max Math maxLeft[i-1] maxLeft i-1 i 1 nums[i] nums i for (int i = n - 1; i >= 0; i--) {
			if (i == n - 1) {
				maxRight[i] = nums[i];
			} else {
				maxRight[i] = Math.max(maxRight[i+1], nums[i]);
			}
		} int i = n - 1; int i = n - 1; i n - 1 n 1 i >= 0 i 0 i-- i-- i {
			if (i == n - 1) {
				maxRight[i] = nums[i];
			} else {
				maxRight[i] = Math.max(maxRight[i+1], nums[i]);
			}
		} {
			if (i == n - 1) {
				maxRight[i] = nums[i];
			} else {
				maxRight[i] = Math.max(maxRight[i+1], nums[i]);
			}
		} if (i == n - 1) {
				maxRight[i] = nums[i];
			} else {
				maxRight[i] = Math.max(maxRight[i+1], nums[i]);
			} i == n - 1 i n - 1 n 1 {
				maxRight[i] = nums[i];
			} maxRight[i] = nums[i] maxRight[i] maxRight i nums[i] nums i {
				maxRight[i] = Math.max(maxRight[i+1], nums[i]);
			} maxRight[i] = Math.max(maxRight[i+1], nums[i]) maxRight[i] maxRight i Math.max(maxRight[i+1], nums[i]) Math.max Math maxRight[i+1] maxRight i+1 i 1 nums[i] nums i for (int i = 0; i < n; i++) {
			if (i == 0) {
				// res[i] = maxRight[1];
				System.out.print(maxRight[1] + " ");
			} else if (i == n - 1){
				// res[i] = maxLeft[i - 1];
				System.out.println(maxLeft[i - 1]);
			} else {
				//res[i] = Math.max(maxRight[i+1], maxLeft[i-1]);
				System.out.print(Math.max(maxRight[i+1], maxLeft[i-1]) + " ");
			}
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			if (i == 0) {
				// res[i] = maxRight[1];
				System.out.print(maxRight[1] + " ");
			} else if (i == n - 1){
				// res[i] = maxLeft[i - 1];
				System.out.println(maxLeft[i - 1]);
			} else {
				//res[i] = Math.max(maxRight[i+1], maxLeft[i-1]);
				System.out.print(Math.max(maxRight[i+1], maxLeft[i-1]) + " ");
			}
		} {
			if (i == 0) {
				// res[i] = maxRight[1];
				System.out.print(maxRight[1] + " ");
			} else if (i == n - 1){
				// res[i] = maxLeft[i - 1];
				System.out.println(maxLeft[i - 1]);
			} else {
				//res[i] = Math.max(maxRight[i+1], maxLeft[i-1]);
				System.out.print(Math.max(maxRight[i+1], maxLeft[i-1]) + " ");
			}
		} if (i == 0) {
				// res[i] = maxRight[1];
				System.out.print(maxRight[1] + " ");
			} else if (i == n - 1){
				// res[i] = maxLeft[i - 1];
				System.out.println(maxLeft[i - 1]);
			} else {
				//res[i] = Math.max(maxRight[i+1], maxLeft[i-1]);
				System.out.print(Math.max(maxRight[i+1], maxLeft[i-1]) + " ");
			} i == 0 i 0 {
				// res[i] = maxRight[1];
				System.out.print(maxRight[1] + " ");
			} System.out.print(maxRight[1] + " ") System.out.print System.out System System.out maxRight[1] + " " maxRight[1] maxRight 1 " " if (i == n - 1){
				// res[i] = maxLeft[i - 1];
				System.out.println(maxLeft[i - 1]);
			} else {
				//res[i] = Math.max(maxRight[i+1], maxLeft[i-1]);
				System.out.print(Math.max(maxRight[i+1], maxLeft[i-1]) + " ");
			} i == n - 1 i n - 1 n 1 {
				// res[i] = maxLeft[i - 1];
				System.out.println(maxLeft[i - 1]);
			} System.out.println(maxLeft[i - 1]) System.out.println System.out System System.out maxLeft[i - 1] maxLeft i - 1 i 1 {
				//res[i] = Math.max(maxRight[i+1], maxLeft[i-1]);
				System.out.print(Math.max(maxRight[i+1], maxLeft[i-1]) + " ");
			} System.out.print(Math.max(maxRight[i+1], maxLeft[i-1]) + " ") System.out.print System.out System System.out Math.max(maxRight[i+1], maxLeft[i-1]) + " " Math.max(maxRight[i+1], maxLeft[i-1]) Math.max Math maxRight[i+1] maxRight i+1 i 1 maxLeft[i-1] maxLeft i-1 i 1 " " String[] args args static class FastReader 
    { 
        BufferedReader br; 
        StringTokenizer st; 
  
        public FastReader() 
        { 
            br = new BufferedReader(new
                     InputStreamReader(System.in)); 
        } 
  
        String next() 
        { 
            while (st == null || !st.hasMoreElements()) 
            { 
                try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } 
            } 
            return st.nextToken(); 
        } 
  
        int nextInt() 
        { 
            return Integer.parseInt(next()); 
        } 
  
        long nextLong() 
        { 
            return Long.parseLong(next()); 
        } 
  
        double nextDouble() 
        { 
            return Double.parseDouble(next()); 
        } 
  
        String nextLine() 
        { 
            String str = ""; 
            try
            { 
                str = br.readLine(); 
            } 
            catch (IOException e) 
            { 
                e.printStackTrace(); 
            } 
            return str; 
        } 
    } FastReader BufferedReader br; br StringTokenizer st; st public FastReader() 
        { 
            br = new BufferedReader(new
                     InputStreamReader(System.in)); 
        } FastReader { 
            br = new BufferedReader(new
                     InputStreamReader(System.in)); 
        } br = new BufferedReader(new
                     InputStreamReader(System.in)) br new BufferedReader(new
                     InputStreamReader(System.in)) String next() 
        { 
            while (st == null || !st.hasMoreElements()) 
            { 
                try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } 
            } 
            return st.nextToken(); 
        } next { 
            while (st == null || !st.hasMoreElements()) 
            { 
                try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } 
            } 
            return st.nextToken(); 
        } while (st == null || !st.hasMoreElements()) 
            { 
                try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } 
            } st == null || !st.hasMoreElements() st == null st null !st.hasMoreElements() st.hasMoreElements() st.hasMoreElements st { 
                try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } 
            } try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } IOException  e { 
                    e.printStackTrace(); 
                } e.printStackTrace() e.printStackTrace e { 
                    st = new StringTokenizer(br.readLine()); 
                } st = new StringTokenizer(br.readLine()) st new StringTokenizer(br.readLine()) return st.nextToken(); st.nextToken() st.nextToken st int nextInt() 
        { 
            return Integer.parseInt(next()); 
        } nextInt { 
            return Integer.parseInt(next()); 
        } return Integer.parseInt(next()); Integer.parseInt(next()) Integer.parseInt Integer next() next long nextLong() 
        { 
            return Long.parseLong(next()); 
        } nextLong { 
            return Long.parseLong(next()); 
        } return Long.parseLong(next()); Long.parseLong(next()) Long.parseLong Long next() next double nextDouble() 
        { 
            return Double.parseDouble(next()); 
        } nextDouble { 
            return Double.parseDouble(next()); 
        } return Double.parseDouble(next()); Double.parseDouble(next()) Double.parseDouble Double next() next String nextLine() 
        { 
            String str = ""; 
            try
            { 
                str = br.readLine(); 
            } 
            catch (IOException e) 
            { 
                e.printStackTrace(); 
            } 
            return str; 
        } nextLine { 
            String str = ""; 
            try
            { 
                str = br.readLine(); 
            } 
            catch (IOException e) 
            { 
                e.printStackTrace(); 
            } 
            return str; 
        } String str = ""; str "" try
            { 
                str = br.readLine(); 
            } 
            catch (IOException e) 
            { 
                e.printStackTrace(); 
            } catch (IOException e) 
            { 
                e.printStackTrace(); 
            } IOException e { 
                e.printStackTrace(); 
            } e.printStackTrace() e.printStackTrace e { 
                str = br.readLine(); 
            } str = br.readLine() str br.readLine() br.readLine br return str; str public class Main {

	public static void main(String[] args) {
		FastReader sc = new FastReader();
		int n = sc.nextInt();
		int[] nums = new int[n];
		int[] maxLeft = new int[n];
		int[] maxRight = new int[n];
		// int[] res = new int[n];
		
		for (int i = 0; i < n; i++) {
			nums[i] = sc.nextInt();
			
			if (i == 0) {
			maxLeft[i] = nums[i];
			} else {
				maxLeft[i] = Math.max(maxLeft[i-1], nums[i]);
			}
		}
		// System.out.println(Arrays.toString(maxLeft));
		
		for (int i = n - 1; i >= 0; i--) {
			if (i == n - 1) {
				maxRight[i] = nums[i];
			} else {
				maxRight[i] = Math.max(maxRight[i+1], nums[i]);
			}
		}
		// System.out.println(Arrays.toString(maxRight));
		
		for (int i = 0; i < n; i++) {
			if (i == 0) {
				// res[i] = maxRight[1];
				System.out.print(maxRight[1] + " ");
			} else if (i == n - 1){
				// res[i] = maxLeft[i - 1];
				System.out.println(maxLeft[i - 1]);
			} else {
				//res[i] = Math.max(maxRight[i+1], maxLeft[i-1]);
				System.out.print(Math.max(maxRight[i+1], maxLeft[i-1]) + " ");
			}
		}
		
	}
	
	static class FastReader 
    { 
        BufferedReader br; 
        StringTokenizer st; 
  
        public FastReader() 
        { 
            br = new BufferedReader(new
                     InputStreamReader(System.in)); 
        } 
  
        String next() 
        { 
            while (st == null || !st.hasMoreElements()) 
            { 
                try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } 
            } 
            return st.nextToken(); 
        } 
  
        int nextInt() 
        { 
            return Integer.parseInt(next()); 
        } 
  
        long nextLong() 
        { 
            return Long.parseLong(next()); 
        } 
  
        double nextDouble() 
        { 
            return Double.parseDouble(next()); 
        } 
  
        String nextLine() 
        { 
            String str = ""; 
            try
            { 
                str = br.readLine(); 
            } 
            catch (IOException e) 
            { 
                e.printStackTrace(); 
            } 
            return str; 
        } 
    } 
} public class Main {

	public static void main(String[] args) {
		FastReader sc = new FastReader();
		int n = sc.nextInt();
		int[] nums = new int[n];
		int[] maxLeft = new int[n];
		int[] maxRight = new int[n];
		// int[] res = new int[n];
		
		for (int i = 0; i < n; i++) {
			nums[i] = sc.nextInt();
			
			if (i == 0) {
			maxLeft[i] = nums[i];
			} else {
				maxLeft[i] = Math.max(maxLeft[i-1], nums[i]);
			}
		}
		// System.out.println(Arrays.toString(maxLeft));
		
		for (int i = n - 1; i >= 0; i--) {
			if (i == n - 1) {
				maxRight[i] = nums[i];
			} else {
				maxRight[i] = Math.max(maxRight[i+1], nums[i]);
			}
		}
		// System.out.println(Arrays.toString(maxRight));
		
		for (int i = 0; i < n; i++) {
			if (i == 0) {
				// res[i] = maxRight[1];
				System.out.print(maxRight[1] + " ");
			} else if (i == n - 1){
				// res[i] = maxLeft[i - 1];
				System.out.println(maxLeft[i - 1]);
			} else {
				//res[i] = Math.max(maxRight[i+1], maxLeft[i-1]);
				System.out.print(Math.max(maxRight[i+1], maxLeft[i-1]) + " ");
			}
		}
		
	}
	
	static class FastReader 
    { 
        BufferedReader br; 
        StringTokenizer st; 
  
        public FastReader() 
        { 
            br = new BufferedReader(new
                     InputStreamReader(System.in)); 
        } 
  
        String next() 
        { 
            while (st == null || !st.hasMoreElements()) 
            { 
                try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } 
            } 
            return st.nextToken(); 
        } 
  
        int nextInt() 
        { 
            return Integer.parseInt(next()); 
        } 
  
        long nextLong() 
        { 
            return Long.parseLong(next()); 
        } 
  
        double nextDouble() 
        { 
            return Double.parseDouble(next()); 
        } 
  
        String nextLine() 
        { 
            String str = ""; 
            try
            { 
                str = br.readLine(); 
            } 
            catch (IOException e) 
            { 
                e.printStackTrace(); 
            } 
            return str; 
        } 
    } 
} Main

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {

	public static void main(String[] args) {
		FastReader sc = new FastReader();
		int n = sc.nextInt();
		int[] nums = new int[n];
		int[] maxLeft = new int[n];
		int[] maxRight = new int[n];
		// int[] res = new int[n];
		
		for (int i = 0; i < n; i++) {
			nums[i] = sc.nextInt();
			
			if (i == 0) {
			maxLeft[i] = nums[i];
			} else {
				maxLeft[i] = Math.max(maxLeft[i-1], nums[i]);
			}
		}
		// System.out.println(Arrays.toString(maxLeft));
		
		for (int i = n - 1; i >= 0; i--) {
			if (i == n - 1) {
				maxRight[i] = nums[i];
			} else {
				maxRight[i] = Math.max(maxRight[i+1], nums[i]);
			}
		}
		// System.out.println(Arrays.toString(maxRight));
		
		for (int i = 0; i < n; i++) {
			if (i == 0) {
				// res[i] = maxRight[1];
				System.out.print(maxRight[1] + " ");
			} else if (i == n - 1){
				// res[i] = maxLeft[i - 1];
				System.out.println(maxLeft[i - 1]);
			} else {
				//res[i] = Math.max(maxRight[i+1], maxLeft[i-1]);
				System.out.print(Math.max(maxRight[i+1], maxLeft[i-1]) + " ");
			}
		}
		
	}
	
	static class FastReader 
    { 
        BufferedReader br; 
        StringTokenizer st; 
  
        public FastReader() 
        { 
            br = new BufferedReader(new
                     InputStreamReader(System.in)); 
        } 
  
        String next() 
        { 
            while (st == null || !st.hasMoreElements()) 
            { 
                try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } 
            } 
            return st.nextToken(); 
        } 
  
        int nextInt() 
        { 
            return Integer.parseInt(next()); 
        } 
  
        long nextLong() 
        { 
            return Long.parseLong(next()); 
        } 
  
        double nextDouble() 
        { 
            return Double.parseDouble(next()); 
        } 
  
        String nextLine() 
        { 
            String str = ""; 
            try
            { 
                str = br.readLine(); 
            } 
            catch (IOException e) 
            { 
                e.printStackTrace(); 
            } 
            return str; 
        } 
    } 
}
