def ver_mlsag_assert(pk, rv, dsRows):
    """
    Initial params verification for ver_mlsag
    :param pk:
    :param rv:
    :param dsRows:
    :return:
    """
    cols = len(pk)
    if cols < 2:
        raise ValueError('Error! What is c if cols = 1!')
    rows = len(pk[0])
    if rows == 0:
        raise ValueError('Empty pk')
    for i in range(cols):
        if len(pk[i]) != rows:
            raise ValueError('pk is not rectangular')
    if len(rv.II) != dsRows:
        raise ValueError('Bad II size')
    if len(rv.ss) != cols:
        raise ValueError('Bad rv.ss size')
    for i in range(cols):
        if len(rv.ss[i]) != rows:
            raise ValueError('rv.ss is not rectangular')
    if dsRows > rows:
        raise ValueError('Bad dsRows value')
    return rows, cols
