#include <utility> // pair make_pair
using std::pair;
using std::make_pair;
#include <tuple> // tuple(c++11) make_tuple(c++11)
using std::tuple; // get<address>(variable)
using std::make_tuple;
#include <string> // string stoi(c++11) stoll(c++11) to_string(c++11)
using std::string;
using std::stoi;
using std::stoll;
using std::to_string;
#include <queue> // queue priority_queue
using std::queue;
using std::priority_queue;
#include <stack> // stack
using std::stack;
#include <vector> // vector
using std::vector;
#include <map> // map
using std::map;
#include <set> // set
using std::set; // insert erase find count
#include <algorithm> // min max
using std::sort;
using std::lower_bound; // iterator,  >=
using std::upper_bound; // iterator,  >
using std::min;
using std::max;
using std::min_element; // iterator
using std::max_element; // iterator
#include <complex> // complex
using std::complex; // real imag
#include <iostream> // cin cout
using std::cin;
using std::cout;
using std::endl;
#include <iomanip> // setprecision fixed(manipulator)
using std::setprecision;
using std::fixed;
#include <cmath>
#include <cstdio>

#define lli long long int
#define INF (int)1e09
#define FOR(i, m, n) for (int i = m; i < n; i++)
#define EFOR(i, m, n) for (int i = m; i <= n; i++)
#define RFOR(i, m, n) for (int i = m; i > n; i--)
#define REFOR(i, m, n) for (int i = m; i >= n; i--)
#define VSORT(v) sort((v).begin(), (v).end()) // sort vector
typedef pair<int, int> PI;
typedef tuple<int, int, int> TI;
template <typename T> using Vec = vector<T>; // c++11

bool check(string str, string tar) {
    int lens = str.length();
    int lent = tar.length();
    int str_index = 0;
    int tar_index = 0;
    while (1) {
        if (tar_index == lent) {
            return true;
        } else if (str_index == lens) {
            return false;
        }
        if (str[str_index] == tar[tar_index]) {
            tar_index++;
        }
        str_index++;
    }
}

int main(void) {
    string s;
    string t;
    cin >> s >> t;
    int slen = s.length();
    string odd = "";
    string even = "";
    FOR(i, 0, slen) {
        if ((i + 1) % 2 == 1) {
            odd += s[i];
        } else {
            even += s[i];
        }
    }
    //cout << s << " " << t << " " << odd << " " << even << endl;
    if (check(t, odd) == true || check(t, even) == true) {
        cout << "Yes" << endl;
    } else {
        cout << "No" << endl;
    }
    return 0;
}
### Prompt

Generate a Cpp solution to the following problem:

Example

Input

acmicpc
tsukuba


Output

No

### Response

```cpp
#include <utility> // pair make_pair
using std::pair;
using std::make_pair;
#include <tuple> // tuple(c++11) make_tuple(c++11)
using std::tuple; // get<address>(variable)
using std::make_tuple;
#include <string> // string stoi(c++11) stoll(c++11) to_string(c++11)
using std::string;
using std::stoi;
using std::stoll;
using std::to_string;
#include <queue> // queue priority_queue
using std::queue;
using std::priority_queue;
#include <stack> // stack
using std::stack;
#include <vector> // vector
using std::vector;
#include <map> // map
using std::map;
#include <set> // set
using std::set; // insert erase find count
#include <algorithm> // min max
using std::sort;
using std::lower_bound; // iterator,  >=
using std::upper_bound; // iterator,  >
using std::min;
using std::max;
using std::min_element; // iterator
using std::max_element; // iterator
#include <complex> // complex
using std::complex; // real imag
#include <iostream> // cin cout
using std::cin;
using std::cout;
using std::endl;
#include <iomanip> // setprecision fixed(manipulator)
using std::setprecision;
using std::fixed;
#include <cmath>
#include <cstdio>

#define lli long long int
#define INF (int)1e09
#define FOR(i, m, n) for (int i = m; i < n; i++)
#define EFOR(i, m, n) for (int i = m; i <= n; i++)
#define RFOR(i, m, n) for (int i = m; i > n; i--)
#define REFOR(i, m, n) for (int i = m; i >= n; i--)
#define VSORT(v) sort((v).begin(), (v).end()) // sort vector
typedef pair<int, int> PI;
typedef tuple<int, int, int> TI;
template <typename T> using Vec = vector<T>; // c++11

bool check(string str, string tar) {
    int lens = str.length();
    int lent = tar.length();
    int str_index = 0;
    int tar_index = 0;
    while (1) {
        if (tar_index == lent) {
            return true;
        } else if (str_index == lens) {
            return false;
        }
        if (str[str_index] == tar[tar_index]) {
            tar_index++;
        }
        str_index++;
    }
}

int main(void) {
    string s;
    string t;
    cin >> s >> t;
    int slen = s.length();
    string odd = "";
    string even = "";
    FOR(i, 0, slen) {
        if ((i + 1) % 2 == 1) {
            odd += s[i];
        } else {
            even += s[i];
        }
    }
    //cout << s << " " << t << " " << odd << " " << even << endl;
    if (check(t, odd) == true || check(t, even) == true) {
        cout << "Yes" << endl;
    } else {
        cout << "No" << endl;
    }
    return 0;
}
```