#include #include using namespace std; typedef long long int ll; vector result; vector v_c, v_m, mc, cm, m_, c_; void pickC(); void pickM(); void pickC(){ if (!cm.empty()){ int v = cm.back(); cm.pop_back(); result.emplace_back("DROPOFF"); result.push_back("DRIVE " + to_string(v +1)); result.emplace_back("PICKUP"); pickM(); } else if (!c_.empty()) { int v = c_.back(); c_.pop_back(); result.push_back("DRIVE " + to_string(v +1)); //result.emplace_back("PICKUP"); } else throw std::runtime_error("unreachable"); } void pickM(){ if (!mc.empty()){ int v = mc.back(); mc.pop_back(); result.emplace_back("DROPOFF"); result.push_back("DRIVE " + to_string(v +1)); result.emplace_back("PICKUP"); pickC(); } else if (!m_.empty()) { int v = m_.back(); m_.pop_back(); result.push_back("DRIVE " + to_string(v +1)); //result.emplace_back("PICKUP"); } else throw std::runtime_error("unreachable"); } int main(){ int n; cin >> n; string sHave, sWant; cin >> sWant >> sHave; for (int i=0; i=0;i--){ cout << result[i] << '\n'; } }