#include <bits/stdc++.h>
#include <iostream>
#include <iomanip>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cctype>
#include <cstring>
#include <cstdlib>
#include <utility>
#include <string>
#include <vector>
#include <stack>
#include <queue>
#include <deque>
#include <map>
#include <set>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main()
{
string s;
cin>>s;
stack <long long int> My_stack;
for (int i=0;i<s.size();i++)
{
if (s[i]!='@')
{
if (s[i]=='(')
{
My_stack.push(i);
}
else if (s[i]==')')
{
if (My_stack.empty())
{
cout<<"NO";
return 0;
}
else
{
My_stack.pop();
}
}
}
else
{
break;
}
}
if (!My_stack.empty())
{
cout<<"No"<<endl;
}
else
{
cout<<"YeS";
}
return 0;
}
+++++++++++++++++++++++++++++++++++++++++++
#include <bits/stdc++.h>
#include <iostream>
#include <iomanip>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cctype>
#include <cstring>
#include <cstdlib>
#include <utility>
#include <string>
#include <vector>
#include <stack>
#include <queue>
#include <deque>
#include <map>
#include <set>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
long long int n,m,bx;
long long int ox[8]={0,0,1,-1,-1,-1,1,1};
long long int oy[8]={1,-1,0,0,-1,1,1,-1};
char a[1000][1000];
long long int sum[1000][1000];
void dfs(long long int x,long long int y)
{
sum[x][y]=1;
for(long long int i=0;i<8;i++)
{
long long int nx=x+ox[i],ny=y+oy[i];
if(nx>=0 && ny>=0 && nx<n && ny<m && !sum[nx][ny] && a[nx][ny]=='-')
{
dfs(nx,ny);
}
}
}
int main()
{
cin>>n>>m;
for(long long int i=0;i<n;i++)
{
cin>>a[i];
}
for(long long int i=0;i<n;i++)
{
for(long long int j=0;j<m;j++)
{
if(!sum[i][j]&&a[i][j]=='-')
{
bx++;
dfs(i,j);
}
}
}
cout<<bx<<endl;
return 0;
}