int minthree(int a1, int a2, int a3){
a1 = a1 < a2 ? a1 : a2;
a1 = a1 < a3 ? a1 : a3;
return a1;
}
int getugly(int index){
queue<int> q2, q3, q5;
int res = 1;
q2.push(2);
q3.push(3);
q5.push(5);
while(index > 1){
--index;
int tp = minthree(q2.front(), q3.front(), q5.front());
if(tp == q2.front()){
q2.pop();
q2.push(tp*2);
q3.push(tp*3);
q5.push(tp*5);
}else if(tp == q3.front()){
q3.pop();
q3.push(tp*3);
q5.push(tp*5);
}else{
q5.pop();
q5.push(tp*5);
}
res = tp;
}
return res;
}