> For the complete documentation index, see [llms.txt](https://jaywin.gitbook.io/leetcode/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jaywin.gitbook.io/leetcode/solutions/0996-number-of-squareful-arrays.md).

# 0996. Number of Squareful Arrays

<https://leetcode.com/problems/number-of-squareful-arrays>

## Description

An array is **squareful** if the sum of every pair of adjacent elements is a **perfect square**.

Given an integer array nums, return *the number of permutations of* `nums` *that are **squareful***.

Two permutations `perm1` and `perm2` are different if there is some index `i` such that `perm1[i] != perm2[i]`.

**Example 1:**

```
**Input:** nums = [1,17,8]
**Output:** 2
**Explanation:** [1,8,17] and [17,8,1] are the valid permutations.
```

**Example 2:**

```
**Input:** nums = [2,2,2]
**Output:** 1
```

**Constraints:**

* `1 <= nums.length <= 12`
* `0 <= nums[i] <= 109`

## ac

```java
```
