#include <cstddef>
#include <iostream>
#include <set>
#include <stdexcept>
std::size_t lines(std::size_t count,std::size_t stride) {
    std::set<std::size_t> touched;
    for(std::size_t i=0;i<count;++i) touched.insert((i*stride*4)/64);
    return touched.size();
}
int main() {
    if(lines(0,1)!=0 || lines(8,1)!=1 || lines(8,16)!=8 || lines(17,1)!=2)
        throw std::runtime_error("line model");
    std::cout<<"contiguous_lines="<<lines(8,1)<<" strided_lines="<<lines(8,16)<<'\n';
}
