class Solution(object):
def getUglyNumber(self, n):
arr = [0 for i in range(n)]
arr[0] = 1
p2 = 0
p3 = 0
p5 = 0
cur = 1
while cur < n:
v = min(arr[p2]*2, arr[p3]*3, arr[p5]*5)
arr[cur] = v
while arr[p2]*2 <= v:
p2 += 1
while arr[p3]*3 <= v:
p3 += 1
while arr[p5]*5 <= v:
p5 += 1
cur += 1
return arr[n-1]