On the planet Mars a year lasts exactly n days (there are no leap years on Mars). But Martians have the same weeks as earthlings — 5 work days and then 2 days off. Your task is to determine the minimum possible and the maximum possible number of days off per year on Mars.

Input

The first line of the input contains a positive integer n (1 ≤ n ≤ 1 000 000) — the number of days in a year on Mars.

Output

Print two integers — the minimum possible and the maximum possible number of days off per year on Mars.

Examples

Input

14


Output

4 4


Input

2


Output

0 2

Note

In the first sample there are 14 days in a year on Mars, and therefore independently of the day a year starts with there will be exactly 4 days off .

In the second sample there are only 2 days in a year on Mars, and they can both be either work days or days off.
import java.io.IOException;
import java.io.BufferedInputStream;

public class SolverF {

	public static void main(String args[]) {
		MyScanner in = new MyScanner();
		mars(in.nextInt());
		in.close();
	}

	static void mars(int n) {
		int x = n / 7 * 2;
		int y = n % 7;
		if (y == 0) {
			System.out.println(x + " " + x);
		} else if (y == 6) {
			System.out.println((x + 1) + " " +(x + 2));
		} else if (y == 1) {
			System.out.println(x + " " + (x + 1));
		} else {
			System.out.println(x + " " + (x + 2));
		}
	}
	
	static class MyScanner {

		private byte[] buffer = new byte[1024];

		private BufferedInputStream stream;

		private int pointer;

		private int len;

		private MyScanner() {
			try {
				stream = new BufferedInputStream(System.in);
				pointer = 0;
				len = stream.read(buffer);
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}

		private int next() {
			byte value = -1;
			try {
				if (pointer >= len) {
					len = stream.read(buffer);
					pointer = 0;
				}
				if (len <= 0) {
					return -1;
				}
				value = buffer[pointer++];
				return value;
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			return value;
		}

		private int nextInt() {
			int value = 0;
			int next = next();
			while (isSpaceChar(next)) {
				next = next();
			}
			int sign = 1;
			if (next == '-') {
				sign = -1;
				next = next();
			}
			while (!isSpaceChar(next)) {
				value *= 10;
				value += next - '0';
				next = next();
			}
			return value * sign;
		}

		private String nextString() {
			StringBuilder text = new StringBuilder();
			int next;
			while (!isSpaceChar(next = next())) {
				text.append((char) next);
			}
			return text.toString();
		}

		private long nextLong() {
			long value = 0;
			int next = next();
			while (isSpaceChar(next)) {
				next = next();
			}
			long sign = 1;
			if (next == '-') {
				sign = -1;
				next = next();
			}
			while (!isSpaceChar(next)) {
				value *= 10;
				value += next - '0';
				next = next();
			}
			return value * sign;
		}

		private int[] nextIntArray(int size) {
			int[] arr = new int[size];
			for (int i = 0; i < size; i++) {
				arr[i] = nextInt();
			}
			return arr;
		}

		private boolean isSpaceChar(int c) {
			return c == '\n' || c == ' ' || c == '\r' || c == '\t' || c == -1;
		}

		private void close() {
			try {
				stream.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}