#include <bits/stdc++.h>
#define ll long long
#define ld long double
#define pii pair<int,int>
#define pll pair<ll,ll>
#define plll pair<ll,pll>
#define tull tuple<ll,ll,ll>
#define pb push_back
#define f first
#define endl '\n'
#define se second
#define piii pair<int,pii>
#define id1 id<<1
#define bit(x,i) (((x) >> (i)) & 1)
#define id2 (id<<1)+1
#define MASK(i) (1<<i)
#define set_on(x,i) ((x) | MASK(i))
#define set_off(x,i) ((x) & ~MASK(i))
#define TIME "\nTime elapsed : "<<(double)clock()/1000<<" ms"
#define all(x) x.begin(),x.end()
#define id(i,j) (i - 1) * m + j
#define TASK "test"
#define fast ios_base::sync_with_stdio(0); cin.tie(0);cout.tie(0);
using namespace std;
const ll mod = 1e9 + 7; //998244353;
const ll base = 311;
const ll INF = 1e18 + 7;
const ll maxn = 1e6 + 5;
const ll maxs = 1e5;
const ld pi = 3.14159265358979323846;
const ll dx[] = {-1,0,0,1};
const ll dy[] = {0,-1,1,0};
const int dx8[] = {1, 0, -1, 0, 1, -1, -1, 1};
const int dy8[] = {0, 1, 0, -1, 1, -1, 1, -1};
int n,m;
int d;
int cnt,resmax;
int a[1001][1001];
bool checkgp(int u,int v)
{
return u >= 1 && u <= n && v >= 1 && v <= m;
}
void dfs(int i,int j,int flag)
{
++d;
a[i][j] = -1;
for(int k = 0; k < 8; ++k){
int u = i + dx8[k];
int v = j + dy8[k];
if(checkgp(u,v) && a[u][v] != -1 && a[u][v] == flag){
dfs(u,v,flag);
}
}
}
int main()
{
fast
freopen(TASK".inp","r",stdin);
freopen(TASK".out","w",stdout);
cin >> n >> m;
for(int i = 1; i <= n; ++i){
for(int j = 1; j <= m; ++j){
cin >> a[i][j];
}
}
for(int i = 1; i <= n; ++i){
for(int j = 1; j <= m; ++j){
if(a[i][j] != -1){
d = 0;
dfs(i,j,a[i][j]);
if(d > 1){
++cnt;
}
resmax = max(resmax,d);
}
}
}
cout << cnt << endl << resmax;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgbGQgbG9uZyBkb3VibGUKI2RlZmluZSBwaWkgcGFpcjxpbnQsaW50PgojZGVmaW5lIHBsbCBwYWlyPGxsLGxsPgojZGVmaW5lIHBsbGwgcGFpcjxsbCxwbGw+CiNkZWZpbmUgdHVsbCB0dXBsZTxsbCxsbCxsbD4KI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBmIGZpcnN0CiNkZWZpbmUgZW5kbCAnXG4nCiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgcGlpaSBwYWlyPGludCxwaWk+CiNkZWZpbmUgaWQxIGlkPDwxCiNkZWZpbmUgYml0KHgsaSkgKCgoeCkgPj4gKGkpKSAmIDEpCiNkZWZpbmUgaWQyIChpZDw8MSkrMQojZGVmaW5lIE1BU0soaSkgKDE8PGkpCiNkZWZpbmUgc2V0X29uKHgsaSkgKCh4KSB8IE1BU0soaSkpCiNkZWZpbmUgc2V0X29mZih4LGkpICgoeCkgJiB+TUFTSyhpKSkKI2RlZmluZSBUSU1FICJcblRpbWUgZWxhcHNlZCA6ICI8PChkb3VibGUpY2xvY2soKS8xMDAwPDwiIG1zIgojZGVmaW5lIGFsbCh4KSB4LmJlZ2luKCkseC5lbmQoKQojZGVmaW5lIGlkKGksaikgKGkgLSAxKSAqIG0gKyBqCiNkZWZpbmUgVEFTSyAidGVzdCIKI2RlZmluZSBmYXN0IGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7Y291dC50aWUoMCk7CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGxsIG1vZCA9IDFlOSArIDc7IC8vOTk4MjQ0MzUzOwpjb25zdCBsbCBiYXNlID0gMzExOwpjb25zdCBsbCBJTkYgPSAxZTE4ICsgNzsKY29uc3QgbGwgbWF4biA9IDFlNiArIDU7CmNvbnN0IGxsIG1heHMgPSAxZTU7CmNvbnN0IGxkIHBpID0gMy4xNDE1OTI2NTM1ODk3OTMyMzg0NjsKY29uc3QgbGwgZHhbXSA9IHstMSwwLDAsMX07CmNvbnN0IGxsIGR5W10gPSB7MCwtMSwxLDB9Owpjb25zdCBpbnQgZHg4W10gPSB7MSwgMCwgLTEsIDAsIDEsIC0xLCAtMSwgMX07CmNvbnN0IGludCBkeThbXSA9IHswLCAxLCAwLCAtMSwgMSwgLTEsIDEsIC0xfTsKCmludCBuLG07CmludCBkOwppbnQgY250LHJlc21heDsKaW50IGFbMTAwMV1bMTAwMV07Cgpib29sIGNoZWNrZ3AoaW50IHUsaW50IHYpCnsKICAgIHJldHVybiB1ID49IDEgJiYgdSA8PSBuICYmIHYgPj0gMSAmJiB2IDw9IG07Cn0KCnZvaWQgZGZzKGludCBpLGludCBqLGludCBmbGFnKQp7CiAgICArK2Q7CiAgICBhW2ldW2pdID0gLTE7CgogICAgZm9yKGludCBrID0gMDsgayA8IDg7ICsrayl7CiAgICAgICAgaW50IHUgPSBpICsgZHg4W2tdOwogICAgICAgIGludCB2ID0gaiArIGR5OFtrXTsKCiAgICAgICAgaWYoY2hlY2tncCh1LHYpICYmIGFbdV1bdl0gIT0gLTEgJiYgYVt1XVt2XSA9PSBmbGFnKXsKICAgICAgICAgICAgZGZzKHUsdixmbGFnKTsKICAgICAgICB9CiAgICB9Cn0KCmludCBtYWluKCkKewogICAgZmFzdAogICAgZnJlb3BlbihUQVNLIi5pbnAiLCJyIixzdGRpbik7CiAgICBmcmVvcGVuKFRBU0siLm91dCIsInciLHN0ZG91dCk7CgogICAgY2luID4+IG4gPj4gbTsKCiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47ICsraSl7CiAgICAgICAgZm9yKGludCBqID0gMTsgaiA8PSBtOyArK2opewogICAgICAgICAgICBjaW4gPj4gYVtpXVtqXTsKICAgICAgICB9CiAgICB9CgogICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyArK2kpewogICAgICAgIGZvcihpbnQgaiA9IDE7IGogPD0gbTsgKytqKXsKICAgICAgICAgICAgaWYoYVtpXVtqXSAhPSAtMSl7CiAgICAgICAgICAgICAgICBkID0gMDsKICAgICAgICAgICAgICAgIGRmcyhpLGosYVtpXVtqXSk7CgogICAgICAgICAgICAgICAgaWYoZCA+IDEpewogICAgICAgICAgICAgICAgICAgICsrY250OwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHJlc21heCA9IG1heChyZXNtYXgsZCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgY291dCA8PCBjbnQgPDwgZW5kbCA8PCByZXNtYXg7CgogICAgcmV0dXJuIDA7Cn0K
Main.java:1: error: illegal character: '#'
#include <bits/stdc++.h>
^
Main.java:1: error: class, interface, or enum expected
#include <bits/stdc++.h>
^
Main.java:2: error: illegal character: '#'
#define ll long long
^
Main.java:3: error: illegal character: '#'
#define ld long double
^
Main.java:4: error: illegal character: '#'
#define pii pair<int,int>
^
Main.java:5: error: illegal character: '#'
#define pll pair<ll,ll>
^
Main.java:6: error: illegal character: '#'
#define plll pair<ll,pll>
^
Main.java:7: error: illegal character: '#'
#define tull tuple<ll,ll,ll>
^
Main.java:8: error: illegal character: '#'
#define pb push_back
^
Main.java:9: error: illegal character: '#'
#define f first
^
Main.java:10: error: illegal character: '#'
#define endl '\n'
^
Main.java:11: error: illegal character: '#'
#define se second
^
Main.java:12: error: illegal character: '#'
#define piii pair<int,pii>
^
Main.java:13: error: illegal character: '#'
#define id1 id<<1
^
Main.java:14: error: illegal character: '#'
#define bit(x,i) (((x) >> (i)) & 1)
^
Main.java:15: error: illegal character: '#'
#define id2 (id<<1)+1
^
Main.java:16: error: illegal character: '#'
#define MASK(i) (1<<i)
^
Main.java:17: error: illegal character: '#'
#define set_on(x,i) ((x) | MASK(i))
^
Main.java:18: error: illegal character: '#'
#define set_off(x,i) ((x) & ~MASK(i))
^
Main.java:19: error: illegal character: '#'
#define TIME "\nTime elapsed : "<<(double)clock()/1000<<" ms"
^
Main.java:20: error: illegal character: '#'
#define all(x) x.begin(),x.end()
^
Main.java:21: error: illegal character: '#'
#define id(i,j) (i - 1) * m + j
^
Main.java:22: error: illegal character: '#'
#define TASK "test"
^
Main.java:23: error: illegal character: '#'
#define fast ios_base::sync_with_stdio(0); cin.tie(0);cout.tie(0);
^
Main.java:23: error: class, interface, or enum expected
#define fast ios_base::sync_with_stdio(0); cin.tie(0);cout.tie(0);
^
Main.java:23: error: class, interface, or enum expected
#define fast ios_base::sync_with_stdio(0); cin.tie(0);cout.tie(0);
^
Main.java:24: error: class, interface, or enum expected
using namespace std;
^
Main.java:25: error: class, interface, or enum expected
const ll mod = 1e9 + 7; //998244353;
^
Main.java:26: error: class, interface, or enum expected
const ll base = 311;
^
Main.java:27: error: class, interface, or enum expected
const ll INF = 1e18 + 7;
^
Main.java:28: error: class, interface, or enum expected
const ll maxn = 1e6 + 5;
^
Main.java:29: error: class, interface, or enum expected
const ll maxs = 1e5;
^
Main.java:30: error: class, interface, or enum expected
const ld pi = 3.14159265358979323846;
^
Main.java:31: error: class, interface, or enum expected
const ll dx[] = {-1,0,0,1};
^
Main.java:32: error: class, interface, or enum expected
const ll dy[] = {0,-1,1,0};
^
Main.java:33: error: class, interface, or enum expected
const int dx8[] = {1, 0, -1, 0, 1, -1, -1, 1};
^
Main.java:34: error: class, interface, or enum expected
const int dy8[] = {0, 1, 0, -1, 1, -1, 1, -1};
^
Main.java:36: error: class, interface, or enum expected
int n,m;
^
Main.java:37: error: class, interface, or enum expected
int d;
^
Main.java:38: error: class, interface, or enum expected
int cnt,resmax;
^
Main.java:39: error: class, interface, or enum expected
int a[1001][1001];
^
Main.java:41: error: class, interface, or enum expected
bool checkgp(int u,int v)
^
Main.java:44: error: class, interface, or enum expected
}
^
Main.java:49: error: class, interface, or enum expected
a[i][j] = -1;
^
Main.java:51: error: class, interface, or enum expected
for(int k = 0; k < 8; ++k){
^
Main.java:51: error: class, interface, or enum expected
for(int k = 0; k < 8; ++k){
^
Main.java:51: error: class, interface, or enum expected
for(int k = 0; k < 8; ++k){
^
Main.java:53: error: class, interface, or enum expected
int v = j + dy8[k];
^
Main.java:55: error: class, interface, or enum expected
if(checkgp(u,v) && a[u][v] != -1 && a[u][v] == flag){
^
Main.java:57: error: class, interface, or enum expected
}
^
Main.java:65: error: class, interface, or enum expected
freopen(TASK".out","w",stdout);
^
Main.java:67: error: class, interface, or enum expected
cin >> n >> m;
^
Main.java:69: error: class, interface, or enum expected
for(int i = 1; i <= n; ++i){
^
Main.java:69: error: class, interface, or enum expected
for(int i = 1; i <= n; ++i){
^
Main.java:69: error: class, interface, or enum expected
for(int i = 1; i <= n; ++i){
^
Main.java:70: error: class, interface, or enum expected
for(int j = 1; j <= m; ++j){
^
Main.java:70: error: class, interface, or enum expected
for(int j = 1; j <= m; ++j){
^
Main.java:72: error: class, interface, or enum expected
}
^
Main.java:75: error: class, interface, or enum expected
for(int i = 1; i <= n; ++i){
^
Main.java:75: error: class, interface, or enum expected
for(int i = 1; i <= n; ++i){
^
Main.java:76: error: class, interface, or enum expected
for(int j = 1; j <= m; ++j){
^
Main.java:76: error: class, interface, or enum expected
for(int j = 1; j <= m; ++j){
^
Main.java:79: error: class, interface, or enum expected
dfs(i,j,a[i][j]);
^
Main.java:81: error: class, interface, or enum expected
if(d > 1){
^
Main.java:83: error: class, interface, or enum expected
}
^
Main.java:86: error: class, interface, or enum expected
}
^
Main.java:92: error: class, interface, or enum expected
return 0;
^
Main.java:93: error: class, interface, or enum expected
}
^
68 errors