





import qiskit





def  __magic_name__  (				lowercase				,       lowercase				)				-> qiskit.result.counts.Counts:

							"""simple docstring"""



							lowercase_	:   List[Any]  				=     qiskit.Aer.get_backend("""aer_simulator"""				)

							lowercase_	:   List[Any]  				=     qiskit.QuantumCircuit(4				,       2				)
							# encode inputs in qubits 0 and 1
							if bita == 1:
														qc_ha.x(0				)
							if bita == 1:
														qc_ha.x(1				)
							qc_ha.barrier()

							# use cnots to write XOR of the inputs on qubit2
							qc_ha.cx(0				,       2				)
							qc_ha.cx(1				,       2				)

							# use ccx / toffoli gate to write AND of the inputs on qubit3
							qc_ha.ccx(0				,       1				,       3				)
							qc_ha.barrier()

							# extract outputs
							qc_ha.measure(2				,       0				)  # extract XOR value
							qc_ha.measure(3				,       1				)  # extract AND value

							# Execute the circuit on the qasm simulator
							lowercase_	:   str  				=     qiskit.execute(lowercase				,       lowercase				,       shots=1000				)

							# Return the histogram data of the results of the experiment
							return job.result().get_counts(lowercase				)


if __name__ == "__main__":
							UpperCAmelCase_							=				half_adder(1, 1)
							print(F'''Half Adder Output Qubit Counts: {counts}''')






def  __magic_name__  (				lowercase = 1000				)				-> int:

							"""simple docstring"""



							lowercase_				,		lowercase_	:   Optional[Any]  				=     1, 1
							lowercase_	:   Tuple  				=     2
							while True:
														lowercase_	:   Dict  				=     0
														lowercase_	:   List[Any]  				=     fa + fa
														lowercase_				,		lowercase_	:   List[str]  				=     fa, f
														index += 1
														for _ in str(lowercase				):
																					i += 1
														if i == n:
																					break
							return index


if __name__ == "__main__":
							print(solution(int(str(input()).strip())))