/usr/bin/ld: /tmp/ccxrMZKU.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccEfrGrT.o:vision.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/ccxrMZKU.o: in function `add_and(std::vector<int, std::allocator<int> >)':
grader.cpp:(.text+0x210): multiple definition of `add_and(std::vector<int, std::allocator<int> >)'; /tmp/ccEfrGrT.o:vision.cpp:(.text+0xd0): first defined here
/usr/bin/ld: /tmp/ccxrMZKU.o: in function `add_or(std::vector<int, std::allocator<int> >)':
grader.cpp:(.text+0x230): multiple definition of `add_or(std::vector<int, std::allocator<int> >)'; /tmp/ccEfrGrT.o:vision.cpp:(.text+0x170): first defined here
/usr/bin/ld: /tmp/ccxrMZKU.o: in function `add_xor(std::vector<int, std::allocator<int> >)':
grader.cpp:(.text+0x250): multiple definition of `add_xor(std::vector<int, std::allocator<int> >)'; /tmp/ccEfrGrT.o:vision.cpp:(.text+0x30): first defined here
collect2: error: ld returned 1 exit status