#include <iostream>
#include <stdio.h>
using namespace std;
struct Tracker
{
Tracker( ) : any( false ) { }
bool operator( ) ( ) { any = true ; return true ; }
bool any;
} ;
void Properties( int thing) {
Tracker tracker;
if ( thing % 3 == 0 && tracker( ) ) {
printf ( "\" %d\" is a multiple of three.\n " , thing) ;
}
if ( thing > 100 && tracker( ) ) {
printf ( "\" %d\" is greater than one hundred.\n " , thing) ;
}
if ( thing > 1000 && tracker( ) ) {
printf ( "\" %d\" is greater than one thousand.\n " , thing) ;
}
if ( ! tracker.any ) {
printf ( "\" %d\" is boring.\n " , thing) ;
}
}
int main( ) {
Properties( 101 ) ;
Properties( 100 ) ;
Properties( 1002 ) ;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RkaW8uaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogICAgc3RydWN0IFRyYWNrZXIKICAgIHsKICAgICAgICBUcmFja2VyKCkgOiBhbnkoZmFsc2UpIHsgfQogICAgICAgIGJvb2wgb3BlcmF0b3IoKSgpIHsgYW55ID0gdHJ1ZTsgcmV0dXJuIHRydWU7IH0KICAgICAgICBib29sIGFueTsKICAgIH07CiAKdm9pZCBQcm9wZXJ0aWVzKGludCB0aGluZykgewogICAgVHJhY2tlciB0cmFja2VyOwogICAgaWYgKHRoaW5nICUgMyA9PSAwICYmIHRyYWNrZXIoKSkgewogICAgICAgIHByaW50ZigiXCIlZFwiIGlzIGEgbXVsdGlwbGUgb2YgdGhyZWUuXG4iLCB0aGluZyk7CiAgICB9CiAgICBpZiAodGhpbmcgPiAxMDAgJiYgdHJhY2tlcigpKSB7CiAgICAgICAgcHJpbnRmKCJcIiVkXCIgaXMgZ3JlYXRlciB0aGFuIG9uZSBodW5kcmVkLlxuIiwgdGhpbmcpOwogICAgfQogICAgaWYgKHRoaW5nID4gMTAwMCAmJiB0cmFja2VyKCkpIHsKICAgICAgICBwcmludGYoIlwiJWRcIiBpcyBncmVhdGVyIHRoYW4gb25lIHRob3VzYW5kLlxuIiwgdGhpbmcpOwogICAgfQogICAgaWYgKCF0cmFja2VyLmFueSkgewogICAgICAgIHByaW50ZigiXCIlZFwiIGlzIGJvcmluZy5cbiIsIHRoaW5nKTsKICAgIH0KfQogCmludCBtYWluKCkgewoJUHJvcGVydGllcygxMDEpOwoJUHJvcGVydGllcygxMDApOwoJUHJvcGVydGllcygxMDAyKTsKCXJldHVybiAwOwp9