#include <bits/stdc++.h>
using namespace std;
class Node {
public:
int val, size = 0;
Node* next;
Node(int v) {
val = v;
next = nullptr;
}
void insert(int v) {
size++;
Node* nw = new Node(v);
Node* t = this;
while (t->next != nullptr) {
t = t->next;
}
t->next = nw;
}
int search(int s) {
int ans = -1, i = 0;
Node* t = this->next;
while (t->next != nullptr) {
// Debug Purposes
// cerr << t->val << " " << i << " " << s << "\n";
if(t->val == s) break;
t = t->next;
i++;
}
if(t->val == s) ans = i;
return ans;
}
bool isSame(Node *v) {
bool ans = true;
Node* a = this;
Node* b = v;
if(v->size == this->size) {
do {
a = a->next;
b = b->next;
ans &= a->val == b->val;
} while(a->next != nullptr);
} else ans = false;
return ans;
}
void print() {
Node* t = next;
while(t->next != nullptr) {
cout << t->val << " ";
t = t->next;
}
cout << t->val << "\n";
}
};
int main() {
Node *a = new Node(0);
int x;
while(cin >> x) {
if(x == -1) break;
a->insert(x);
}
Node *b = new Node(0);
while(cin >> x) {
if(x == -1) break;
b->insert(x);
}
cout << (a->isSame(b) ? "YES\n" : "NO\n");
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpjbGFzcyBOb2RlIHsKcHVibGljOgogICAgaW50IHZhbCwgc2l6ZSA9IDA7CiAgICBOb2RlKiBuZXh0OwogICAgTm9kZShpbnQgdikgewogICAgICAgIHZhbCA9IHY7CiAgICAgICAgbmV4dCA9IG51bGxwdHI7CiAgICB9CgogICAgdm9pZCBpbnNlcnQoaW50IHYpIHsKICAgICAgICBzaXplKys7CiAgICAgICAgTm9kZSogbncgPSBuZXcgTm9kZSh2KTsKICAgICAgICBOb2RlKiB0ID0gdGhpczsKICAgICAgICB3aGlsZSAodC0+bmV4dCAhPSBudWxscHRyKSB7CiAgICAgICAgICAgIHQgPSB0LT5uZXh0OwogICAgICAgIH0KICAgICAgICB0LT5uZXh0ID0gbnc7CiAgICB9CgogICAgaW50IHNlYXJjaChpbnQgcykgewogICAgICAgIGludCBhbnMgPSAtMSwgaSA9IDA7CiAgICAgICAgTm9kZSogdCA9IHRoaXMtPm5leHQ7CiAgICAgICAgd2hpbGUgKHQtPm5leHQgIT0gbnVsbHB0cikgewogICAgICAgICAgICAvLyBEZWJ1ZyBQdXJwb3NlcwogICAgICAgICAgICAvLyBjZXJyIDw8IHQtPnZhbCA8PCAiICIgPDwgaSA8PCAiICIgPDwgcyA8PCAiXG4iOwogICAgICAgICAgICBpZih0LT52YWwgPT0gcykgYnJlYWs7CiAgICAgICAgICAgIHQgPSB0LT5uZXh0OwogICAgICAgICAgICBpKys7CiAgICAgICAgfQogICAgICAgIGlmKHQtPnZhbCA9PSBzKSBhbnMgPSBpOwogICAgICAgIHJldHVybiBhbnM7CiAgICB9CgogICAgYm9vbCBpc1NhbWUoTm9kZSAqdikgewogICAgICAgIGJvb2wgYW5zID0gdHJ1ZTsKICAgICAgICBOb2RlKiBhID0gdGhpczsKICAgICAgICBOb2RlKiBiID0gdjsKICAgICAgICBpZih2LT5zaXplID09IHRoaXMtPnNpemUpIHsKICAgICAgICAgICAgZG8gewogICAgICAgICAgICAgICAgYSA9IGEtPm5leHQ7CiAgICAgICAgICAgICAgICBiID0gYi0+bmV4dDsKICAgICAgICAgICAgICAgIGFucyAmPSBhLT52YWwgPT0gYi0+dmFsOwogICAgICAgICAgICB9IHdoaWxlKGEtPm5leHQgIT0gbnVsbHB0cik7CiAgICAgICAgfSBlbHNlIGFucyA9IGZhbHNlOwoKICAgICAgICByZXR1cm4gYW5zOwogICAgfQoKICAgIHZvaWQgcHJpbnQoKSB7CiAgICAgICAgTm9kZSogdCA9IG5leHQ7CiAgICAgICAgd2hpbGUodC0+bmV4dCAhPSBudWxscHRyKSB7CiAgICAgICAgICAgIGNvdXQgPDwgdC0+dmFsIDw8ICIgIjsKICAgICAgICAgICAgdCA9IHQtPm5leHQ7CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgdC0+dmFsIDw8ICJcbiI7CiAgICB9Cn07CgppbnQgbWFpbigpIHsKICAgIE5vZGUgKmEgPSBuZXcgTm9kZSgwKTsKICAgIGludCB4OwogICAgd2hpbGUoY2luID4+IHgpIHsKICAgICAgICBpZih4ID09IC0xKSBicmVhazsKICAgICAgICBhLT5pbnNlcnQoeCk7CiAgICB9CiAgICBOb2RlICpiID0gbmV3IE5vZGUoMCk7CiAgICB3aGlsZShjaW4gPj4geCkgewogICAgICAgIGlmKHggPT0gLTEpIGJyZWFrOwogICAgICAgIGItPmluc2VydCh4KTsKICAgIH0KCiAgICBjb3V0IDw8IChhLT5pc1NhbWUoYikgPyAiWUVTXG4iIDogIk5PXG4iKTsKfQ==