def count_with_pseudocount(motifs):
    """Count the number of nucleotides (4 types: ACGT) column wise from a motifs matrix, then add 1 to each position, i.e. pseudocount.

    Args:
        motifs: 2D matrix, matrix of motifs in genome.

    Returns:
        dictionary, the count matrix of Motifs with pseudocounts as a dictionary of lists.

    Examples:
        Takes a list of strings motifs as input and returns the pseudocount matrix of motifs (as a dictionary of lists.)

        >>> motifs = ['AACGTA', 'CCCGTT', 'CACCTT', 'GGATTA', 'TTCCGG']
        >>> pseudocounts_dict = count_with_pseudocount(motifs)
        >>> pseudocounts_dict
            {'A': [2, 3, 2, 1, 1, 3], 'C': [3, 2, 5, 3, 1, 1], 'G': [2, 2, 1, 3, 2, 2], 'T': [2, 2, 1, 2, 5, 3]}
    """
    t = len(motifs)  # t is equal to the row number of motifs matrix
    k = len(motifs[0])  # the length of the first row in motifs is actually the column number of motifs matrix
    count = {}  # initializing the count dictionary
    for symbol in "ACGT":
        count[symbol] = []
        for j in range(k):
            count[symbol].append(1)
    for i in range(t):
        for j in range(k):
            symbol = motifs[i][j]
            count[symbol][j] += 1
    return count