public int largestRectangleArea(int[] height) {
		Stack<Integer> s=new Stack<>();
		int[]h=height;
		int rel=0;
		for (int i=0, n=h.length;i<n||!s.isEmpty();) {
			if (i<n&&(s.isEmpty()||h[s.peek()]<h[i]))
				s.push(i++);
			else {
				int ch=h[s.pop()];
				int p=s.isEmpty()?0:s.peek()+1;
				rel=Math.max(rel, ch*(i-p));
			}
		}
		return rel;
	}