def virt_imei_shard_bounds(num_physical_imei_shards):
    """
    Utility function to determine the virtual IMEI shard ranges that should be created for each physical shard.

    Arguments:
        num_physical_imei_shards: number of physical imei shards
    Returns:
        list of virt imei shards bounds
    """
    k, m = divmod(100, num_physical_imei_shards)
    return [(i * k + min(i, m), (i + 1) * k + min(i + 1, m)) for i in range(num_physical_imei_shards)]