fork download
  1. def inf(a, n):
  2. if n == 0:
  3. return 1
  4. elif n == 1:
  5. return a
  6. elif n % 2 != 0:
  7. return a%(10**9+7) * inf(a%(10**9+7), n - 1)
  8. elif n % 2 == 0:
  9. return inf(a%(10**9+7) * a%(10**9+7), n / 2)
  10.  
  11. n, q = map(int, input().split())
  12. for i in range(q):
  13. c=n
  14. L, R = map(int, input().split())
  15. if L+R>=n:
  16. a="0"
  17. c=0
  18. else:
  19. c-=L
  20. c-=R
  21. a=str(c*"1"+R*"0")
  22. c=inf(2,c)
  23. print(c%(10**9+7), int(a, 2)%(10**9+7))
  24.  
Success #stdin #stdout 0.02s 9128KB
stdin
3 1
1 1
stdout
2 2