from typing import Tuple
from typing import List
import random


def roll(num_dice: int = 1, sides: int = 20) -> Tuple[List[int], int]:
    """rolls some dice given numeric inputs.

    Args:
        num_dice (optional): number of dice to roll.  Defaults to 1 for a
            single die.
        sides (optional): size of die (e.g, 6 for a D6 die).  Defaults to 20
            rolling a D20.

    Returns:
        sorted (descending) list of individual rolls and their total.
    """
    rolls = sorted(
        [random.choice(range(1, sides + 1)) for _ in range(num_dice)], reverse=True
    )
    return (rolls, sum(rolls))