






class    _UpperCAmelCase      :

				"""simple docstring"""




				def __init__(  self		:					Optional[Any],						lowerCamelCase		:					list						):

								'''simple docstring'''
								lowercase__     				=    set_counts
								lowercase__     				=    max(lowerCamelCase						)
								lowercase__     				=    len(lowerCamelCase						)
								lowercase__     				=    [1] * num_sets
								lowercase__     				=    list(range(lowerCamelCase						)						)




				def        lowercase__     (  self		:					Optional[int],						lowerCamelCase		:					int,						lowerCamelCase		:					int						):

								'''simple docstring'''
								lowercase__     				=    self.get_parent(lowerCamelCase						)
								lowercase__     				=    self.get_parent(lowerCamelCase						)

								if src_parent == dst_parent:
												return False

								if self.ranks[dst_parent] >= self.ranks[src_parent]:
												self.set_counts[dst_parent] += self.set_counts[src_parent]
												lowercase__     				=    0
												lowercase__     				=    dst_parent
												if self.ranks[dst_parent] == self.ranks[src_parent]:
																self.ranks[dst_parent] += 1
												lowercase__     				=    self.set_counts[dst_parent]
								else:
												self.set_counts[src_parent] += self.set_counts[dst_parent]
												lowercase__     				=    0
												lowercase__     				=    src_parent
												lowercase__     				=    self.set_counts[src_parent]

								lowercase__     				=    max(self.max_set,						lowerCamelCase						)
								return True




				def        lowercase__     (  self		:					Any,						lowerCamelCase		:					int						):

								'''simple docstring'''
								if self.parents[disj_set] == disj_set:
												return disj_set
								lowercase__     				=    self.get_parent(self.parents[disj_set]						)
								return self.parents[disj_set]












from itertools import count






def 						a    (		lowerCamelCase_ = 50       ):






				'''simple docstring'''
				lowercase__     				=    [1] * min_block_length

				for n in count(lowerCamelCase_       ):
								fill_count_functions.append(1       )

								for block_length in range(lowerCamelCase_	,     n + 1       ):
												for block_start in range(n - block_length       ):
																fill_count_functions[n] += fill_count_functions[
																    n - block_start - block_length - 1
																]

												fill_count_functions[n] += 1

								if fill_count_functions[n] > 100_0000:
												break

				return n


if __name__ == "__main__":
							print(F"{solution() = }")




