#include using namespace std; #define sz(s) int((s).size()) const int AL = 26; const int N = 2e5 + 10; string s, t; int pre[N], suff[N], pos[AL], ind; int main(){ ios::sync_with_stdio(0); cin.tie(0); cin >> s >> t; for(int i = 0; i < sz(s); ++ i){ if(ind < sz(t) && s[i] == t[ind]) pos[s[i] - 'a'] = ind ++; pre[i] = pos[s[i] - 'a']; } ind = sz(t) - 1; memset(pos, 0, sizeof(pos)); for(int i = sz(s) - 1; i >= 0; -- i){ if(ind >= 0 && s[i] == t[ind]) pos[s[i] - 'a'] = sz(t) - (ind --); suff[i] = pos[s[i] - 'a']; } for(int i = 0; i < sz(s); ++ i) if(pre[i] + suff[i] < sz(t)) return cout << "No\n", 0; cout << "Yes\n"; return 0; }