human
Complete this python program:
def launch(no_flow=False, network='192.168.0.0/24', first=1, last=None, count=None, ip='192.168.0.254', router=(), dns=()):
assistant
#Here is the Python program you requested.

    """Launch DHCP server
    Defaults to serving 192.168.0.1 to 192.168.0.253
    network  Subnet to allocate addresses from
    first    First\th address in subnet to use (256 is x.x.1.0 in a /16)
    last     Last\th address in subnet to use
    count    Alternate way to specify last address to use
    ip       IP to use for DHCP server
    router   Router IP to tell clients. Defaults to \ip\. \None\ will
    stop the server from telling clients anything
    dns      DNS IP to tell clients.  Defaults to \router\.  \None\ will
    stop the server from telling clients anything.
    """
    def fixint(i):
        i = str(i)
        if (i.lower() == 'none'):
            return None
        if (i.lower() == 'true'):
            return None
        return int(i)
    def fix(i):
        i = str(i)
        if (i.lower() == 'none'):
            return None
        if (i.lower() == 'true'):
            return None
        if (i == '()'):
            return ()
        return i
    (first, last, count) = map(fixint, (first, last, count))
    (router, dns) = map(fix, (router, dns))
    pool = SimpleAddressPool(network=network, first=first, last=last, count=count)
    core.registerNew(DHCPD, install_flow=(not no_flow), pool=pool, ip_address=ip, router_address=router, dns_address=dns)
    log.debug('DHCP    serving    a%s', str(pool)[2:(-1)])