#include<stdio.h>
#define NN 301
int fun(int a[], int n){
for (int i=1;i<=n;i++)
if (a[i]>1)
return 0;
return 1;
}
int opr(int a[], int n){
for (int i=1;i<=n;i++)
if (a[i]<1)
return 0;
return 2;
}
int ink(int a[], int n){
for (int i=1;i<=n;i++)
if (a[i]>1)
return 0;
return 3;
}
int sur(int a[], int n){
for (int i=1;i<=n;i++)
if (a[i]<1)
return 0;
return 4;
}
int main(){
int N,M;
int x[NN]={0}, y[NN]={0};
for (int i=0;i<M;i++){
int a,b;
x[a]+=1;
y[b]+=1;
}
if (fun(x,N)==1){
if (opr(x,N)==2)
if (ink
(y
,N
)==3) printf("%d ",ink
(y
,N
)); if (sur
(y
,N
)==4) printf("%d ",sur
(y
,N
)); if (ink
(y
,N
)==3 && sur
(y
,N
)==4) printf("5"); }
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2RlZmluZSBOTiAzMDEKaW50IGZ1bihpbnQgYVtdLCBpbnQgbil7Cglmb3IgKGludCBpPTE7aTw9bjtpKyspCgkJaWYgKGFbaV0+MSkKCQkJcmV0dXJuIDA7CglyZXR1cm4gMTsKfQppbnQgb3ByKGludCBhW10sIGludCBuKXsKCWZvciAoaW50IGk9MTtpPD1uO2krKykKCQlpZiAoYVtpXTwxKQoJCQlyZXR1cm4gMDsKCXJldHVybiAyOwp9CmludCBpbmsoaW50IGFbXSwgaW50IG4pewoJZm9yIChpbnQgaT0xO2k8PW47aSsrKQoJCWlmIChhW2ldPjEpCgkJCXJldHVybiAwOwoJcmV0dXJuIDM7Cn0KaW50IHN1cihpbnQgYVtdLCBpbnQgbil7Cglmb3IgKGludCBpPTE7aTw9bjtpKyspCgkJaWYgKGFbaV08MSkKCQkJcmV0dXJuIDA7CglyZXR1cm4gNDsKfQppbnQgbWFpbigpewoJaW50IE4sTTsKCXNjYW5mKCIlZCVkIiwmTiwmTSk7CglpbnQgeFtOTl09ezB9LCB5W05OXT17MH07Cglmb3IgKGludCBpPTA7aTxNO2krKyl7CgkJaW50IGEsYjsKCQlzY2FuZigiJWQlZCIsJmEsJmIpOwoJCXhbYV0rPTE7CgkJeVtiXSs9MTsKCX0KCXByaW50ZigiJWQgIixmdW4oeCxOKSk7CglpZiAoZnVuKHgsTik9PTEpewoJCWlmIChvcHIoeCxOKT09MikKCQkJcHJpbnRmKCIlZCAiLG9wcih4LE4pKTsKCQlpZiAoaW5rKHksTik9PTMpIHByaW50ZigiJWQgIixpbmsoeSxOKSk7CgkJaWYgKHN1cih5LE4pPT00KSBwcmludGYoIiVkICIsc3VyKHksTikpOwoJCWlmIChpbmsoeSxOKT09MyAmJiBzdXIoeSxOKT09NCkgcHJpbnRmKCI1Iik7Cgl9CglyZXR1cm4gMDsKfQ==