## Algorithm

time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

One day a well-known sponsor of a well-known contest decided to give every participant of the contest a T-shirt as a present. A natural problem occurred: on the one hand, it is not clear how many T-shirts of what sizes should be ordered, and on the other hand, one doesn't want to order too many T-shirts (and we do not exactly paper the walls with the oversupply). After considerable brain racking and some pre-estimating, the sponsor representatives ordered a certain number of T-shirts of sizes S, M, L, XL and XXL. The T-shirts turned out to bring good luck, that's why on the contest day there built up a line of K participants willing to get one. Every contestant is characterized by his/her desired T-shirt size (so it happens that for all the participants it is also one of the sizes S, M, L, XL and XXL). The participants come up to get a T-shirt one by one and try to choose the most suitable one, choosing it like this. If there is still a T-shirt of the optimal size left, that he/she takes it without further ado. Otherwise the contestant would prefer to choose a T-shirt with the size as close to the optimal one as possible (the distance between neighboring sizes is considered equal to one). If the variant of choice is not unique, the contestant will take a T-shirt of a bigger size (in case he/she grows more). For example, for a person whose optimal size is L the preference list looks like this: L, XL, M, XXL, S. Using the data on how many T-shirts of every size had been ordered by the organizers, on the size of contestants in the line determine who got a T-shirt of what size.

Input

The first line contains five non-negative integers NS, NM, NL, NXL, NXXL not exceeding 1000 which represent the number of T-shirts of the corresponding sizes. The second line contains an integer K (1 ≤ K ≤ 1000) which represents the number of participants. The next K lines contain the optimal T-shirt sizes for the contestants. The sizes are given in the order in which the participants stand in the line. It is guaranteed that NS + NM + NL + NXL + NXXL ≥ K.

Output

For each contestant, print a line containing the size of the T-shirt he/she got.

Examples
input
Copy
`1 0 2 0 13XLXXLM`
output
Copy
`XXLLL`

## Code Examples

### #1 Code Example with C++ Programming

```Code - C++ Programming```

``````#include <cstdio>
#include <iostream>
#include <string>
#include <vector>
#include <map>

int main(){

const int N = 5;
std::map<std::string, int> rem;
std::map<std::string, std::vector<std::string> > pref;

std::vector<std::string> temp;
temp.clear(); temp.push_back("S"); temp.push_back("M"); temp.push_back("L"); temp.push_back("XL"); temp.push_back("XXL");
pref.insert(std::pair < std::string, std::vector<std::string> >("S", temp));
temp.clear(); temp.push_back("M"); temp.push_back("L"); temp.push_back("S"); temp.push_back("XL"); temp.push_back("XXL");
pref.insert(std::pair < std::string, std::vector<std::string> >("M", temp));
temp.clear(); temp.push_back("L"); temp.push_back("XL"); temp.push_back("M"); temp.push_back("XXL"); temp.push_back("S");
pref.insert(std::pair < std::string, std::vector<std::string> >("L", temp));
temp.clear(); temp.push_back("XL"); temp.push_back("XXL"); temp.push_back("L"); temp.push_back("M"); temp.push_back("S");
pref.insert(std::pair < std::string, std::vector<std::string> >("XL", temp));
temp.clear(); temp.push_back("XXL"); temp.push_back("XL"); temp.push_back("L"); temp.push_back("M"); temp.push_back("S");
pref.insert(std::pair < std::string, std::vector<std::string> >("XXL", temp));

int t;
scanf("%d", &t); rem.insert(std::pair<std::string, int>("S", t));
scanf("%d", &t); rem.insert(std::pair<std::string, int>("M", t));
scanf("%d", &t); rem.insert(std::pair<std::string, int>("L", t));
scanf("%d", &t); rem.insert(std::pair<std::string, int>("XL", t));
scanf("%d", &t); rem.insert(std::pair<std::string, int>("XXL", t));

int n; scanf("%d", &n);
for(int p = 0; p < n; p++){
std::string s; std::cin >> s;
for(int q = 0; q < N; q++){std::string cp = pref[s][q]; if(rem[cp] > 0){std::cout << cp << std::endl; --rem[cp]; break;}}
}

return 0;
}``````
Copy The Code &

Input

cmd
1 0 2 0 1
3
XL
XXL
M

Output

cmd
XXL
L
L