def bfs_shortest_path_print(graph, x, y):
    """Return shortest path between nodes x and y."""
    visited = []
    q = [[x]]

    while q:
        path = q.pop(0)
        node = path[-1]
        if node not in visited:
            for adjacent in graph[node]:
                new_path = list(path)
                new_path.append(adjacent)
                if adjacent == y:
                    return new_path
                q.append(new_path)
            visited.append(node)
    return f'No path from {x} to {y}.'