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

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

int main() {
 const int upload=4, download=1, old_kernel=2, new_kernel=1;
 const int before=upload+old_kernel+download, after=upload+new_kernel+download;
 require(before==7 && after==6);
 std::cout<<"before="<<before<<" after="<<after<<" saved="<<(before-after)<<'\n';
}

