Statistics

Problem Statement for "OrAndSumEasy"

Problem Statement

You are given two non-negative integers: the longs pairOr and pairSum.

Determine whether it is possible that for two non-negative integers A and B we have both:
  • A or B = pairOr
  • A + B = pairSum

Above, "or" denotes the bitwise-or operator. Each bit of the result is the logical or of the corresponding bits of the operands. For example, in base 2 we have (1100 or 0101) = 1101. The same equation with the numbers written in base 10 looks as follows: (12 or 5) = 13.

Return "Possible" if we can find such A and B, and "Impossible" if not.

Definition

Class:
OrAndSumEasy
Method:
isPossible
Parameters:
long, long
Returns:
String
Method signature:
String isPossible(long pairOr, long pairSum)
(be sure your method is public)

Constraints

  • pairOr will be between 0 and 1,000,000,000,000,000,000 (10^18), inclusive.
  • pairSum will be between 0 and 1,000,000,000,000,000,000 (10^18), inclusive.

Examples

  1. 7

    11

    Returns: "Possible"

    One of the solution is: A = 5 and B = 6.

  2. 11

    7

    Returns: "Impossible"

    We can show the sum should be at least as large as or, so it is impossible.

  3. 999799115789631487

    999999999999999999

    Returns: "Possible"

    One of the solution is a = 111111111111111111, b = 888888888888888888.

  4. 1

    100

    Returns: "Impossible"

  5. 0

    0

    Returns: "Possible"

  6. 394967839734

    394970601418

    Returns: "Possible"

  7. 12464276008574679

    12464277678038876

    Returns: "Possible"

  8. 261049269240

    295478484056

    Returns: "Possible"

  9. 8908532284710911

    8908532284712131

    Returns: "Possible"

  10. 2961741739204603

    2961741739207035

    Returns: "Possible"

  11. 3027214357174

    3027214357174

    Returns: "Possible"

  12. 24949950504399

    24950084986331

    Returns: "Possible"

  13. 4053656222203

    4053656222260

    Returns: "Possible"

  14. 3315689896994557

    3315689900936461

    Returns: "Possible"

  15. 12838432929166

    12838433094422

    Returns: "Possible"

  16. 3926712924

    3926713000

    Returns: "Possible"

  17. 173541613667086182

    173542752169555146

    Returns: "Possible"

  18. 2448242687

    2450344241

    Returns: "Possible"

  19. 4258126165114999

    4258126165115017

    Returns: "Possible"

  20. 407

    408

    Returns: "Possible"

  21. 140835666522846

    140861436646686

    Returns: "Possible"

  22. 40114650179582

    40561364602254

    Returns: "Possible"

  23. 4151528147386191

    4155926870762333

    Returns: "Possible"

  24. 25750730751

    25751517343

    Returns: "Possible"

  25. 378456261

    378456265

    Returns: "Possible"

  26. 380100534

    382251708

    Returns: "Possible"

  27. 495269758100953

    495341167249250

    Returns: "Possible"

  28. 92919936990

    92919937902

    Returns: "Possible"

  29. 79435588013

    79435588017

    Returns: "Possible"

  30. 4294950622

    4336080674

    Returns: "Possible"

  31. 1423900635

    1432299556

    Returns: "Possible"

  32. 44798739480308

    44798739489016

    Returns: "Possible"

  33. 19

    20

    Returns: "Possible"

  34. 11882342777600869

    11882342777600873

    Returns: "Possible"

  35. 369022771

    369022772

    Returns: "Possible"

  36. 1365

    1365

    Returns: "Possible"

  37. 27615

    27625

    Returns: "Possible"

  38. 1486311421

    1486312781

    Returns: "Possible"

  39. 424261952450068399

    424261952450201009

    Returns: "Possible"

  40. 52776415193663

    58723066382944

    Returns: "Possible"

  41. 265705205179

    265705215429

    Returns: "Possible"

  42. 4159307644463

    4159307644463

    Returns: "Possible"

  43. 1642932438817535

    1642932438817733

    Returns: "Possible"

  44. 4836410162665215

    4836410181573889

    Returns: "Possible"

  45. 80004008763629493

    80004009199873722

    Returns: "Possible"

  46. 47175431648

    49861133824

    Returns: "Possible"

  47. 19446306776018570

    19446306792888978

    Returns: "Possible"

  48. 286483342590

    286483342822

    Returns: "Possible"

  49. 42221235685228542

    42267626032143070

    Returns: "Possible"

  50. 2490093

    2535693

    Returns: "Possible"

  51. 439637825002060263

    439637825002060264

    Returns: "Possible"

  52. 391535

    391546

    Returns: "Possible"

  53. 47098

    47226

    Returns: "Possible"

  54. 293447

    293450

    Returns: "Possible"

  55. 8159

    9697

    Returns: "Possible"

  56. 4193301471

    4193301472

    Returns: "Possible"

  57. 2734587870

    2735906864

    Returns: "Possible"

  58. 475278321500

    475278362972

    Returns: "Possible"

  59. 659262264688574

    659262264690014

    Returns: "Possible"

  60. 895620870037502

    908823612450118

    Returns: "Possible"

  61. 62350206164463

    62350206166610

    Returns: "Possible"

  62. 124245323

    124245326

    Returns: "Possible"

  63. 2834191438849786

    2834191438849796

    Returns: "Possible"

  64. 569063227295374221

    741613162093194765

    Returns: "Possible"

  65. 117171027903

    156920809939

    Returns: "Possible"

  66. 976238

    82

    Returns: "Impossible"

  67. 32706293395976015

    175736812

    Returns: "Impossible"

  68. 86446771528

    1072

    Returns: "Impossible"

  69. 21534907208447718

    10

    Returns: "Impossible"

  70. 93862579936819348

    32428

    Returns: "Impossible"

  71. 10666932038127

    949448013

    Returns: "Impossible"

  72. 10388

    6985576414537351

    Returns: "Impossible"

  73. 83372298386645805

    454102

    Returns: "Impossible"

  74. 7843555

    11463

    Returns: "Impossible"

  75. 7095462

    69373979813000

    Returns: "Impossible"

  76. 17798745092

    245352410088325592

    Returns: "Impossible"

  77. 53333833

    40332817518613

    Returns: "Impossible"

  78. 48946948888

    35357

    Returns: "Impossible"

  79. 68

    929281562022589800

    Returns: "Impossible"

  80. 432462067572651

    726437834775564466

    Returns: "Impossible"

  81. 125470

    4190941

    Returns: "Impossible"

  82. 38

    544751677

    Returns: "Impossible"

  83. 909

    45457468119

    Returns: "Impossible"

  84. 99184174421637

    4216265020

    Returns: "Impossible"

  85. 73639466452143

    494098543069775819

    Returns: "Impossible"

  86. 99

    1

    Returns: "Impossible"

  87. 547100716030

    839

    Returns: "Impossible"

  88. 64913705122529969

    6828

    Returns: "Impossible"

  89. 963748843390100017

    126179352643

    Returns: "Impossible"

  90. 790755382580870

    77714674456593

    Returns: "Impossible"

  91. 8

    50009297991519680

    Returns: "Impossible"

  92. 57

    10756546375907028

    Returns: "Impossible"

  93. 844794743482

    810

    Returns: "Impossible"

  94. 54615922155252677

    18498214219607

    Returns: "Impossible"

  95. 67423734978132

    608187

    Returns: "Impossible"

  96. 67

    50774

    Returns: "Impossible"

  97. 48457

    6607

    Returns: "Impossible"

  98. 829460520552605940

    17

    Returns: "Impossible"

  99. 563484748515290091

    523702373633

    Returns: "Impossible"

  100. 653

    70610803115174

    Returns: "Impossible"

  101. 757004

    318549079

    Returns: "Impossible"

  102. 3331737

    417

    Returns: "Impossible"

  103. 81399455

    571011983894056004

    Returns: "Impossible"

  104. 6841813430734689

    4823821333

    Returns: "Impossible"

  105. 456747706710539

    1046387547

    Returns: "Impossible"

  106. 602476362130

    6382

    Returns: "Impossible"

  107. 90369150608989178

    2668670538

    Returns: "Impossible"

  108. 361864772662350

    6356

    Returns: "Impossible"

  109. 3

    3053613605

    Returns: "Impossible"

  110. 2

    79

    Returns: "Impossible"

  111. 1613

    950

    Returns: "Impossible"

  112. 55035976425980079

    93950480049934289

    Returns: "Impossible"

  113. 3

    31986363470

    Returns: "Impossible"

  114. 7148

    21

    Returns: "Impossible"

  115. 1

    89

    Returns: "Impossible"

  116. 0

    1

    Returns: "Impossible"

  117. 999799115789631500

    1000000000000000000

    Returns: "Impossible"

  118. 2

    100

    Returns: "Impossible"

  119. 1

    0

    Returns: "Impossible"

  120. 1000000000

    1000000000000000000

    Returns: "Impossible"

  121. 3

    19

    Returns: "Impossible"

  122. 9007199254740992

    18014398509481984

    Returns: "Possible"

  123. 12

    14

    Returns: "Impossible"

  124. 14

    15

    Returns: "Impossible"

  125. 45

    62

    Returns: "Impossible"

  126. 2

    200

    Returns: "Impossible"

  127. 7

    10

    Returns: "Possible"

  128. 7

    14

    Returns: "Possible"

  129. 15

    31

    Returns: "Impossible"

  130. 1

    2

    Returns: "Possible"

  131. 6

    8

    Returns: "Possible"

  132. 9

    16

    Returns: "Impossible"

  133. 9

    10

    Returns: "Possible"

  134. 1108

    1534

    Returns: "Impossible"

  135. 18

    18

    Returns: "Possible"

  136. 43

    63

    Returns: "Impossible"


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: