#include <iostream> #include <sys/time.h> void findAllSubstrings(const char *s) { int x=0; while(*(s+x)){ for(int y=0; y<=x; y++) std::cout<<*(s+y); std::cout<<'\n'; x++; } if(*(s+1)) findAllSubstrings(s+1); else return; } void findAllSubstrings2(const char *s) { while(*s) { int x=0; while(*(s + x)) { for(int y = 0; y <= x; y++) std::cout << *(s + y); std::cout << "\n"; x++; } s++; } } int main() { timeval t1,t2; gettimeofday(&t1,0); for(int t = 0; t < 1000; t++) findAllSubstrings("abc"); gettimeofday(&t2,0); std::cout << "\n\n1: Time per call: " << ((t2.tv_sec-t1.tv_sec)*1000000 + t2.tv_usec-t1.tv_usec) / 1000.0 << " us\n"; gettimeofday(&t1,0); for(int t = 0; t < 1000; t++) findAllSubstrings2("abc"); gettimeofday(&t2,0); std::cout << "\n\n2: Time per call: " << ((t2.tv_sec-t1.tv_sec)*1000000 + t2.tv_usec-t1.tv_usec) / 1000.0 << " us\n"; return 0; }
Standard input is empty
a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c 1: Time per call: 1.417 us a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c a ab abc b bc c 2: Time per call: 1.411 us