Խնդիր բիթային

Բիթային & գործողությունը հայտնի է որպես բիթային բազմապատկում։ Երբ երկու՝ a և b 64-բիթանոց թվերի համար կիրառում ենք բիթային բազմապատկման գործողությունը (a & b), ստացվում է մի թիվ, որի երկուական ներկայացման ամեն մի բիթը լինում է a-ի և b-ի համապատասխան բիթերի արտադրյալը։
Օրինակ՝ 11 & 26 = 10, քանի որ 11 = 00..001011226 = 00..0110102, իսկ երբ բիթ առ բիթ բազմապատկում ենք այդ թվերը, միայն աջից երկրորդ և չորրորդ բիթերն են 1 լինում և արդյունքում ստացվում է 00..0010102 = 10։
Ձեզ տրված են q հատ a, b, x եռյակներ (a ≤ b), ձեզնից պահանջվում է ամեն մի այդպիսի եռյակի համար արտածել [a, b] միջակայքում ընկած y թվերի քանակը, որոնց դեպքում (x & y)-ը բաժանվում է x-ի։

Մուտքային տվյալներ

Մուտքի առաջին տողում տրված է q թիվը։ Հաջորդ q տողերում տրված են մեկական բացատանիշերով անջատված ab և x թվերը։

Ելքային տվյալներ

Ելքում պետք է արտածել q տող, որոնցից յուրաքանչյուրը պարունակում է համապատասխան եռյակի համար պատասխանը։

Օրինակ

Մուտք
Ելք
3 1 7 3 100 500 1 3 10 10
3 401 3

Բացատրություն

Առաջին եռյակին բավարարող y-ներն են 3-ը, 4-ը և 7-ը։ Երկրորդ եռյակին բավարարում են բոլոր 401 y-ները, քանի որ բոլոր ամբողջ թվերը (հետևաբար նաև բիթային բազմապատկման արդյունքները) բաժանվում են 1-ի։ Երրորդ եռյակին բավարարում են y = 4y = 5 և y = 10 արժեքները։

Ենթախնդիրներ

  • Ենթախնդիր 0 (0 միավոր) Օրինակը,
  • Ենթախնդիր 1 (5 միավոր) 
  • Ենթախնդիր 2 (25 միավոր) 
  • Ենթախնդիր 3 (10 միավոր) 
  • Ենթախնդիր 4 (30 միավոր) xի բիթային ներկայացումը պարունակում է առնվազն 12 հատ 1,
  • Ենթախնդիր 5 (30 միավոր) ։
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 2 MB

To check your solution you need to sign in
Sign in to continue