Statement
작도왕 키위새는 단위 정사각형으로 이루어진 격자에서 한 개 이상의 칸을 골라 도형을 만들려고 한다. 격자에서 도형에 포함된 칸을 채워진 칸, 포함되지 않은 칸을 빈칸이라고 한다. 채워진 칸은 #, 빈칸은 .으로 나타낸다.
두 칸이 변을 공유할 때 두 칸이 인접한다고 한다. 키위새가 만들려는 도형을 나타낸 격자는 다음 조건을 모두 만족해야 한다.
- 도형이 격자의 경계에 닿지 않도록, 격자의 가장 바깥쪽 행과 열은 모두 빈칸이어야 한다.
- 모든 채워진 칸은 인접한 채워진 칸만을 이용해 서로 이동할 수 있다.
- 모든 빈칸은 인접한 빈칸만을 이용해 서로 이동할 수 있다.
- 채워진 칸과 빈칸 사이의 경계를 이루는 단위 선분들 중 같은 직선 위에서 연속하는 선분들을 하나의 변으로 합친다. 이렇게 얻은 외곽선의 꼭짓점 개수는 정확히 개여야 한다.
- 위 조건을 만족하는 모든 도형 중 채워진 칸의 개수가 최소여야 한다.
키위새를 도와 조건을 모두 만족하는 격자를 구해 보자.
Input
첫 번째 줄에 외곽선의 꼭짓점 개수를 나타내는 정수 가 주어진다.
Output
만약 조건을 만족하는 도형이 있다면, 다음 형식으로 출력한다.
- 첫 번째 줄에 격자의 높이 와 너비 를 공백으로 구분하여 출력한다.
- 그다음 줄부터 개의 줄에 걸쳐 격자의 각 행을 위에서부터 차례대로 나타내는 길이 의 문자열을 출력한다. 이때 채워진 칸은
#, 빈 칸은.으로 출력한다.
만약 조건을 만족하는 도형이 없다면, 첫 번째 줄에 -1을 출력한다.
가능한 격자가 여러 개라면 그중 아무 것이나 출력한다.
Constraints
조건을 만족하는 도형이 존재한다면, 그중 채워진 칸의 개수가 최소인 도형을 위의 크기 제한을 만족하는 격자에 나타낼 수 있음이 보장된다.
Samples
Sample 1
Input
12
Output
5 5
.....
..#..
.###.
..#..
.....
Sample 2
Input
3
Output
-1