from typing import List


def apply_b3(matrix: List[List[str]]) -> str:
    """
    Creates encrypted message by following route in given matrix. Implemented
    according to B3 route
    """
    row_count, col_count = len(matrix), len(matrix[0])

    message = []

    # Iterate over all columns. The message starts from the end of the column to its top
    for col in range(col_count):
        # Iterate rows starting from bottom
        for row in list(range(row_count))[::-1]:
            message.append(matrix[row][col])

    return ''.join(message)