def get_books_by_multi_search(user_input, books_list):
  """
  Get a list of books based on multiple characteristic

  Parameters:
    user_input: A dictionary based on what the user type input
    books_list: The list of book to search from
  Return:
    books_list_multisearch: The list of book after performing multisearch
  """
  books_list_multisearch = []
  for book in books_list:
    if (user_input["title"] in book["title"] and
    any(user_input["author"] in name for name in book["author"]) and
    user_input["start_year"] <= book["published_year"] and
    user_input["end_year"] >= book["published_year"]):
      books_list_multisearch.append(book)
  if len(books_list_multisearch) == len(books_list):
    books_list_multisearch = None
  return books_list_multisearch