/**
 * Rivet Software Inc.
 * ©Copyright 2006-2007 Rivet Software, Inc. All rights reserved.
 * Version 1.0.0.5
 **/

var Show = {};
Show.LastAR = null;
Show.hideAR = function(){	
	if( Show.LastAR ){
		Show.LastAR.style.display = 'none';
	}
}
Show.showAR = function ( link ){
	if( Show.LastAR ){
		Show.hideAR();
	}

	var ref = link;

	do{
		ref = ref.nextSibling;	
	}while( ref.nodeName != 'TABLE' );

	ref.style.display = 'block';
	Show.LastAR = ref;
}
Show.toggleNext = function( link ){
	var ref = link;

	do{
		ref = ref.nextSibling;	
	}while( ref.nodeName != 'DIV' );

	if( ref.style &&
		ref.style.display &&
		ref.style.display == 'none')
	{
		ref.style.display = 'block';

			if( link.textContent ){
				link.textContent = link.textContent.replace( '+', '-' );
			}else{
				link.innerText = link.innerText.replace( '+', '-' );
			}
	}else{
		ref.style.display = 'none';

		if( link.textContent ){
			link.textContent = link.textContent.replace( '-', '+' );
		}else{
			link.innerText = link.innerText.replace( '-', '+' );
		}
	}
}
Show.TabClick = function(itm) {
	do {
		itm = itm.parentNode;
	} while (itm.nodeName != 'LI')

	var items = itm.parentNode.getElementsByTagName('li');
	for (var i = 1; i < items.length; i++){
		if( itm == items[ i ] ){
			RS.Filing.Close( i );
			break;
		}
	}
}
Show.TabOver = function(img) {
	img.src = img.src.replace( "x_black.gif", "x_red.gif" );
}
Show.TabOut = function(img) {
	img.src = img.src.replace("x_red.gif", "x_black.gif");
}