[Java/Python 3] Prefix product w/ brief explanation.
If current num is not 0, multiply it with the current prefix product, and add it to the list;
Otherwise, initialize the list containing only a 1;
If prefixProd
1. If current `num` is not `0`, multiply it with the current prefix product, and add it to the list;
2. Otherwise, initialize the list containing only a `1`;
3. If `prefixProduct` contains more than `k` items, use prefix products at last index and index k + 1 from last to compute result; otherwise return `0`.
```
    private List<Integer> prefixProduct = new ArrayList<>(Arrays.asList(1));
    
    public ProductOfNumbers() {
        
    }
    
    public void add(int num) {
        if (num == 0) {
            prefixProduct = new ArrayList<>(Arrays.asList(1));
        }els {
            prefixProduct.add(prefixProduct.getLast() * num);
        }
            
    }
    
    public int getProduct(int k) {
        int sz = prefixProduct.size();
        if (sz <= k) 
            return 0;
        return prefixProduct.getLast() / prefixProduct.get(sz - k - 1);
    }
```
```python

    def __init__(self):
        self.prefixProduct = [1]

    def add(self, num: int) -> None:
        if num == 0:
            self.prefixProduct = [1]
        else:
            self.prefixProduct.append(self.prefixProduct[-1] * num)

    def getProduct(self, k: int) -> int:
        return self.prefixProduct[-1] // self.prefixProduct[-k - 1] if k < len(self.prefixProduct) else 0        


```
['Prefix Sum', 'Java', 'Python3']