snake_escaping.cpp: In function 'int main()':
snake_escaping.cpp:54:8: warning: init-statement in selection statements only available with -std=c++1z or -std=gnu++1z
if((pc[mask]&1)==(pc[b]&1) ans+=dp1[mask|c];
^
snake_escaping.cpp:54:32: error: expected ';' before 'ans'
if((pc[mask]&1)==(pc[b]&1) ans+=dp1[mask|c];
^~~
snake_escaping.cpp:54:20: warning: statement has no effect [-Wunused-value]
if((pc[mask]&1)==(pc[b]&1) ans+=dp1[mask|c];
~~~~~~~~~~~~^~~~~~~~~~~
snake_escaping.cpp:55:5: error: expected primary-expression before 'else'
else ans-=dp1[mask|c];
^~~~
snake_escaping.cpp:55:5: error: expected ')' before 'else'
snake_escaping.cpp:11:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scanf("%i %i",&n,&q);
~~~~~^~~~~~~~~~~~~~~
snake_escaping.cpp:12:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scanf("%s",s);
~~~~~^~~~~~~~
snake_escaping.cpp:30:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scanf("%s",t);
~~~~~^~~~~~~~