#include using namespace std; typedef pair pii; int n; string s1,s2; queue q[10]; char koj='.'; vector ans; void drive (int i) { ans.push_back({i, 0}); } void pickup() { ans.push_back({0, 1}); } void dropoff() { ans.push_back({0, 2}); } int main() { cin>>n>>s1>>s2; for(int i=0; i0 || q[3].size()>0 || q[4].size()>0 || q[5].size()>0){ if(koj=='.' && q[0].size()>0){ drive(q[0].front()); pickup(); q[0].pop(); koj='C'; } else if(koj=='.' && q[2].size()>0){ drive(q[2].front()); pickup(); q[2].pop(); koj='M'; } else if(koj=='C'){ if(q[4].size()>0){ drive(q[4].front()); dropoff(); pickup(); q[4].pop(); koj='M'; } else if(q[1].size()>0){ drive(q[1].front()); dropoff(); q[1].pop(); koj='.'; } else{ drive(q[2].front()); pickup(); q[2].pop(); koj='M'; } } else if(koj=='M'){ if(q[5].size()>0){ drive(q[5].front()); dropoff(); pickup(); q[5].pop(); koj='C'; } else if(q[3].size()>0){ drive(q[3].front()); dropoff(); q[3].pop(); koj='.'; } else{ drive(q[0].front()); pickup(); q[0].pop(); koj='C'; } } } cout << ans.size() << "\n"; for (pii p : ans) { if (p.second == 0) { cout << "DRIVE " << p.first << "\n"; } else if (p.second == 1) cout << "PICKUP\n"; else cout << "DROPOFF\n"; } return 0; }