#include <cstddef>

    template<int Index, typename Tpl>
    std::size_t CalcInterleaveByteOffset(const Tpl &t)
    {
        std::size_t prevOffset = CalcInterleaveByteOffset<Index - 1>(t);
        return prevOffset + sizeof(Tpl);
    }
    
    template<typename Tpl>
    std::size_t CalcInterleaveByteOffset<0, Tpl>(const Tpl &t)
    {
        return 0;
    }

int main() {return 0;}