> 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/1977-number-of-ways-to-separate-numbers.md).

# 1977. Number of Ways to Separate Numbers

<https://leetcode.com/problems/number-of-ways-to-separate-numbers>

## Description

You wrote down many **positive** integers in a string called `num`. However, you realized that you forgot to add commas to seperate the different numbers. You remember that the list of integers was **non-decreasing** and that **no** integer had leading zeros.

Return *the **number of possible lists of integers** that you could have written down to get the string* `num`. Since the answer may be large, return it **modulo** `109 + 7`.

**Example 1:**

```
**Input:** num = "327"
**Output:** 2
**Explanation:** You could have written down the numbers:
3, 27
327
```

**Example 2:**

```
**Input:** num = "094"
**Output:** 0
**Explanation:** No numbers can have leading zeros and all numbers must be positive.
```

**Example 3:**

```
**Input:** num = "0"
**Output:** 0
**Explanation:** No numbers can have leading zeros and all numbers must be positive.
```

**Example 4:**

```
**Input:** num = "9999999999999"
**Output:** 101
```

**Constraints:**

* `1 <= num.length <= 3500`
* `num` consists of digits `'0'` through `'9'`.

## ac

```java
```
