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

Suppose you have n integers labeled 1 through n. A permutation of those n integers perm (1-indexed) is considered a beautiful arrangement if for every i (1 <= i <= n), either of the following is true:

perm[i] is divisible by i.
i is divisible by perm[i].

Given an integer n, return the number of the beautiful arrangements that you can construct.
 
Please complete the following python code precisely:
```python
class Solution:
    def countArrangement(self, n: int) -> int:
```