





import doctest

import projectq
from projectq.ops import H, Measure




def 			lowerCAmelCase_			(				UpperCamelCase_	)  ->		int:
       UpperCamelCase_ 							=	quantum_engine.allocate_qubit()
       H | qubit
       Measure | qubit
       return int(UpperCamelCase_	)


if __name__ == "__main__":
     doctest.testmod()

     # initialises a new quantum backend
     _UpperCAmelCase										=					projectq.MainEngine()

     # Generate a list of 10 random numbers
     _UpperCAmelCase										=					[get_random_number(quantum_engine) for _ in range(1_0)]

     # Flushes the quantum engine from memory
     quantum_engine.flush()

     print('Random numbers', random_numbers_list)








from __future__ import annotations




def 			lowerCAmelCase_			(				UpperCamelCase_	)  ->		int | None:
       for r in range(1       ,		UpperCamelCase_	):
              UpperCamelCase_ 							=	[]
              for x in range(n - 1	):
                     UpperCamelCase_ 							=	pow(UpperCamelCase_       ,		UpperCamelCase_       ,		UpperCamelCase_	)
                     if val in li:
                            break
                     li.append(UpperCamelCase_	)
              else:
                     return r
       return None


if __name__ == "__main__":
     _UpperCAmelCase										=					int(input('Enter a prime number q: '))
     _UpperCAmelCase										=					find_primitive(q)
     if a is None:
          print(f'''Cannot find the primitive for the value: {a!r}''')
     else:
          _UpperCAmelCase										=					int(input('Enter private key of A: '))
          _UpperCAmelCase										=					pow(a, a_private, q)
          _UpperCAmelCase										=					int(input('Enter private key of B: '))
          _UpperCAmelCase										=					pow(a, b_private, q)

          _UpperCAmelCase										=					pow(b_public, a_private, q)
          _UpperCAmelCase										=					pow(a_public, b_private, q)

          print('The key value generated by A is: ', a_secret)
          print('The key value generated by B is: ', b_secret)

