#include using namespace std; typedef long long ll; templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b G[MAX]; int dis[MAX]; int A,B; void BFS(){ for(int i=0;i Q; for(int i=0;i<=A;i++){ dis[i]=0; Q.push(i); } while(!Q.empty()){ int u=Q.front();Q.pop(); for(int to:G[u]){ if(chmin(dis[to],dis[u]+1)){ Q.push(to); } } } } int main(){ std::ifstream in("text.txt"); std::cin.rdbuf(in.rdbuf()); cin.tie(0); ios::sync_with_stdio(false); int N,M;cin>>N>>M>>A>>B; A--;B--; for(int i=0;i>a>>b; a--;b--; G[a].push_back(b+1); G[b+1].push_back(a); } BFS(); int ans=INF; for(int i=B+1;i