Main.cc: In function ‘int main()’: Main.cc:57:106: error: expected primary-expression before ‘?’ token printf("%d\n", 1ll * f(a[l]) * f(a[r]) <= 0 && 1 <= l && l <= n && 1 <= r && r <= n && l != r && ? l : -1); ^ Main.cc:41:27: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d", a + i), t.insert(t.root, i, DEP); ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ Main.cc:44:14: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d", &u, &v); ~~~~~^~~~~~~~~~~~~~~~