Pari has a friend who loves palindrome numbers. A palindrome number is a number that reads the same forward or backward. For example 12321, 100001 and 1 are palindrome numbers, while 112 and 1021 are not.

Pari is trying to love them too, but only very special and gifted people can understand the beauty behind palindrome numbers. Pari loves integers with even length (i.e. the numbers with even number of digits), so she tries to see a lot of big palindrome numbers with even length (like a 2-digit 11 or 6-digit 122221), so maybe she could see something in them.

Now Pari asks you to write a program that gets a huge integer n from the input and tells what is the n-th even-length positive palindrome number?

Input

The only line of the input contains a single integer n (1 ≤ n ≤ 10100 000).

Output

Print the n-th even-length palindrome number.

Examples

Input

1


Output

11


Input

10


Output

1001

Note

The first 10 even-length palindrome numbers are 11, 22, 33, ... , 88, 99 and 1001.
import java.io.*;
import java.util.StringTokenizer;

/**
 * Created by Vitalii Karavaev on 29.06.16.
 */
public class B {

    private static class Reader {

        private BufferedReader bufferedReader;
        private StringTokenizer stringTokenizer;

        private Reader() throws IOException {
            bufferedReader = new BufferedReader(new InputStreamReader(System.in));
            stringTokenizer = new StringTokenizer(bufferedReader.readLine());
        }

        private Reader(File file) throws IOException {
            bufferedReader = new BufferedReader(new FileReader(file));
            stringTokenizer = new StringTokenizer(bufferedReader.readLine());
        }

        private String nextString() throws IOException {
            while (!stringTokenizer.hasMoreTokens()) {
                String s = bufferedReader.readLine();
                if (s == null) {
                    throw new IOException("End of String");
                }
                stringTokenizer = new StringTokenizer(s);
            }
            return stringTokenizer.nextToken();
        }

        private int nextInt() throws IOException {
            return Integer.parseInt(nextString());
        }

        private long nextLong() throws IOException {
            return Long.parseLong(nextString());
        }

        private double nextDouble() throws IOException {
            return Double.parseDouble(nextString());
        }

        private int[] nextArray(int n) throws IOException {
            int[] a = new int[n];
            for (int i = 0; i < n; i++) {
                a[i] = this.nextInt();
            }
            return a;
        }

        private boolean hasNext() throws IOException {
            while (!stringTokenizer.hasMoreTokens()) {
                String s = bufferedReader.readLine();
                if (s == null) {
                    return false;
                }
                stringTokenizer = new StringTokenizer(s);
            }
            return true;
        }

        private void close() throws IOException {
            bufferedReader.close();
        }
    }

    private Reader reader;
    private PrintWriter printWriter;

    private final String fileName = "";

    private boolean isFile = false;

    private void setConfigurations() throws IOException {
        if (isFile) {
            reader = new Reader(new File(fileName + ".in"));
            printWriter = new PrintWriter(new File(fileName + ".out"));
        } else {
            reader = new Reader();
            printWriter = new PrintWriter(System.out);
        }
    }

    private void run() throws IOException {
        setConfigurations();
        solve();
        reader.close();
        printWriter.close();
    }

    private void solve() throws IOException {
        String n = reader.nextString();
        for (int i = 0; i < n.length(); i++) {
            printWriter.print(n.charAt(i));
        }

        for (int i = n.length() - 1; i >= 0; i--) {
            printWriter.print(n.charAt(i));
        }
        reader.close();
    }

    public static void main(String[] args) throws IOException {
        new B().run();
    }
}
