a:4:{i:0;s:23289:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Registry</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.newakproperties.com/" title="Home">Home</a>
						
						<b class="ffv p2px">&rsaquo;</b><a href="http://www.newakproperties.com/property-in-gajraula.htm" title="Property in Gajraula">Gajraula</a><b class="ffv p2px">&rsaquo;</b><a href="http://www.newakproperties.com/property-for-sale-in-hasanpur-road-gajraula.htm" title="Property for Sale in Hasanpur Road, Gajraula">Hasanpur Road</a>											
						<b class="ffv p2px">&rsaquo;</b> Registry</p>
						</div>
						</div>
						</section>
											<script>	
						(function($){	
						  $(function(){
							$('[id^=slider1]').each(function(){
								$(this).DG_Slider({
									auto: true, mode:'fade', pager:false, pagerType:'short',controls:false
								});
							})
							$('a[rel=gall]').fancybox()
						  });	
						}(jQuery))		
					</script>
					<section id="middle"><br />
					<div class="wrap" id="bodyFormatNT">
					<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
					<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->
											<section class="fo pro_detail_n">
						<div class="w100 dt ac-dtr acac-dtc fl">
						<ul>
												<li class="vat pr30px vat w300px lh0">
	                    <div class="demo-wrap slider300">
						<ul class="lsn m0px p0px" >
														<li class="bdr bw1px c5px p1px">
								<div class="">
								<p class="ac vam">
																	<div class="lh0 blur-bg" style="background-image:url(https://rei.wlimg.com/prop_images/231748/867625_1.jpg); background-repeat:no-repeat;"></div>
									<a  data-fancybox="showZoomImage"  title="Registry" href="https://rei.wlimg.com/prop_images/231748/867625_1.jpg"><img src="https://rei.wlimg.com/prop_images/231748/867625_1-350x350.jpg"  alt="Registry"  /></a>								</p>
								</div>
								</li>
													</ul>
					</div>
					</li>
					<li class="vat ffos">
					<div class="fo mb10px bdrb bdreee pb10px res_clr">
					<div class="">
												<div><i class="fa fa-map-marker pr7px fl"></i><p class="ofh">Gajraula Delhi road, Hasanpur Road, Gajraula							<br>
							<span class="gray">By New AK Properties</span></p>
							</div>
												</div>
					</div>
					<p class="pr"><span class="headHr dib c5px"><a data-fancybox data-type="iframe" data-src="https://www.realestateindia.com/view_map.php?title=Registry&gaddress=Hasanpur+Road%2C+Gajraula%2C+Uttar+Pradesh&goglepointer1=&goglepointer2=" href="javascript:void(0);" style="padding-left:50px;" class="b xlarge p7px pr20px dib ts0">Location Map</a></span>
					<span style="top:-10px;left:0;" class="pa dib lh0px"><img src="https://static.realestateindia.com/images/icon_loc_map.png" alt=""></span>
					</p>
					<script>
					$("[data-fancybox]").fancybox({
					    iframe : {
					        css : {
					            width : '860px'
					        }
					    }
					});
					</script>
					<br />
											<div class="xxlarge mb10px">
						<div class="xxlarge ffrr mb7px dib red"><i class="fa fa-inr"></i> <span itemprop="price">90 L</span></div>
													<div class="xsmall ml15px dib">@ Rs 52356 per Bigha</div>
													</div>
											<ul class="fo ac-mb10px pb10px lsn bdrb large">
											<li>
						<p class="fl w130px">Property ID: </p>
						<p class="fl mr30px">:</p>
						<p class="ofh b">REI867625</p>
						</li>
												<li>
						<p class="fl w130px">Property For</p>
						<p class="fl mr30px">:</p>
						<p class="ofh b">Sale</p>
						</li>
												<script type="text/javascript">
						area_conversion=function(b,f,e){var c=createAreaArr();if(e==1){if(b<20&&b!=18){var a=f/c[b];return a}else{return 0}}else{if(e==2){if(b<20&&b!=18){var d=f*c[b];return d}else{return 0}}}};
						
						function createAreaArr(){
							var a={
								1:1,
								2:0.1111111111111,
								3:0.093,
								4:0.00041666667,
								5:0.013890889,
								6:0.000091810503,
								7:0.002222222222222223,
								8:0.0036724201,
								9:0.0009182736455464,
								10:0.00092936802973,
								11:0.0000028696051,
								12:0.00002295663,
								13:0.000057392103,
								14:0.0013888889,
								15:0.0000092904166,
								16:0.003673095,
								17:0.0000092605969,
								19:0.002295684
							};
							return a;
						}
						
						function updateArea(a,c,d,h,b,w,z){
							var g=createAreaArr();
							 
							var bu = {
						    'Sq.ft.':'1',
						    'Sq. Yards':'2',
						    'Sq. Meter':'3',
						    'Guntha':'9',
						    'Ares':'10',
						    'Acre':'12',
						    'Bigha':'13',
						    'Hectares':'15',
						    'Marla':'16',
						    'Cent':'19',
						    };
							if(w=='Sq. Feet'){
								var e=d*(parseFloat(g[c]));
							}
							else{
								var e=parseFloat(g[c])*(d/ parseFloat(g[bu[w]]));
							} 
							
							if(b=="Y"){
								jQuery("#"+h+"_span").html(e.toFixed(2));
							}else{
								if(b=="N"){
									jQuery("#"+h).html(jQuery("#"+h).html+e.toFixed(2));
									console.log("#"+h);
								}
							}
							jQuery("#"+h+"Label").html(" "+a);
							jQuery("#"+z).html(a+" &#9660;")
						}
						
						</script>						
												<li class="fo">
						<p class="fl w130px">Built Up Area</p>
						<p class="fl mr30px">:</p>
						<div class="fl b">
						<script type="text/javascript">
						function convert(basetext,baseindex,baseunit){
						     if(3 > 0 )  updateArea(basetext,baseindex,3,'builtupArea','Y',baseunit,'DrpDownTab');   }
						</script>  
						<span id="builtupArea_span">3</span>
						<span class="pr">
						<a onClick="jQuery('#builtUp').show();event.stopPropagation();" class="headVr pl5px pr5px small dib vam ml5px" id="DrpDownTab">Bigha &#9660;</a>
						<div id="builtUp" style="width:120px;display:none;top:-1px;left:0px;" class="pa">
						<span class="data p5px15px pb10px dib xlarge b pr" style="border-bottom:none;z-index:101;" id="builtupAreaLabel">Bigha</span>
						<ul class="lsn m0px p0px data small bdrB0 pr uo" style="top:-1px;z-index:100;">
						<li><a class="bdrB db p2px10px" href="javascript:convert('Sq.%20Feet',1,'Bigha');">Sq. Feet</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Cent',19,'Bigha');">Cent</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Sq.%20Yards',2,'Bigha');">Sq. Yards</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Ares',10,'Bigha');">Ares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Acre',12,'Bigha');">Acres</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Sq.%20Meter',3,'Bigha');">Sq. Meter</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Bigha',13,'Bigha');">Bigha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Hectares',15,'Bigha');">Hectares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Guntha',9,'Bigha');">Guntha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Marla',16,'Bigha');">Marla</a></li>
						</ul>
						</div>
						</span>
						<script>
						jQuery(document).ready(function(e) {
							jQuery('body').click(function(){
								jQuery('#builtUp').hide();
								
							})
						});
						</script>
						</div>
						</li>
												<li class="fo">
						<p class="fl w130px">Land / Plot Area</p>
						<p class="fl mr30px">:</p>
						<div class="fl b">
						<script type="text/javascript">
						function convert1(basetext,baseindex,baseunit){
						     if(3 > 0 )  updateArea(basetext,baseindex,3,'landArea','Y',baseunit,'DrpDownTab1'); }
						</script>  
						<span id="landArea_span">3</span>
						<span class="pr">
						<a onClick="jQuery('#landArea').show();event.stopPropagation();" class="headVr pl5px pr5px small dib vam ml5px" id="DrpDownTab1">Bigha &#9660;</a>
						<div id="landArea" style="width:120px;display:none;top:-1px;left:0px;" class="pa">
						<span class="data p5px15px pb10px dib xlarge b pr" style="border-bottom:none;z-index:101;" id="landAreaLabel">Bigha</span>
						<ul class="lsn m0px p0px data small bdrB0 pr uo" style="top:-1px;z-index:100;">
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Sq.%20Feet',1,'Bigha');">Sq.Feet</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Cent',19,'Bigha');">Cent</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Sq.%20Yards',2,'Bigha');">Sq. Yards</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Ares',10,'Bigha');">Ares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Acre',12,'Bigha');">Acres</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Sq.%20Meter',3,'Bigha');">Sq. Meter</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Bigha',13,'Bigha');">Bigha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Hectares',15,'Bigha');">Hectares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Guntha',9,'Bigha');">Guntha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Marla',16,'Bigha');">Marla</a></li>
						</ul>
						</div>
						</span>
						<script>
						jQuery(document).ready(function(e) {
							jQuery('body').click(function(){
								jQuery('#landArea').hide();
								
							})
						});
						</script>
						</div>			
						</li>
											</ul>
											<form class="inquiry-form" name="frmpropertydetail" method="post" action="http://www.newakproperties.com/enquiry-form-10017.htm">
						<input type="hidden" name="enqtype" value="property" />
						<input type="hidden" name="subject" value="Inquiry For Property - Registry - REI867625" />
						<input type="hidden" name="property_id" value="867625" />
						</form>
						<a href="javascript:void(0);" class="submit-inquiry buttonBig xxlarge ts0 p10px20px mt10px c5px">Send Enquiry</a>
							
					</li>
					</ul>
					</div>											
					</section>
					<br /> 
											<div class="bdrB xxlarge b dif pb5px mt10px mb7px">Additional Details</div>
	                    <ul class="lsn m0px p0px wp33 lh2em">
														<li><b>Transaction :</b> Resale Property</li>
														</ul>
			            <p class="cb"></p>
			            <br />
												<br />
						<div class="bdrB xxlarge b dif pb5px mt10px mb7px">Property Description </div>
						<p class="aj">3 bigha land Gajraula highway par very good location</p>						
											</div>
					<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				    <div class="db p20px bdr large ac">
				    <div class="dib mb10px">
					<div class="propUser bdr bdrddd vam"><i class="fa fa-user"></i></div>
					</div>
					<p class="mb5px"> New A K PROPERTY </p>
					<p class="alpha75 mb5px">  </p>
					<p> <i class="fa xxxlarge vam mr5px fa-mobile" aria-hidden="true"></i> 9927073464 </p>
					</div>
		
					<div class="column_Box mc">
					<div class="tcl bullet divider">
					<div class="h h2"><b class="plusMinus"></b>
					<p class="b dif rHead">Property by City</p>
					</div>
					<div class="ic showHide_rp">
					<div class="mt10px">
											<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="http://www.newakproperties.com/property-in-moradabad.htm" class="dif" title="Property in Moradabad">Moradabad</a> <b class="alpha50 bn small">(224)</b></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="http://www.newakproperties.com/property-in-gajraula.htm" class="dif" title="Property in Gajraula">Gajraula</a> <b class="alpha50 bn small">(4)</b></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="http://www.newakproperties.com/property-in-nainital.htm" class="dif" title="Property in Nainital">Nainital</a> <b class="alpha50 bn small">(2)</b></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="http://www.newakproperties.com/property-in-bareilly.htm" class="dif" title="Property in Bareilly">Bareilly</a> <b class="alpha50 bn small">(1)</b></span>
											
					</div>
					</div>
					</div>
					</div>
					
										
					</div>
					</div>
					
												<br />
							<br />
							<section><br/>
							<div class="wrap fullFormat">	
							<div class="xxxlarge b mb30px ac">Related Properties in Gajraula</div>
							<div class="cf_3img mt30px">
							<ul class="lsn m0px p0px fo idv_eqheight cols_similar">						
															<li>
								<div class="bdr mb15px">
								<div class="cp" onclick="location.href='http://www.newakproperties.com/sell/agricultural-farm-land-moradabad_812987.htm'">
								<p class="theme2 bdr0 p2px5px small">PROPERTY ID - REI812987</p>
								<div class="picBg lh0"><img src="https://rei.wlimg.com/prop_images/231748/812987_1-350x350.jpg"  alt="Agriculture Land For Sale In Kashipur Road, Moradabad"  /></div>
								<p class="ffrr b large db headHr p5px10px"><a href="http://www.newakproperties.com/sell/agricultural-farm-land-moradabad_812987.htm">Agriculture Land For Sale In Kashipur Road, Morada...</a></p>
								<div class="p10px headVr bdr0" style="min-height:188px;">
								<p class="b"><i class="fa fa-map-marker mr5px"></i> Kashipur Road, Gajraula </p>
																	<p class="mt5px b dull-text">Agriculture Land For Sale In Kashipur Road, Moradabad. Land Area - 15 Bigha <a href="http://www.newakproperties.com/sell/agricultural-farm-land-moradabad_812987.htm" title="Agriculture Land For Sale In Kashipur Road, Moradabad" class="dif u">Read More</a></p>
																	<div class="dt ac-dtr acac-dtc dul b mt10px">
																	<ul class="mb5px">
									<li class="dull-text">Cost </li>
									<li>: <b class="webrupee"></b> 4.50 Cr </li>
									</ul>
																		<ul class="mb5px">
									<li class="dull-text">Land / Plot Area </li>
									<li>: <b class="webrupee"></b> 15 Bigha </li>
									</ul>
																	<ul class="mb5px">
								<li class="dull-text">Property Type </li>
								<li>: <b class="webrupee"></b> Agricultural/Farm Land </li>
								</ul>
																</div> 
								</div>
								</div>
								<div class="bdrT p5px ac">	
								<form class="inquiry-form" name="prop_812987" id="prop_812987" method="post" action="http://www.newakproperties.com/enquiry-form-10017.htm">
								<input type="hidden" name="enqtype" value="property" />
								<input type="hidden" name="subject" value="Inquiry For Property - Agriculture Land For Sale In Kashipur Road, Moradabad - REI812987" />
								<input type="hidden" name="property_id" value="812987" />
								</form>			 
								<a href="http://www.newakproperties.com/sell/agricultural-farm-land-moradabad_812987.htm" class="button p5px10px c3px mt5px mb5px">View Detail</a> <a href="javascript:void(0);" class="submit-inquiry buttonBig p5px10px ml5px c3px mt5px mb5px">Send Enquiry</a></div>
								</div>
																<li>
								<div class="bdr mb15px">
								<div class="cp" onclick="location.href='http://www.newakproperties.com/sell/agricultural-farm-land-moradabad_812994.htm'">
								<p class="theme2 bdr0 p2px5px small">PROPERTY ID - REI812994</p>
								<div class="picBg lh0"><img src="https://rei.wlimg.com/prop_images/231748/812994_1-350x350.jpg"  alt="Agriculture Land For Sale In Kashipur Road"  /></div>
								<p class="ffrr b large db headHr p5px10px"><a href="http://www.newakproperties.com/sell/agricultural-farm-land-moradabad_812994.htm">Agriculture Land For Sale In Kashipur Road</a></p>
								<div class="p10px headVr bdr0" style="min-height:188px;">
								<p class="b"><i class="fa fa-map-marker mr5px"></i> Kashipur Road, Gajraula </p>
																	<p class="mt5px b dull-text">Agriculture Land For Sale In Kashipur Road, Moradabad. Land Area - 24 Bigha <a href="http://www.newakproperties.com/sell/agricultural-farm-land-moradabad_812994.htm" title="Agriculture Land For Sale In Kashipur Road" class="dif u">Read More</a></p>
																	<div class="dt ac-dtr acac-dtc dul b mt10px">
																	<ul class="mb5px">
									<li class="dull-text">Cost </li>
									<li>: <b class="webrupee"></b> 7.20 Cr </li>
									</ul>
																		<ul class="mb5px">
									<li class="dull-text">Land / Plot Area </li>
									<li>: <b class="webrupee"></b> 24 Bigha </li>
									</ul>
																	<ul class="mb5px">
								<li class="dull-text">Property Type </li>
								<li>: <b class="webrupee"></b> Agricultural/Farm Land </li>
								</ul>
																</div> 
								</div>
								</div>
								<div class="bdrT p5px ac">	
								<form class="inquiry-form" name="prop_812994" id="prop_812994" method="post" action="http://www.newakproperties.com/enquiry-form-10017.htm">
								<input type="hidden" name="enqtype" value="property" />
								<input type="hidden" name="subject" value="Inquiry For Property - Agriculture Land For Sale In Kashipur Road - REI812994" />
								<input type="hidden" name="property_id" value="812994" />
								</form>			 
								<a href="http://www.newakproperties.com/sell/agricultural-farm-land-moradabad_812994.htm" class="button p5px10px c3px mt5px mb5px">View Detail</a> <a href="javascript:void(0);" class="submit-inquiry buttonBig p5px10px ml5px c3px mt5px mb5px">Send Enquiry</a></div>
								</div>
																<li>
								<div class="bdr mb15px">
								<div class="cp" onclick="location.href='http://www.newakproperties.com/sell/agricultural-farm-land-moradabad_812989.htm'">
								<p class="theme2 bdr0 p2px5px small">PROPERTY ID - REI812989</p>
								<div class="picBg lh0"><img src="https://rei.wlimg.com/prop_images/231748/812989_1-350x350.jpg"  alt="Agriculture Land For Sale In Kashipur Road, Moradabad."  /></div>
								<p class="ffrr b large db headHr p5px10px"><a href="http://www.newakproperties.com/sell/agricultural-farm-land-moradabad_812989.htm">Agriculture Land For Sale In Kashipur Road, Morada...</a></p>
								<div class="p10px headVr bdr0" style="min-height:188px;">
								<p class="b"><i class="fa fa-map-marker mr5px"></i> Kashipur Road, Gajraula </p>
																	<p class="mt5px b dull-text">Agriculture Land For Sale In Kashipur Road, Moradabad. Land Area - 8 Bigha  <a href="http://www.newakproperties.com/sell/agricultural-farm-land-moradabad_812989.htm" title="Agriculture Land For Sale In Kashipur Road, Moradabad." class="dif u">Read More</a></p>
																	<div class="dt ac-dtr acac-dtc dul b mt10px">
																	<ul class="mb5px">
									<li class="dull-text">Cost </li>
									<li>: <b class="webrupee"></b> 2.40 Cr </li>
									</ul>
																		<ul class="mb5px">
									<li class="dull-text">Land / Plot Area </li>
									<li>: <b class="webrupee"></b> 8 Bigha </li>
									</ul>
																	<ul class="mb5px">
								<li class="dull-text">Property Type </li>
								<li>: <b class="webrupee"></b> Agricultural/Farm Land </li>
								</ul>
																</div> 
								</div>
								</div>
								<div class="bdrT p5px ac">	
								<form class="inquiry-form" name="prop_812989" id="prop_812989" method="post" action="http://www.newakproperties.com/enquiry-form-10017.htm">
								<input type="hidden" name="enqtype" value="property" />
								<input type="hidden" name="subject" value="Inquiry For Property - Agriculture Land For Sale In Kashipur Road, Moradabad. - REI812989" />
								<input type="hidden" name="property_id" value="812989" />
								</form>			 
								<a href="http://www.newakproperties.com/sell/agricultural-farm-land-moradabad_812989.htm" class="button p5px10px c3px mt5px mb5px">View Detail</a> <a href="javascript:void(0);" class="submit-inquiry buttonBig p5px10px ml5px c3px mt5px mb5px">Send Enquiry</a></div>
								</div>
												
							</ul>
							</div>
							</div> 
							</section> 
												</div>
					</section>
									<div id="myModal" class="modal fade dn pf" role="dialog" style="z-index:9999;left:0;top:0%;width:100%;height:100%;background-color:rgba(0,0,0,0.6);overflow-x: hidden; overflow-y: auto;">
				    <!-- Modal content-->
				    <div style="max-width:700px;margin-top: 50px;min-height:400px;" class="modal-content data m0a p10px pr">
				      <div class="modal-header">
				        <a style="right:25px;top:25px;" class="pa b xxxlarge" data-dismiss="modal"><span class="xlarge">&times;</span></a>	        
				      </div>
				      <div class="modal-body">
				        <div class="ac" style="padding-top: 10%;"><p style="font-size:18px">Loading...</p></div>
				      </div>
				      <div class="modal-footer">
				        
				      </div>
				    </div>
				</div>
				<script type="text/javascript">
					jQuery(document).ready(function(){
						jQuery(document).on("click", ".submit-inquiry" , function(){
							var form = jQuery(this).parent().find(".inquiry-form");
							if(form.length){
								jQuery.ajax({
									url: form.attr("action"),
									type: form.attr("method"),
									data:form.serialize(),
									crossDomain:true,
									success:function(res){
										jQuery("#myModal .modal-body").html(res);
									}
								});
							}
						});
						jQuery(document).on("click", "[data-dismiss=modal]", function(){
							jQuery("#myModal .modal-body").html('<div class="ac" style="padding-top: 10%;"><p style="font-size:18px">Loading...</p></div>');
							jQuery("#myModal").hide();
						});
						jQuery(document).on("submit", "form[name=static_form]", function(e){				
							e.preventDefault();
							var isValidForm =static_inq_form_validate(jQuery(this).attr("form-id"));
							if(isValidForm == undefined){
								var form = jQuery(this);
								if(form.length){
									jQuery.ajax({
										url: form.attr("action"),
										type: form.attr("method"),
										data:form.serialize(),
										crossDomain:true,
										beforeSend:function(){
											jQuery("#myModal .modal-footer").html("");
										},
										success:function(res){
											jQuery("#myModal .modal-body").html(res);
											setTimeout(function(){
												jQuery("#myModal", document).hide();
												jQuery("#myModal .modal-body").html('<div class="ac" style="padding-top: 10%;"><p style="font-size:18px">Loading...</p></div>');
												},2000)
										}
									});
								}
							}
						});
						var modal = jQuery("#myModal", document);
			
						jQuery(document).on("click", ".submit-inquiry" , function(){
						    modal.show();
						});
			
						window.onclick = function(event) {
						    if (jQuery(event.target) == modal) {
						        modal.css("display","none");
						    }
						}
					});
				</script>
				";i:1;s:66:"3 Bigha Agricultural/Farm Land for Sale in Hasanpur Road, Gajraula";i:2;s:238:"Property for Sale in Hasanpur Road, Gajraula, Uttar Pradesh, 3 Bigha Agricultural/Farm Land in Hasanpur Road, Gajraula, Uttar Pradesh, New AK Properties deal in all type of Agricultural/Farm Land in Hasanpur Road, Gajraula, Uttar Pradesh.";i:3;s:238:"Property for Sale in Hasanpur Road, Gajraula, Uttar Pradesh, 3 Bigha Agricultural/Farm Land in Hasanpur Road, Gajraula, Uttar Pradesh, New AK Properties deal in all type of Agricultural/Farm Land in Hasanpur Road, Gajraula, Uttar Pradesh.";}