// Original CPU teaching model; not a device simulator or benchmark.
#include <iostream>
#include <vector>
#include <stdexcept>

void require(bool ok) { if (!ok) throw std::runtime_error("model check failed"); }

bool complete(const std::vector<int>& sequence) {
 if(sequence.size()!=3) return false;
 for(std::size_t i=0;i<sequence.size();++i) if(sequence[i]!=static_cast<int>(i)) return false;
 return true;
}
int main() {
 const bool a=complete({0,1,2}),b=complete({0,2});
 require(a && !b);std::cout<<"complete="<<a<<" missing="<<b<<'\n';
}

