'''simple docstring'''




import string
from math import logaa






def __lowerCAmelCase			(							UpperCamelCase__    ,  UpperCamelCase__    )     ->   int:
   __lowerCamelCase          =  document.translate(
       str.maketrans(''''''    ,  ''''''    ,  string.punctuation    )    ).replace('''\n'''    ,  ''''''    )
   __lowerCamelCase          =  document_without_punctuation.split(''' '''    )  # word tokenization
   return len([word for word in tokenize_document if word.lower() == term.lower()]    )






def __lowerCAmelCase			(							UpperCamelCase__    ,  UpperCamelCase__    )     ->   tuple[int, int]:
   __lowerCamelCase          =  corpus.lower().translate(
       str.maketrans(''''''    ,  ''''''    ,  string.punctuation    )    )  # strip all punctuation and replace it with ''
   __lowerCamelCase          =  corpus_without_punctuation.split('''\n'''    )
   __lowerCamelCase          =  term.lower()
   return (len([doc for doc in docs if term in doc]    ), len(UpperCamelCase__    ))






def __lowerCAmelCase			(							UpperCamelCase__    ,  UpperCamelCase__    ,  UpperCamelCase__=False    )     ->   float:
   if smoothing:
      if n == 0:
         raise ValueError('''log10(0) is undefined.'''    )
      return round(1 + logaa(n / (1 + df)    )    ,  3    )

   if df == 0:
      raise ZeroDivisionError('''df must be > 0'''    )
   elif n == 0:
      raise ValueError('''log10(0) is undefined.'''    )
   return round(logaa(n / df    )    ,  3    )






def __lowerCAmelCase			(							UpperCamelCase__    ,  UpperCamelCase__    )     ->   float:
   return round(tf * idf    ,  3    )

'''simple docstring'''




from __future__ import annotations






def __lowerCAmelCase			(							UpperCamelCase__    ,  UpperCamelCase__    )     ->   list[list[int]]:
    __lowerCamelCase          =  []
    create_all_state(1    ,  UpperCamelCase__    ,  UpperCamelCase__    ,  []    ,  UpperCamelCase__    )
    return result






def __lowerCAmelCase			(							UpperCamelCase__    ,  UpperCamelCase__    ,  UpperCamelCase__    ,  UpperCamelCase__    ,  UpperCamelCase__    ,  )     ->   None:
    if level == 0:
        total_list.append(current_list[:]    )
        return

    for i in range(UpperCamelCase__    ,  total_number - level + 2    ):
        current_list.append(UpperCamelCase__    )
        create_all_state(i + 1    ,  UpperCamelCase__    ,  level - 1    ,  UpperCamelCase__    ,  UpperCamelCase__    )
        current_list.pop()






def __lowerCAmelCase			(							UpperCamelCase__    )     ->   None:
    for i in total_list:
        print(*UpperCamelCase__    )


if __name__ == "__main__":
  __UpperCAmelCase												=4
  __UpperCAmelCase												=2
  __UpperCAmelCase												=generate_all_combinations(n, k)
  print_all_state(total_list)
