def count_http_errors(status_codes):
	counts = {"4xx": 0, "5xx": 0}
	for code in status_codes:
		try:
			code = int(code)
		except (TypeError, ValueError):
			continue 
		if 400 <= code <= 499:
			counts["4xx"] += 1
		elif 500 <= code  <= 599:
			counts["5xx"] += 1
	return counts
	
if __name__ == "__main__":
    test_data = [200, 201, 301, 399, 400, 404, 499, 500, 503, 599, 600, None, "abc"]
    result = count_http_errors(test_data)
    print(result)
    assert result == {"4xx": 3, "5xx": 3}
    assert count_http_errors([]) == {"4xx": 0, "5xx": 0}
    print("Challenge 5 OK")