Paste Search Dynamic
Recent pastes
CurveFp
  1. import random
  2.  
  3. class CurveFp( object ):
  4.   def __init__( self, p, a, b ):
  5.     self.__p = p
  6.     self.__a = a
  7.     self.__b = b
  8.  
  9.   def p( self ):
  10.     return self.__p
  11.  
  12.   def a( self ):
  13.     return self.__a
  14.  
  15.   def b( self ):
  16.     return self.__b
  17.  
  18.   def contains_point( self, x, y ):
  19.     return ( y * y - ( x * x * x + self.__a * x + self.__b ) ) % self.__p == 0
  20.  
  21. class Point( object ):
  22.   def __init__( self, curve, x, y, order = none ):
  23.     self.__curve = curve
  24.     self.__x = x
  25.     self.__y = y
  26.     self.__order = order
  27.     if self.__curve: assert self.__curve.contains_point( x, y )
  28.     if order: assert self * order == INFINITY
  29.  
  30.   def __add__( self, other ):
  31.     if other == INFINITY: return self
  32.     if self == INFINITY: return other
  33.     assert self.__curve == other.__curve
  34.     if self.__x == other.__x:
  35.       if ( self.__y + other.__y ) % self.__curve.p() == 0:
  36.         return INFINITY
  37.       else:
  38.         return self.double()
  39.  
  40.     p = self.__curve.p()
  41.     l = ( ( other.__y - self.__y ) *
  42.           inverse_mod( other.__x - self.__x, p ) ) % p
  43.     x3 = ( l * l - self.__x - other.__x ) % p
  44.     y3 = ( l * ( self.__x - x3 ) - self.__y ) % p
  45.     return Point( self.__curve, x3, y3 )
  46.  
  47.   def __mul__( self, other ):
  48.     def leftmost_bit( x ):
  49.       assert x > 0
  50.       result = 1L
  51.       while result <= x: result = 2 * result
  52.       return result / 2
  53.  
  54.     e = other
  55.     if self.__order: e = e % self.__order
  56.     if e == 0: return INFINITY
  57.     if self == INFINITY: return INFINITY
  58.     assert e > 0
  59.     e3 = 3 * e
  60.     negative_self = Point( self.__curve, self.__x, -self.__y, self.__order )
  61.     i = leftmost_bit( e3 ) / 2
  62.     result = self
  63.     while i > 1:
  64.       result = result.double()
  65.       if ( e3 & i ) != 0 and ( e & i ) == 0: result = result + self
  66.       if ( e3 & i ) == 0 and ( e & i ) != 0: result = result + negative_self
  67.       i = i / 2
  68.     return result
  69.  
  70.   def __rmul__( self, other ):
  71.     return self * other
  72.  
  73.   def __str__( self ):
  74.     if self == INFINITY: return "infinity"
  75.     return "(%d,%d)" % ( self.__x, self.__y )
  76.  
  77.   def double( self ):
  78.     if self == INFINITY:
  79.       return INFINITY
  80.  
  81.     p = self.__curve.p()
  82.     a = self.__curve.a()
  83.     l = ( ( 3 * self.__x * self.__x + a ) *
  84.           inverse_mod( 2 * self.__y, p ) ) % p
  85.     x3 = ( l * l - 2 * self.__x ) % p
  86.     y3 = ( l * ( self.__x - x3 ) - self.__y ) % p
  87.     return Point( self.__curve, x3, y3 )
  88.  
  89.   def x( self ):
  90.     return self.__x
  91.  
  92.   def y( self ):
  93.     return self.__y
  94.  
  95.   def curve( self ):
  96.     return self.__curve
  97.  
  98.   def order( self ):
  99.     return self.__order
  100.    
  101. INFINITY = Point( none, none, none )
  102.  
  103. def inverse_mod( a, m ):
  104.   if a < 0 or m <= a: a = a % m
  105.   c, d = a, m
  106.   uc, vc, ud, vd = 1, 0, 0, 1
  107.   while c != 0:
  108.     q, c, d = divmod( d, c ) + ( c, )
  109.     uc, vc, ud, vd = ud - q*uc, vd - q*vc, uc, vc
  110.   assert d == 1
  111.   if ud > 0: return ud
  112.   else: return ud + m
  113.  
  114. # secp256k1
  115. _p = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2FL
  116. _r = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141L
  117. _b = 0x0000000000000000000000000000000000000000000000000000000000000007L
  118. _a = 0x0000000000000000000000000000000000000000000000000000000000000000L
  119. _Gx = 0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798L
  120. _Gy = 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8L
  121.  
  122.  
  123. curve_256 = CurveFp( _p, _a, _b )
  124. generator_256 = Point( curve_256, _Gx, _Gy, _r )
  125. g = generator_256
  126.  
  127. a = 40953105491513688516610281755790771311735293800933111307849947593713104200392
  128. z = 1
  129. z1 = 0x446ed63cb85160c28151e359de23cd336b8931f02cd737501fc2ed7a97e3796b
  130. r = 0x571f6f5d9f91d8481b2d44e81f57dc6ee1345bae36658e34b0e375aae2bfe6a0
  131. m = 115792089237316195423570985008687907852837564279074904382605163141518161494337
  132. az1 = a + z
  133. a1 = az1 % m
  134. b1 = a1 - z1 % m
  135. c1 = b1 * r % m
  136. az2 = az1 + z
  137. a2 = az2 % m
  138. b2 = a2 - z1 % m
  139. c2 = b2 * r % m
  140. az3 = az2 + z
  141. a3 = az3 % m
  142. b3 = a3 - z1 % m
  143. c3 = b3 * r % m
  144. az4 = az3 + z
  145. a4 = az4 % m
  146. b4 = a4 - z1 % m
  147. c4 = b4 * r % m
  148. az5 = az4 + z
  149. a5 = az5 % m
  150. b5 = a5 - z1 % m
  151. c5 = b5 * r % m
  152. az6 = az5 + z
  153. a6 = az6 % m
  154. b6 = a6 - z1 % m
  155. c6 = b6 * r % m
  156. az7 = az6 + z
  157. a7 = az7 % m
  158. b7 = a7 - z1 % m
  159. c7 = b7 * r % m
  160. az8 = az7 + z
  161. a8 = az8 % m
  162. b8 = a8 - z1 % m
  163. c8 = b8 * r % m
  164. az9 = az8 + z
  165. a9 = az9 % m
  166. b9 = a9 - z1 % m
  167. c9 = b9 * r % m
  168. az10 = az9 + z
  169. a10 = az10 % m
  170. b10 = a10 - z1 % m
  171. c10 = b10 * r % m
  172. az11 = az10 + z
  173. a11 = az11 % m
  174. b11 = a11 - z1 % m
  175. c11 = b11 * r % m
  176. az12 = az11 + z
  177. a12 = az12 % m
  178. b12 = a12 - z1 % m
  179. c12 = b12 * r % m
  180. az13 = az12 + z
  181. a13 = az13 % m
  182. b13 = a13 - z1 % m
  183. c13 = b13 * r % m
  184. az14 = az13 + z
  185. a14 = az14 % m
  186. b14 = a14 - z1 % m
  187. c14 = b14 * r % m
  188. az15 = az14 + z
  189. a15 = az15 % m
  190. b15 = a15 - z1 % m
  191. c15 = b15 * r % m
  192. az16 = az15 + z
  193. a16 = az16 % m
  194. b16 = a16 - z1 % m
  195. c16 = b16 * r % m
  196. az17 = az16 + z
  197. a17 = az17 % m
  198. b17 = a17 - z1 % m
  199. c17 = b17 * r % m
  200. az18 = az17 + z
  201. a18 = az18 % m
  202. b18 = a18 - z1 % m
  203. c18 = b18 * r % m
  204. az19 = az18 + z
  205. a19 = az19 % m
  206. b19 = a19 - z1 % m
  207. c19 = b19 * r % m
  208. az20 = az19 + z
  209. a20 = az20 % m
  210. b20 = a20 - z1 % m
  211. c20 = b20 * r % m
  212. az21 = az20 + z
  213. a21 = az21 % m
  214. b21 = a21 - z1 % m
  215. c21 = b21 * r % m
  216. az22 = az21 + z
  217. a22 = az22 % m
  218. b22 = a22 - z1 % m
  219. c22 = b22 * r % m
  220. az23 = az22 + z
  221. a23 = az23 % m
  222. b23 = a23 - z1 % m
  223. c23 = b23 * r % m
  224. az24 = az23 + z
  225. a24 = az24 % m
  226. b24 = a24 - z1 % m
  227. c24 = b24 * r % m
  228. az25 = az24 + z
  229. a25 = az25 % m
  230. b25 = a25 - z1 % m
  231. c25 = b25 * r % m
  232. az26 = az25 + z
  233. a26 = az26 % m
  234. b26 = a26 - z1 % m
  235. c26 = b26 * r % m
  236. az27 = az26 + z
  237. a27 = az27 % m
  238. b27 = a27 - z1 % m
  239. c27 = b27 * r % m
  240. az28 = az27 + z
  241. a28 = az28 % m
  242. b28 = a28 - z1 % m
  243. c28 = b28 * r % m
  244. az29 = az28 + z
  245. a29 = az29 % m
  246. b29 = a29 - z1 % m
  247. c29 = b29 * r % m
  248. az30 = az29 + z
  249. a30 = az30 % m
  250. b30 = a30 - z1 % m
  251. c30 = b30 * r % m
  252. az31 = az30 + z
  253. a31 = az31 % m
  254. b31 = a31 - z1 % m
  255. c31 = b31 * r % m
  256. az32 = az31 + z
  257. a32 = az32 % m
  258. b32 = a32 - z1 % m
  259. c32 = b32 * r % m
  260. az33 = az32 + z
  261. a33 = az33 % m
  262. b33 = a33 - z1 % m
  263. c33 = b33 * r % m
  264. az34 = az33 + z
  265. a34 = az34 % m
  266. b34 = a34 - z1 % m
  267. c34 = b34 * r % m
  268. az35 = az34 + z
  269. a35 = az35 % m
  270. b35 = a35 - z1 % m
  271. c35 = b35 * r % m
  272. az36 = az35 + z
  273. a36 = az36 % m
  274. b36 = a36 - z1 % m
  275. c36 = b36 * r % m
  276. az37 = az36 + z
  277. a37 = az7 % m
  278. b37 = a37 - z1 % m
  279. c37 = b37 * r % m
  280. az38 = az37 + z
  281. a38 = az38 % m
  282. b38 = a38 - z1 % m
  283. c38 = b38 * r % m
  284. az39 = az38 + z
  285. a39 = az39 % m
  286. b39 = a39 - z1 % m
  287. c39 = b39 * r % m
  288. az40 = az39 + z
  289. a40 = az40 % m
  290. b40 = a40 - z1 % m
  291. c40 = b40 * r % m
  292. az41 = az40 + z
  293. a41 = az41 % m
  294. b41 = a41 - z1 % m
  295. c41 = b41 * r % m
  296. az42 = az41 + z
  297. a42 = az42 % m
  298. b42 = a42 - z1 % m
  299. c42 = b42 * r % m
  300. az43 = az42 + z
  301. a43 = az43 % m
  302. b43 = a43 - z1 % m
  303. c43 = b43 * r % m
  304. az44 = az43 + z
  305. a44 = az44 % m
  306. b44 = a44 - z1 % m
  307. c44 = b44 * r % m
  308. az45 = az44 + z
  309. a45 = az45 % m
  310. b45 = a45 - z1 % m
  311. c45 = b45 * r % m
  312. az46 = az45 + z
  313. a46 = az46 % m
  314. b46 = a46 - z1 % m
  315. c46 = b46 * r % m
  316. az47 = az46 + z
  317. a47 = az47 % m
  318. b47 = a47 - z1 % m
  319. c47 = b47 * r % m
  320. az48 = az47 + z
  321. a48 = az48 % m
  322. b48 = a48 - z1 % m
  323. c48 = b48 * r % m
  324. az49 = az48 + z
  325. a49 = az49 % m
  326. b49 = a49 - z1 % m
  327. c49 = b49 * r % m
  328. az50 = az49 + z
  329. a50 = az50 % m
  330. b50 = a50 - z1 % m
  331. c50 = b50 * r % m
  332. Laz1 = az50 + z
  333. La1 = Laz1 % m
  334. Lb1 = La1 - z1 % m
  335. Lc1 = Lb1 * r % m
  336. Laz2 = Laz1 + z
  337. La2 = Laz2 % m
  338. Lb2 = La2 - z1 % m
  339. Lc2 = Lb2 * r % m
  340. Laz3 = Laz2 + z
  341. La3 = Laz3 % m
  342. Lb3 = La3 - z1 % m
  343. Lc3 = Lb3 * r % m
  344. Laz4 = Laz3 + z
  345. La4 = Laz4 % m
  346. Lb4 = La4 - z1 % m
  347. Lc4 = Lb4 * r % m
  348. Laz5 = Laz4 + z
  349. La5 = Laz5 % m
  350. Lb5 = La5 - z1 % m
  351. Lc5 = Lb5 * r % m
  352. Laz6 = Laz5 + z
  353. La6 = Laz6 % m
  354. Lb6 = La6 - z1 % m
  355. Lc6 = Lb6 * r % m
  356. Laz7 = Laz6 + z
  357. La7 = Laz7 % m
  358. Lb7 = La7 - z1 % m
  359. Lc7 = Lb7 * r % m
  360. Laz8 = Laz7 + z
  361. La8 = Laz8 % m
  362. Lb8 = La8 - z1 % m
  363. Lc8 = Lb8 * r % m
  364. Laz9 = Laz8 + z
  365. La9 = Laz9 % m
  366. Lb9 = La9 - z1 % m
  367. Lc9 = Lb9 * r % m
  368. Laz10 = Laz9 + z
  369. La10 = Laz10 % m
  370. Lb10 = La10 - z1 % m
  371. Lc10 = Lb10 * r % m
  372. Laz11 = Laz10 + z
  373. La11 = Laz11 % m
  374. Lb11 = La11 - z1 % m
  375. Lc11 = Lb11 * r % m
  376. Laz12 = Laz11 + z
  377. La12 = Laz12 % m
  378. Lb12 = La12 - z1 % m
  379. Lc12 = Lb12 * r % m
  380. Laz13 = Laz12 + z
  381. La13 = Laz13 % m
  382. Lb13 = La13 - z1 % m
  383. Lc13 = Lb13 * r % m
  384. Laz14 = Laz13 + z
  385. La14 = Laz14 % m
  386. Lb14 = La14 - z1 % m
  387. Lc14 = Lb14 * r % m
  388. Laz15 = Laz14 + z
  389. La15 = Laz15 % m
  390. Lb15 = La15 - z1 % m
  391. Lc15 = Lb15 * r % m
  392. Laz16 = Laz15 + z
  393. La16 = Laz16 % m
  394. Lb16 = La16 - z1 % m
  395. Lc16 = Lb16 * r % m
  396. Laz17 = Laz16 + z
  397. La17 = Laz17 % m
  398. Lb17 = La17 - z1 % m
  399. Lc17 = Lb17 * r % m
  400. Laz18 = Laz17 + z
  401. La18 = Laz18 % m
  402. Lb18 = La18 - z1 % m
  403. Lc18 = Lb18 * r % m
  404. Laz19 = Laz18 + z
  405. La19 = Laz19 % m
  406. Lb19 = La19 - z1 % m
  407. Lc19 = Lb19 * r % m
  408. Laz20 = Laz19 + z
  409. La20 = Laz20 % m
  410. Lb20 = La20 - z1 % m
  411. Lc20 = Lb20 * r % m
  412. Laz21 = Laz20 + z
  413. La21 = Laz21 % m
  414. Lb21 = La21 - z1 % m
  415. Lc21 = Lb21 * r % m
  416. Laz22 = Laz21 + z
  417. La22 = Laz22 % m
  418. Lb22 = La22 - z1 % m
  419. Lc22 = Lb22 * r % m
  420. Laz23 = Laz22 + z
  421. La23 = Laz23 % m
  422. Lb23 = La23 - z1 % m
  423. Lc23 = Lb23 * r % m
  424. Laz24 = Laz23 + z
  425. La24 = Laz24 % m
  426. Lb24 = La24 - z1 % m
  427. Lc24 = Lb24 * r % m
  428. Laz25 = Laz24 + z
  429. La25 = Laz25 % m
  430. Lb25 = La25 - z1 % m
  431. Lc25 = Lb25 * r % m
  432. Laz26 = Laz25 + z
  433. La26 = Laz26 % m
  434. Lb26 = La26 - z1 % m
  435. Lc26 = Lb26 * r % m
  436. Laz27 = Laz26 + z
  437. La27 = Laz27 % m
  438. Lb27 = La27 - z1 % m
  439. Lc27 = Lb27 * r % m
  440. Laz28 = Laz27 + z
  441. La28 = Laz28 % m
  442. Lb28 = La28 - z1 % m
  443. Lc28 = Lb28 * r % m
  444. Laz29 = Laz28 + z
  445. La29 = Laz29 % m
  446. Lb29 = La29 - z1 % m
  447. Lc29 = Lb29 * r % m
  448. Laz30 = Laz29 + z
  449. La30 = Laz30 % m
  450. Lb30 = La30 - z1 % m
  451. Lc30 = Lb30 * r % m
  452. Laz31 = Laz30 + z
  453. La31 = Laz31 % m
  454. Lb31 = La31 - z1 % m
  455. Lc31 = Lb31 * r % m
  456. Laz32 = Laz31 + z
  457. La32 = Laz32 % m
  458. Lb32 = La32 - z1 % m
  459. Lc32 = Lb32 * r % m
  460. Laz33 = Laz32 + z
  461. La33 = Laz33 % m
  462. Lb33 = La33 - z1 % m
  463. Lc33 = Lb33 * r % m
  464. Laz34 = Laz33 + z
  465. La34 = Laz34 % m
  466. Lb34 = La34 - z1 % m
  467. Lc34 = Lb34 * r % m
  468. Laz35 = Laz34 + z
  469. La35 = Laz35 % m
  470. Lb35 = La35 - z1 % m
  471. Lc35 = Lb35 * r % m
  472. Laz36 = Laz35 + z
  473. La36 = Laz36 % m
  474. Lb36 = La36 - z1 % m
  475. Lc36 = Lb36 * r % m
  476. Laz37 = Laz36 + z
  477. La37 = Laz7 % m
  478. Lb37 = La37 - z1 % m
  479. Lc37 = Lb37 * r % m
  480. Laz38 = Laz37 + z
  481. La38 = Laz38 % m
  482. Lb38 = La38 - z1 % m
  483. Lc38 = Lb38 * r % m
  484. Laz39 = Laz38 + z
  485. La39 = Laz39 % m
  486. Lb39 = La39 - z1 % m
  487. Lc39 = Lb39 * r % m
  488. Laz40 = Laz39 + z
  489. La40 = Laz40 % m
  490. Lb40 = La40 - z1 % m
  491. Lc40 = Lb40 * r % m
  492. Laz41 = Laz40 + z
  493. La41 = Laz41 % m
  494. Lb41 = La41 - z1 % m
  495. Lc41 = Lb41 * r % m
  496. Laz42 = Laz41 + z
  497. La42 = Laz42 % m
  498. Lb42 = La42 - z1 % m
  499. Lc42 = Lb42 * r % m
  500. Laz43 = Laz42 + z
  501. La43 = Laz43 % m
  502. Lb43 = La43 - z1 % m
  503. Lc43 = Lb43 * r % m
  504. Laz44 = Laz43 + z
  505. La44 = Laz44 % m
  506. Lb44 = La44 - z1 % m
  507. Lc44 = Lb44 * r % m
  508. Laz45 = Laz44 + z
  509. La45 = Laz45 % m
  510. Lb45 = La45 - z1 % m
  511. Lc45 = Lb45 * r % m
  512. Laz46 = Laz45 + z
  513. La46 = Laz46 % m
  514. Lb46 = La46 - z1 % m
  515. Lc46 = Lb46 * r % m
  516. Laz47 = Laz46 + z
  517. La47 = Laz47 % m
  518. Lb47 = La47 - z1 % m
  519. Lc47 = Lb47 * r % m
  520. Laz48 = Laz47 + z
  521. La48 = Laz48 % m
  522. Lb48 = La48 - z1 % m
  523. Lc48 = Lb48 * r % m
  524. Laz49 = Laz48 + z
  525. La49 = Laz49 % m
  526. Lb49 = La49 - z1 % m
  527. Lc49 = Lb49 * r % m
  528. Laz50 = Laz49 + z
  529. La50 = Laz50 % m
  530. Lb50 = La50 - z1 % m
  531. Lc50 = Lb50 * r % m
  532. p1 = c1 * g
  533. r = p1.x()
  534. if r == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes1')
  535. p2 = c2 * g
  536. r2 = p2.x()
  537. if r2 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes2')
  538. p3 = c3 * g
  539. r3 = p3.x()
  540. if r3 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes3')
  541. p4 = c4 * g
  542. r4 = p4.x()
  543. if r4 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes4')
  544. p5 = c5 * g
  545. r5 = p5.x()
  546. if r5 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes5')
  547. p6 = c6 * g
  548. r6 = p6.x()
  549. if r6 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes6')
  550. p7 = c7 * g
  551. r7 = p7.x()
  552. if r7 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes7')
  553. p8 = c8 * g
  554. r8 = p8.x()
  555. if r8 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes8')
  556. p9 = c9 * g
  557. r9 = p9.x()
  558. if r9 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes9')
  559. p9 = c9 * g
  560. r9 = p9.x()
  561. if r9 == 0: print('yes9')
  562. p10 = c10 * g
  563. r10 = p10.x()
  564. if r10 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes10')
  565. p11 = c11 * g
  566. r11 = p11.x()
  567. if r11 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes11')
  568. p12 = c12 * g
  569. r12 = p12.x()
  570. if r12 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes12')
  571. p13 = c13 * g
  572. r13 = p13.x()
  573. if r13 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes13')
  574. p14 = c14 * g
  575. r14 = p14.x()
  576. if r14 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes14')
  577. p15 = c15 * g
  578. r15 = p15.x()
  579. if r15 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes15')
  580. p16 = c16 * g
  581. r16 = p16.x()
  582. if r16 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes16')
  583. p17 = c17 * g
  584. r17 = p17.x()
  585. if r17 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes17')
  586. p18 = c18 * g
  587. r18 = p18.x()
  588. if r18 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes18')
  589. p19 = c19 * g
  590. r19 = p19.x()
  591. if r19 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes19')
  592. p20 = c20 * g
  593. r20 = p20.x()
  594. if r20 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes20')
  595. p21 = c21 * g
  596. r21 = p21.x()
  597. if r21 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes21')
  598. p22 = c22 * g
  599. r22 = p22.x()
  600. if r22 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes22')
  601. p23 = c23 * g
  602. r23 = p23.x()
  603. if r23 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes23')
  604. p24 = c24 * g
  605. r24 = p24.x()
  606. if r24 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes24')
  607. p25 = c25 * g
  608. r25 = p25.x()
  609. if r2 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes25')
  610. p26 = c26 * g
  611. r26 = p26.x()
  612. if r26 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes26')
  613. p27 = c27 * g
  614. r27 = p27.x()
  615. if r27 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes27')
  616. p28 = c28 * g
  617. r28 = p28.x()
  618. if r28 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes28')
  619. p29 = c29 * g
  620. r29 = p29.x()
  621. if r29 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes29')
  622. p30 = c30 * g
  623. r30 = p30.x()
  624. if r30 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes30')
  625. p31 = c31 * g
  626. r31 = p31.x()
  627. if r31 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes31')
  628. p32 = c32 * g
  629. r32 = p32.x()
  630. if r32 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes32')
  631. p33 = c33 * g
  632. r33 = p33.x()
  633. if r33 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes33')
  634. p34 = c34 * g
  635. r34 = p34.x()
  636. if r34 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes34')
  637. p35 = c35 * g
  638. r35 = p35.x()
  639. if r35 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes35')
  640. p36 = c36 * g
  641. r36 = p36.x()
  642. if r36 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes36')
  643. p37 = c37 * g
  644. r37 = p37.x()
  645. if r37 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes37')
  646. p38 = c38 * g
  647. r38 = p38.x()
  648. if r38 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes38')
  649. p39 = c39 * g
  650. r39 = p39.x()
  651. if r39 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes39')
  652. p40 = c40 * g
  653. r40 = p40.x()
  654. if r40 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes40')
  655. p41 = c41 * g
  656. r41 = p41.x()
  657. if r41 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes41')
  658. p42 = c42 * g
  659. r42 = p42.x()
  660. if r42 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes42')
  661. p43 = c43 * g
  662. r43 = p43.x()
  663. if r43 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes43')
  664. p45 = c45 * g
  665. r45 = p45.x()
  666. if r45 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes45')
  667. p46 = c46 * g
  668. r46 = p46.x()
  669. if r46 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes46')
  670. p47 = c47 * g
  671. r47 = p47.x()
  672. if r47 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes47')
  673. p48 = c48 * g
  674. r48 = p48.x()
  675. if r48 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes48')
  676. p49 = c49 * g
  677. r49 = p49.x()
  678. if r49 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes49')
  679. p50 = c50 * g
  680. r50 = p50.x()
  681. if r50 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yes50')
  682. Lp1 = Lc1 * g
  683. Lr = Lp1.x()
  684. if Lr == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL1')
  685. Lp2 = Lc2 * g
  686. Lr2 = Lp2.x()
  687. if Lr2 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL2')
  688. Lp3 = Lc3 * g
  689. Lr3 = Lp3.x()
  690. if Lr3 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL3')
  691. Lp4 = Lc4 * g
  692. Lr4 = Lp4.x()
  693. if Lr4 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL4')
  694. Lp5 = Lc5 * g
  695. Lr5 = Lp5.x()
  696. if Lr5 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL5')
  697. Lp6 = Lc6 * g
  698. Lr6 = Lp6.x()
  699. if Lr6 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL6')
  700. Lp7 = Lc7 * g
  701. Lr7 = Lp7.x()
  702. if Lr7 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL7')
  703. Lp8 = Lc8 * g
  704. Lr8 = Lp8.x()
  705. if Lr8 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL8')
  706. Lp9 = Lc9 * g
  707. Lr9 = Lp9.x()
  708. if Lr9 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL9')
  709. Lp10 = Lc10 * g
  710. Lr10 = Lp10.x()
  711. if Lr10 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL10')
  712. Lp11 = Lc11 * g
  713. Lr11 = Lp11.x()
  714. if Lr11 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL11')
  715. Lp12 = Lc12 * g
  716. Lr12 = Lp12.x()
  717. if Lr12 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL12')
  718. Lp13 = Lc13 * g
  719. Lr13 = Lp13.x()
  720. if Lr13 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL13')
  721. Lp14 = Lc14 * g
  722. Lr14 = Lp14.x()
  723. if r14 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL14')
  724. Lp15 = Lc15 * g
  725. Lr15 = Lp15.x()
  726. if Lr15 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL15')
  727. Lp16 = Lc16 * g
  728. Lr16 = Lp16.x()
  729. if Lr16 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL16')
  730. Lp17 = Lc17 * g
  731. Lr17 = Lp17.x()
  732. if Lr17 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL17')
  733. Lp18 = Lc18 * g
  734. Lr18 = Lp18.x()
  735. if Lr18 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL18')
  736. Lp19 = Lc19 * g
  737. Lr19 = Lp19.x()
  738. if Lr19 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL19')
  739. Lp20 = Lc20 * g
  740. Lr20 = Lp20.x()
  741. if Lr20 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL20')
  742. Lp21 = Lc21 * g
  743. Lr21 = Lp21.x()
  744. if Lr21 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL21')
  745. Lp22 = Lc22 * g
  746. Lr22 = Lp22.x()
  747. if Lr22 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL22')
  748. Lp23 = Lc23 * g
  749. Lr23 = Lp23.x()
  750. if Lr23 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL23')
  751. Lp24 = Lc24 * g
  752. Lr24 = Lp24.x()
  753. if Lr24 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL24')
  754. Lp25 = Lc25 * g
  755. Lr25 = Lp25.x()
  756. if Lr2 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL25')
  757. Lp26 = Lc26 * g
  758. Lr26 = Lp26.x()
  759. if Lr26 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL26')
  760. Lp27 = Lc27 * g
  761. Lr27 = Lp27.x()
  762. if Lr27 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL27')
  763. Lp28 = Lc28 * g
  764. Lr28 = Lp28.x()
  765. if Lr28 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL28')
  766. Lp29 = Lc29 * g
  767. Lr29 = Lp29.x()
  768. if Lr29 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL29')
  769. Lp30 = Lc30 * g
  770. Lr30 = Lp30.x()
  771. if Lr30 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL30')
  772. Lp31 = Lc31 * g
  773. Lr31 = Lp31.x()
  774. if Lr31 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL31')
  775. Lp32 = Lc32 * g
  776. Lr32 = Lp32.x()
  777. if Lr32 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL32')
  778. Lp33 = Lc33 * g
  779. Lr33 = Lp33.x()
  780. if Lr33 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL33')
  781. Lp34 = Lc34 * g
  782. Lr34 = Lp34.x()
  783. if Lr34 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL34')
  784. Lp35 = Lc35 * g
  785. Lr35 = Lp35.x()
  786. if Lr35 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL35')
  787. Lp36 = Lc36 * g
  788. Lr36 = Lp36.x()
  789. if Lr36 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL36')
  790. Lp37 = Lc37 * g
  791. Lr37 = Lp37.x()
  792. if Lr37 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL37')
  793. Lp38 = Lc38 * g
  794. Lr38 = Lp38.x()
  795. if Lr38 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL38')
  796. Lp39 = Lc39 * g
  797. Lr39 = Lp39.x()
  798. if Lr39 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL39')
  799. Lp40 = Lc40 * g
  800. Lr40 = Lp40.x()
  801. if Lr40 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL40')
  802. Lp41 = Lc41 * g
  803. Lr41 = Lp41.x()
  804. if Lr41 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL41')
  805. Lp42 = Lc42 * g
  806. Lr42 = Lp42.x()
  807. if Lr42 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL42')
  808. Lp43 = Lc43 * g
  809. Lr43 = Lp43.x()
  810. if Lr43 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL43')
  811. Lp45 = Lc45 * g
  812. Lr45 = Lp45.x()
  813. if Lr45 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL45')
  814. Lp46 = Lc46 * g
  815. Lr46 = Lp46.x()
  816. if Lr46 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL46')
  817. Lp47 = Lc47 * g
  818. Lr47 = Lp47.x()
  819. if Lr47 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL47')
  820. Lp48 = Lc48 * g
  821. Lr48 = Lp48.x()
  822. if Lr48 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL48')
  823. Lp49 = Lc49 * g
  824. Lr49 = Lp49.x()
  825. if Lr49 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL49')
  826. Lp50 = Lc50 * g
  827. Lr50 = Lp50.x()
  828. if Lr50 == 0x7146f0e0fcb3139947cf0beb870fe251930ca10d4545793d31033e801b5219ab: print('yesL50')
  829. print(Laz50)
Parsed in 0.106 seconds