fib.cpp: In function 'int main()':
fib.cpp:39:60: warning: narrowing conversion of '((((((long long int)((x - prev) / 2)) * 1) * ((long long int)dp.std::array<int, 2>::operator[](0))) + ((((long long int)(((x - prev) - 1) / 2)) * 1) * ((long long int)dp.std::array<int, 2>::operator[](1)))) % 1000000007)' from 'long long int' to 'int' inside { } [-Wnarrowing]
dp={(((x-prev)/2)*1LL*dp[0]+((x-prev-1)/2)*1LL*dp[1])%MOD,(dp[0]+dp[1])%MOD};
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
fib.cpp:29:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&N);
~~~~~^~~~~~~~~
fib.cpp:32:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&A);
~~~~~^~~~~~~~~