#define R r[i]
#define Z return
#define _(B,D,E)for(int B=E;B<D;B++)
struct{int x
,y
,u
,p
;}r
[25],*S
;A
,M
,N
,U
,V
,Y
;char*P
;T
(x
,y
,w
,h
){_
(I
,x
+w
,x
)_
(J
,y
+h
,y
)if(I
/U
|J
/V
|P
[J
*U
+I
])Z
0;Z
1;}L
(x
,y
,w
,h
,c
){_
(I
,x
+w
,x
)_
(J
,y
+h
,y
)P
[J
*U
+I
]=c
;}F
(x
,y
){for(x
=0;++x
<A
&&P
[x
];);if(x
/A
){_
(i
,V
,0)printf("%*.*s\n",U
,U
,P
+i
*U
);exit(0);}y
=x
/U
;x
-=y
*U
;_
(i
,N
,0)!R.
u&T
(x
,y
,R.
x,R.
y)?R.
u=1,F
(L
(x
,y
,R.
x,R.
y,65+i
)),L
(x
,y
,R.
x,R.
y,R.
u=0):0;}O
(i
,y
){if(!R.
u){if(!T
(0,y
,R.
x,R.
y))Z
;R.
u=1;L
(R.
p=0,y
,R.
x,R.
y,65+i
);y
+=R.
y;}if(y
-V
||F
())_
(j
,N
,0)if(j
-i
&!r
[j
].
u)for(O
(j
,y
);r
[j
].
x-r
[j
+1].
x|r
[j
].
y-r
[++j
].
y;);L
(R.
p,y
-=R.
y,R.
x,R.
y,R.
u=0);}Q
(i
,x
){if(!R.
u){if(R.
x>U
-x
)Z
;R.
u=1;L
(R.
p=x
,0,R.
x,R.
y,65+i
);x
+=R.
x;}if(x
-U
||O
(i
,1))_
(j
,N
,0)j
-i
&!r
[j
].
u?Q
(j
,x
):0;L
(x
-=R.
x,0,R.
x,R.
y,0);R.
u=0;}C
(int*a
,int*b
){Z
*a
-*b
?*a
-*b
:a
[1]-b
[1];}main
(X
){_
(i
,25&&!++N
|scanf("%d%d\n",&R.
x,&R.
y)==2,0);_
(i
,N
,0)A
+=R.
x*R.
y,X
=R.
x>X
?R.
x:X
,Y
=R.
y>Y
?R.
y:Y
;_
(i
,A
+1,1)!(A
%i
|i
<Y
|A
/i
<X
)?S
=realloc(S
,-~M
*16),S
[M
].
y=i
,S
[M
++].
x=A
/i
:0;qsort(S
,M
,16,C
);P
=calloc(A
+1,1);_
(j
,M
,0){U
=S
[j
].
x;V
=S
[j
].
y;_
(i
,N
,0)R.
u=1,L
(0,0,R.
x,R.
y,65+i
),Q
(i
,R.
x),R.
u=0;}puts("0");exit(1);}
I2RlZmluZSBSIHJbaV0KI2RlZmluZSBaIHJldHVybgojZGVmaW5lIF8oQixELEUpZm9yKGludCBCPUU7QjxEO0IrKykKc3RydWN0e2ludCB4LHksdSxwO31yWzI1XSwqUztBLE0sTixVLFYsWTtjaGFyKlA7VCh4LHksdyxoKXtfKEkseCt3LHgpXyhKLHkraCx5KWlmKEkvVXxKL1Z8UFtKKlUrSV0pWiAwO1ogMTt9TCh4LHksdyxoLGMpe18oSSx4K3cseClfKEoseStoLHkpUFtKKlUrSV09Yzt9Rih4LHkpe2Zvcih4PTA7Kyt4PEEmJlBbeF07KTtpZih4L0Epe18oaSxWLDApcHJpbnRmKCIlKi4qc1xuIixVLFUsUCtpKlUpO2V4aXQoMCk7fXk9eC9VO3gtPXkqVTtfKGksTiwwKSFSLnUmVCh4LHksUi54LFIueSk/Ui51PTEsRihMKHgseSxSLngsUi55LDY1K2kpKSxMKHgseSxSLngsUi55LFIudT0wKTowO31PKGkseSl7aWYoIVIudSl7aWYoIVQoMCx5LFIueCxSLnkpKVo7Ui51PTE7TChSLnA9MCx5LFIueCxSLnksNjUraSk7eSs9Ui55O31pZih5LVZ8fEYoKSlfKGosTiwwKWlmKGotaSYhcltqXS51KWZvcihPKGoseSk7cltqXS54LXJbaisxXS54fHJbal0ueS1yWysral0ueTspO0woUi5wLHktPVIueSxSLngsUi55LFIudT0wKTt9UShpLHgpe2lmKCFSLnUpe2lmKFIueD5VLXgpWjtSLnU9MTtMKFIucD14LDAsUi54LFIueSw2NStpKTt4Kz1SLng7fWlmKHgtVXx8TyhpLDEpKV8oaixOLDApai1pJiFyW2pdLnU/UShqLHgpOjA7TCh4LT1SLngsMCxSLngsUi55LDApO1IudT0wO31DKGludCphLGludCpiKXtaKmEtKmI/KmEtKmI6YVsxXS1iWzFdO31tYWluKFgpe18oaSwyNSYmISsrTnxzY2FuZigiJWQlZFxuIiwmUi54LCZSLnkpPT0yLDApO18oaSxOLDApQSs9Ui54KlIueSxYPVIueD5YP1IueDpYLFk9Ui55Plk/Ui55Olk7XyhpLEErMSwxKSEoQSVpfGk8WXxBL2k8WCk/Uz1yZWFsbG9jKFMsLX5NKjE2KSxTW01dLnk9aSxTW00rK10ueD1BL2k6MDtxc29ydChTLE0sMTYsQyk7UD1jYWxsb2MoQSsxLDEpO18oaixNLDApe1U9U1tqXS54O1Y9U1tqXS55O18oaSxOLDApUi51PTEsTCgwLDAsUi54LFIueSw2NStpKSxRKGksUi54KSxSLnU9MDt9cHV0cygiMCIpO2V4aXQoMSk7fQ==