public class UpperBoundedCounter {
	UpperBoundedCounter(int limit) {
		val = 0;
		this.limit = limit;
	} 

	void up() {if (val < limit) val++;}	
	void down() {val--;}	

	int getVal() {return val;}
	int getLimit() {return limit;}

	public String toString() {return "A upper-bounded counter with value " + val + " and limit " + limit;}

	private int val = 0;
	private int limit;
}
