

def    __lowerCamelCase      (					UpperCamelCase__ ):







							'''simple docstring'''






							snake_case_     							=       len(UpperCamelCase__ )
							snake_case_     							=       len(matrix[0] )
							snake_case_     							=       min(UpperCamelCase__  ,				UpperCamelCase__ )

							for row in range(UpperCamelCase__ ):
														# Check if diagonal element is not zero
														if matrix[row][row] != 0:
																					# Eliminate all the elements below the diagonal
																					for col in range(row + 1  ,				UpperCamelCase__ ):
																												snake_case_     							=       matrix[col][row] / matrix[row][row]
																												for i in range(UpperCamelCase__  ,				UpperCamelCase__ ):
																																			matrix[col][i] -= multiplier * matrix[row][i]
														else:
																					# Find a non-zero diagonal element to swap rows
																					snake_case_     							=       True
																					for i in range(row + 1  ,				UpperCamelCase__ ):
																												if matrix[i][row] != 0:
																																			snake_case_							,       snake_case_     							=       matrix[i], matrix[row]
																																			snake_case_     							=       False
																																			break
																					if reduce:
																												rank -= 1
																												for i in range(UpperCamelCase__ ):
																																			snake_case_     							=       matrix[i][rank]

            # Reduce the row pointer by one to stay on the same row
																					row -= 1

							return rank


if __name__ == "__main__":
					import doctest

					doctest.testmod()







_UpperCAmelCase						:  Any									=			6_5521





def    __lowerCamelCase      (					UpperCamelCase__ ):







							'''simple docstring'''






							snake_case_     							=       1
							snake_case_     							=       0
							for plain_chr in plain_text:
														snake_case_     							=       (a + ord(UpperCamelCase__ )) % MOD_ADLER
														snake_case_     							=       (b + a) % MOD_ADLER
							return (b << 16) | a




