승연이는 나무를 심으려 한다. 이를 위해 무한 격자 위에서 몇 개의 칸을 골라 나무 씨앗을 뿌릴 것이다. 나무 씨앗에는 신비한 힘이 있어, 주변 나무 씨앗의 영향을 받아 사과나무 혹은 복숭아나무 중 하나로 자라난다.
씨앗이 자라 어떤 나무가 되는지는 다음 규칙을 따른다. 변을 맞댄 두 칸에 모두 씨앗이 있다면 그 두 씨앗을 서로 인접하다고 한다. 인접한 씨앗의 수가 짝수인 씨앗은 사과나무가 된다. 반면 인접한 씨앗의 수가 홀수인 씨앗은 복숭아나무가 된다.
승연이가 위와 같이 $5$개의 씨앗을 심었다고 하자. 서로 인접한 씨앗은 파란색 화살표와 같이 나타난다. 가운데 씨앗은 $3$개의 씨앗과 인접해 있으므로 복숭아나무가 된다.
결과적으로 위와 같이 $3$개의 사과나무와 $2$개의 복숭아나무가 열리게 된다.
씨앗을 심을 때는 씨앗들이 격자에서 모두 연결되어 있어야 한다. 즉 임의의 두 씨앗에 대해, 서로 인접한 씨앗만 거쳐서 두 씨앗 사이를 이동할 수 있어야 한다. 예를 들어 아래와 같은 배치는 불가능하다.
승현이는 사과나무 $A$개, 복숭아나무 $B$개를 심으려 한다. 이것이 가능한지 여부와, 가능하다면 나무 배치를 출력하라.
輸入格式
第一行包含兩個非負整數 $A$ 和 $B$,以空格分隔。($A \geq 0$;$B \geq 0$;$1 \le A+B \le 200$)
輸出格式
第一行,若可行則輸出 YES,否則輸出 NO。
若可行,第二行輸出兩個整數 $R$ 和 $C$,代表行數和列數,以空格分隔。($1 \le R,C \le 200$)
接下來 $R$ 行,每行包含 $C$ 個字元,不含空格。每個字元為 O 或 .,其中 O 表示有種子,. 表示無種子。
範例
輸入格式 1
3 2
輸出格式 1
YES 3 3 .OO OOO ...
輸入格式 2
1 0
輸出格式 2
YES 1 1 O
輸入格式 3
7 0
輸出格式 3
YES 3 3 .OO OOO OO.
輸入格式 4
8 0
輸出格式 4
YES 4 4 .... .OOO .O.O .OOO
輸入格式 5
9 0
輸出格式 5
NO
輸入格式 6
0 7
輸出格式 6
NO