Language: C++

#include <iostream>
#include <string>
#include <sstream>
#include <cassert>
 
 
int permutation(int *a, int n) {
    bool *b = new bool[n];
    for (int i=0;i<n;++i){
        b[i] = false;
    }
    int sign = 1;
    for (int i=0;i<n;++i) {
        int local_sign = 1;
        int j = i;
        while (!b[j]) {
            b[j] = true;
            j = a[j];
            if (b[j]) {
                break;
            }
            local_sign *= -1;
        }
        sign *= local_sign;
    }
    delete [] b;
    return sign;
}
 
int main() {
    int n;
    {
        std::string buf;
        std::getline(std::cin, buf);
        std::istringstream iss(buf);
        iss >> n;
    }
    int* a1 = new int[n];
    {
        std::string buf;
        std::getline(std::cin, buf);
        std::istringstream iss(buf);
        for (int i=0;i<n;++i) {
            int xx;
            iss >> xx;
            a1[i] = xx;
        }
    }
    int* a2 = new int[n];
    {
        std::string buf;
        std::getline(std::cin, buf);
        std::istringstream iss(buf);
        for (int i=0;i<n;++i) {
            int xx;
            iss >> xx;
            a2[i] = xx;
        }
    }
    int* a3 = new int[n];
    {
        std::string buf;
        std::getline(std::cin, buf);
        std::istringstream iss(buf);
        for (int i=0;i<n;++i) {
            int xx;
            iss >> xx;
            a3[i] = xx;
        }
    }
    int *a = new int [n];
    for (int i=0;i<n;++i) {
        if (a1[i] < a3[i]) {
            if (a3[i] != a1[i]+2 || a2[i] != a1[i]+1) {
                std::cout << "No" << std::endl;
                return 0;
            }
            a[i] = a1[i] / 3 + 1;
        } else {
            if (a1[i] != a3[i]+2 || a2[i] != a3[i]+1) {
                std::cout << "No" << std::endl;
                return 0;
            }
            a[i] = - (a3[i] / 3 + 1);
        }
    }
    int *evens = new int[n/2];
    int *odds = new int[n/2 + n%2];
    int even_sign = 1;
    int odd_sign = 1;
    for (int i = 0; i < n; ++i) {
        if (i%2 == 0) {
            if (a[i]%2 == 0) {
                std::cout << "No" << std::endl;
                return 0;
            }
            if (a[i] > 0) {
                odds[i/2] = a[i]/2;
            } else {
                odds[i/2] = -a[i]/2;
                odd_sign *= -1;
            }
        } else {
            if (a[i]%2 == 1) {
                std::cout << "No" << std::endl;
                return 0;
            }
            if (a[i] > 0) {
                evens[i/2] = a[i]/2 - 1;
            } else {
                evens[i/2] = -a[i]/2 - 1;
                even_sign *= -1;
            }
        }
    }
    if (permutation(odds, n/2 +n%2) * odd_sign * permutation(evens, n/2) * even_sign == 1) {
        std::cout << "Yes" << std::endl;
　　assert(false);
    } else {
        std::cout << "No" << std::endl;
    }
    return 0;
}

Compiler output:
a.cc:118:1: error: extended character 　 is not valid in an identifier
  118 | 　　assert(false);
      | ^
a.cc:118:1: error: extended character 　 is not valid in an identifier
a.cc: In function 'int main()':
a.cc:118:1: error: '\U00003000\U00003000assert' was not declared in this scope
  118 | 　　assert(false);
      | ^~~~~~~~~~