Please solve the programming task below using a self-contained code snippet in a markdown code block.

An integer x is numerically balanced if for every digit d in the number x, there are exactly d occurrences of that digit in x.
Given an integer n, return the smallest numerically balanced number strictly greater than n.
 
Please complete the following python code precisely:
```python
class Solution:
    def nextBeautifulNumber(self, n: int) -> int:
```