#include using namespace std; vector m[3][3]; int main() { cin.tie(0); ios_base::sync_with_stdio(0); int n; string s1,s0; cin>>n>>s1>>s0; for(int i=0; i> ans; while(m[1][2].size() || m[2][1].size()) { int nb=2,ns=1; if(m[1][2].size()>m[2][1].size()) { nb=1;ns=2; } if(!m[ns][0].size()) { swap(nb,ns); } ans.push_back({"DRIVE", m[ns][0].back()}); ans.push_back({"PICKUP", -1}); m[ns][0].pop_back(); int nx = ns; while(m[3-nx][nx].size()) { ans.push_back({"DRIVE", m[3-nx][nx].back()}); m[3-nx][nx].pop_back(); ans.push_back({"DROPOFF", -1}); ans.push_back({"PICKUP", -1}); nx = 3-nx; } if(m[0][nx].size()) { ans.push_back({"DRIVE", m[0][nx].back()}); m[0][nx].pop_back(); ans.push_back({"DROPOFF", -1}); } } for(int a=1; a<3; ++a) { while(m[0][a].size()) { ans.push_back({"DRIVE",m[a][0].back()}); ans.push_back({"PICKUP",-1}); m[a][0].pop_back(); ans.push_back({"DRIVE",m[0][a].back()}); ans.push_back({"DROPOFF",-1}); m[0][a].pop_back(); } } cout<