<s>[INST] I've been given an N x N matrix where every element in the matrix is either 1 or 0. Representing the matrix as a graph where every element is a node, there is an edge between two nodes if they are different and are adjacent (horizontally or vertically). For instance, a 1 node can only be adjacent to a 0 node, and a 0 node can only be adjacent to a 1 node.
 
Using only 0s and 1s for node representations, can you write a function that will return all the unique shortest paths from a given start node to an end node in the matrix?[/INST]