The `heuristics` function takes as input a distance matrix (shape: n by n), Euclidean coordinates of nodes (shape: n by 2), a vector of customer demands (shape: n), and the integer capacity of vehicle capacity. 
It returns prior indicators of how promising it is to include each edge in a solution. 
The return is of the same shape as the distance_matrix. The depot node is indexed by 0.

### Solution Function Signature
```python
def heuristics(distance_matrix: np.ndarray, coordinates: np.ndarray, demands: np.ndarray, capacity: int) -> np.ndarray:
```