def get_qtypes(dataset_name, part):
  """Return list of question-types for a particular TriviaQA-CP dataset"""
  if dataset_name not in {"location", "person"}:
    raise ValueError("Unknown dataset %s" % dataset_name)

  if part not in {"train", "dev", "test"}:
    raise ValueError("Unknown part %s" % part)

  is_biased = part in {"train", "dev"}
  is_location = dataset_name == "location"

  if is_biased and is_location:
    return ["person", "other"]
  elif not is_biased and is_location:
    return ["location"]
  elif is_biased and not is_location:
    return ["location", "other"]
  elif not is_biased and not is_location:
    return ["person"]
  else:
    raise RuntimeError()