import java.io.*;

public class Pi
{
	private static String ComputePi(int numdigits)
	{
        char[] pi = new char[numdigits + 1];
		int[] a = new int[10*numdigits / 3];
		for(int i = 0; i < a.length; ++i)
			a[i] = 2;

		int piLength = 0;
		int nines = 0;
		int predigit = 0;
		for (int j = 0; j < numdigits; ++j)
		{
			int q = 0;
			int p = 2 * a.length - 1;
			for (int i = a.length; --i >= 0; )
			{
				int x = 10*a[i] + q*(i+1);
				a[i] = x % p;
				q = x / p;
				p -= 2;
			}

			a[0] = q % 10;
			q /= 10;
			if (q == 9)
				++nines;
			else if (q == 10)
			{
				pi[piLength] = (char) (predigit + 1 + '0');
				for (int k = 1; k <= nines; ++k)
					pi[piLength+k] = '0';
				piLength += nines + 1;
				predigit = 0;
				nines = 0;
			}
			else
			{
				pi[piLength] = (char)(predigit + '0');
				predigit = q;
				for (int k = 1; k <= nines; ++k)
					pi[piLength + k] = '9';
				piLength += nines + 1;
				nines = 0;
			}
		}
		pi[piLength] = (char)(predigit + '0');
		return new String(pi);
	}

	public static void main(String[] args)
	{
		if (args.length == 0)
		{
			System.out.println("usage: pi #DIGITS [FILE]");
			return;
		}
		int numdigits = Integer.parseInt(args[0]);

		if (args.length > 1)
		{
            try {
                PrintWriter out = new PrintWriter(new FileWriter(args[1]));
                out.println(ComputePi(numdigits));
                out.close();
            } catch (IOException ex) {
                System.out.println(ex);
            }
		}
		else
			System.out.println(ComputePi(numdigits));
	}
}