#include <boost/logic/tribool.hpp>
#include <boost/logic/tribool_io.hpp>
#include <iostream>
using namespace boost::logic;
int main()
{
std::cout.setf(std::ios::boolalpha);
tribool b1 = true;
std::cout << (b1 || indeterminate) << 'n';
std::cout << (b1 && indeterminate) << 'n';
tribool b2 = false;
std::cout << (b2 || indeterminate) << 'n';
std::cout << (b2 && indeterminate) << 'n';
tribool b3 = indeterminate;
std::cout << (b3 || b3) << 'n';
std::cout << (b3 && b3) << 'n';
std::cout << (not b3) << 'n';
}