#define for_range(VAR,FROM,TO) for( VAR=FROM ; FROM<=TO?VAR<=TO:VAR>=TO ; FROM<=TO?VAR++:VAR--)
#define for_each(NODE,HEAD) for(NODE=HEAD; NODE; NODE=NODE->__next)
#define for_search(NODE,HEAD,EXPR) for_each(NODE,HEAD) if(EXPR)
#define for_range(VAR,FROM,TO) for( VAR=FROM ; FROM<=TO?VAR<=TO:VAR>=TO ; FROM<=TO?VAR++:VAR--)
#define for_each(NODE,HEAD) for(NODE=HEAD; NODE; NODE=NODE->__next)
#define for_search(NODE,HEAD,EXPR) for_each(NODE,HEAD) if(EXPR)