Dima worked all day and wrote down on a long paper strip his favorite number n consisting of l digits. Unfortunately, the strip turned out to be so long that it didn't fit in the Dima's bookshelf.

To solve the issue, Dima decided to split the strip into two non-empty parts so that each of them contains a positive integer without leading zeros. After that he will compute the sum of the two integers and write it down on a new strip.

Dima wants the resulting integer to be as small as possible, because it increases the chances that the sum will fit it in the bookshelf. Help Dima decide what is the minimum sum he can obtain.

Input

The first line contains a single integer l (2 ≤ l ≤ 100 000) — the length of the Dima's favorite number.

The second line contains the positive integer n initially written on the strip: the Dima's favorite number.

The integer n consists of exactly l digits and it does not contain leading zeros. Dima guarantees, that there is at least one valid way to split the strip.

Output

Print a single integer — the smallest number Dima can obtain.

Examples

Input


7
1234567


Output


1801


Input


3
101


Output


11

Note

In the first example Dima can split the number 1234567 into integers 1234 and 567. Their sum is 1801.

In the second example Dima can split the number 101 into integers 10 and 1. Their sum is 11. Note that it is impossible to split the strip into "1" and "01" since the numbers can't start with zeros.
import java.io.*;
import java.math.BigInteger;
import java.util.*;

public class B {
    public static void main(String args[]) {
        Scanner scn = new Scanner(System.in);
        int n = scn.nextInt();
        scn.nextLine();
        String no = scn.nextLine();
        int mid = -1;
        if (n % 2 == 0) {
            mid = n / 2 - 1;
            if (Integer.parseInt(no.charAt(mid + 1) + "") != 0) {
                System.out.println(findSum(no.substring(0, mid + 1), no.substring(mid + 1)));
            } else {
                int i = mid;
                while (i >= 0 && Integer.parseInt(no.charAt(i) + "") == 0) {
                    i--;
                }
                int x1 = i;
                String n1 = no.substring(0, x1);
                String n2 = no.substring(x1);
                String sum1 = findSum(n1, n2);

                // ek jagah fateka i.e. 1000000000 condition daalde
                i = mid + 1;
                while (i < no.length() && Integer.parseInt(no.charAt(i) + "") == 0) {
                    i++;
                }
                x1 = i;
                n1 = no.substring(0, x1);
                n2 = no.substring(x1);
                String sum2 = findSum(n1, n2);
                if (new BigInteger(sum1).compareTo(new BigInteger(sum2)) > 0) {
                    System.out.println(sum2);
                } else {
                    System.out.println(sum1);
                }
            }
        } else {
            mid = n / 2;
            if (Integer.parseInt(no.charAt(mid) + "") != 0) {
                String n1 = no.substring(0, mid);
                String n2 = no.substring(mid);
                String sum1 = findSum(n1, n2);

                n1 = no.substring(0, mid + 1);
                n2 = no.substring(mid + 1);
                String sum2 = findSum(n1, n2);
                if (new BigInteger(sum1).compareTo(new BigInteger(sum2)) > 0) {
                    System.out.println(sum2);
                } else {
                    System.out.println(sum1);
                }
            } else {
                int i = mid;
                while (i >= 0 && Integer.parseInt(no.charAt(i) + "") == 0) {
                    i--;
                }
                String n1 = "", n2 = "";
                if (i != 0) {
                    n1 = no.substring(0, i);
                    n2 = no.substring(i);
                } else {
                    n1 = "0";
                    n2 = no.substring(0);
                }

                String sum1 = findSum(n1, n2);

                i = mid + 1;
                while (i < no.length() && Integer.parseInt(no.charAt(i) + "") == 0) {
                    i++;
                }

                n1 = no.substring(0, i);
                n2 = no.substring(i);
                String sum2 = findSum(n1, n2);
//                System.out.println(sum1+":::"+sum2);
                if (new BigInteger(sum1).compareTo(new BigInteger(sum2)) > 0) {
                    System.out.println(sum2);
                } else {
                    System.out.println(sum1);
                }
            }
        }
    }

    static String findSum(String str1, String str2) {
        // Before proceeding further, make sure length
        // of str2 is larger.
        if (str1.length() > str2.length()) {
            String t = str1;
            str1 = str2;
            str2 = t;
        }

        // Take an empty String for storing result
        StringBuilder str = new StringBuilder("");

        // Calculate length of both String
        int n1 = str1.length(), n2 = str2.length();

        // Reverse both of Strings
        str1 = new StringBuilder(str1).reverse().toString();
        str2 = new StringBuilder(str2).reverse().toString();

        int carry = 0;
        for (int i = 0; i < n1; i++) {
            // Do school mathematics, compute sum of
            // current digits and carry
            int sum = ((int) (str1.charAt(i) - '0') +
                    (int) (str2.charAt(i) - '0') + carry);
            str.append((char) (sum % 10 + '0'));

            // Calculate carry for next step
            carry = sum / 10;
        }

        // Add remaining digits of larger number
        for (int i = n1; i < n2; i++) {
            int sum = ((int) (str2.charAt(i) - '0') + carry);
            str.append((char) (sum % 10 + '0'));
            carry = sum / 10;
        }

        // Add remaining carry
        if (carry > 0)
            str.append((char) (carry + '0'));

        // reverse resultant String
        str.reverse();

        return str.toString();
    }

    public static class FastScanner {
        BufferedReader br;
        StringTokenizer st;

        public FastScanner(String s) {
            try {
                br = new BufferedReader(new FileReader(s));
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        public FastScanner() {
            br = new BufferedReader(new InputStreamReader(System.in));
        }

        String nextToken() {
            while (st == null || !st.hasMoreElements()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }

        int nextInt() {
            return Integer.parseInt(nextToken());
        }

        long nextLong() {
            return Long.parseLong(nextToken());
        }

        double nextDouble() {
            return Double.parseDouble(nextToken());
        }
    }

    public static int bin(int b[], long target) {
        int l = 0;
        int h = b.length - 1;
        int pos = -1;
        while (l <= h) {
            int m = l + (h - l) / 2;
            if (b[m] <= target) {
                if (b[m] == target) {
                    return m;
                }
                l = m + 1;
            } else {
                pos = m;
                h = m - 1;
            }
        }
        return pos;
    }
}