/tmp/ccUR7n5s.o: In function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'
/tmp/ccS6sYU1.o:vision.cpp:(.text.startup+0x0): first defined here
/tmp/ccUR7n5s.o: In function `add_not(int)':
grader.cpp:(.text+0x260): multiple definition of `add_not(int)'
/tmp/ccS6sYU1.o:vision.cpp:(.text+0x770): first defined here
/tmp/ccUR7n5s.o: In function `add_xor(std::vector<int, std::allocator<int> >)':
grader.cpp:(.text+0x430): multiple definition of `add_xor(std::vector<int, std::allocator<int> >)'
/tmp/ccS6sYU1.o:vision.cpp:(.text+0x260): first defined here
/tmp/ccUR7n5s.o: In function `add_and(std::vector<int, std::allocator<int> >)':
grader.cpp:(.text+0x5e0): multiple definition of `add_and(std::vector<int, std::allocator<int> >)'
/tmp/ccS6sYU1.o:vision.cpp:(.text+0x410): first defined here
/tmp/ccUR7n5s.o: In function `add_or(std::vector<int, std::allocator<int> >)':
grader.cpp:(.text+0x790): multiple definition of `add_or(std::vector<int, std::allocator<int> >)'
/tmp/ccS6sYU1.o:vision.cpp:(.text+0x5c0): first defined here
collect2: error: ld returned 1 exit status