/tmp/ccnsRXpF.o: In function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'
/tmp/cclpipGO.o:vision.cpp:(.text.startup+0x0): first defined here
/tmp/ccnsRXpF.o: In function `add_not(int)':
grader.cpp:(.text+0x260): multiple definition of `add_not(int)'
/tmp/cclpipGO.o:vision.cpp:(.text+0x7d0): first defined here
/tmp/ccnsRXpF.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/cclpipGO.o:vision.cpp:(.text+0x470): first defined here
/tmp/ccnsRXpF.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/cclpipGO.o:vision.cpp:(.text+0x620): first defined here
/tmp/ccnsRXpF.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/cclpipGO.o:vision.cpp:(.text+0x2c0): first defined here
collect2: error: ld returned 1 exit status