def area_codes(count_start=200, count=1000):
    """
    NPA (Area Code) Rules:
    http://www.nanpa.com/area_codes/index.html
    * Starts with [2-9].
    * Does not end in 11 (N11).
    * Does not end in 9* (N9X).
    * Does not start with 37 (37X).
    * Does not start with 96 (96X).
    * Does not contain ERC (Easily Recognizable
      Codes) AKA last two digits aren't the same.
    """
    npa = []

    for x in range(count_start, count):
        s = str(x)
        # N11
        if s[1:] == '11':
            continue
        # N9X
        if s[1:-1] == '9':
            continue
        # 37X/96X
        if s[:2] == '37' or s[:2] == '96':
            continue
        # ERC
        if s[1:2] == s[2:3]:
            continue
        npa.append(x)

    return npa