a:6:{i:0;s:23988:"				<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
									<div class="h1"><h1>A Glimpse of Andamans Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.safareandaman.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.safareandaman.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>A Glimpse of Andamans Tour</p> 
										<div class="fo dt w100"> 
					<div class="dtc vat ttw-detail pr20px pr">					
												<ul class="lsn gallery-slide" id="bxlider_ins">
																	<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_14/401862/255831.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_14/401862/255831.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/401862/255831.jpg"  alt="A Glimpse of Andamans Tour" title="A Glimpse of Andamans Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_14/401862/106849.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_14/401862/106849.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/401862/106849.jpg"  alt="A Glimpse of Andamans Tour" title="A Glimpse of Andamans Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																	</ul>
							
							<ul class="lsn" id="bxslider-pager"><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/401862/255831.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/401862/106849.jpg"></a></li></ul>					
					<script>
					var $j = jQuery.noConflict();
					var realSlider= $j("ul#bxlider_ins").bxSlider({
					      speed:500,
					      pager:false,
					      auto: true,
					      slideWidth: 450,
					      slideMargin: 0,
					      nextText:'',
					      prevText:'',
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					        changeRealThumb(realThumbSlider,newIndex);
					        
					      }
					      
					    });
					    
					    var realThumbSlider=$j("ul#bxslider-pager").bxSlider({
					      minSlides: 4,
					      maxSlides: 4,
					      slideWidth: 200,
					      slideMargin: 5,
					      moveSlides: 1,
					      pager:false,
					      speed:1000,
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      nextText:'<span></span>',
					      prevText:'<span></span>',
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					
					      }
					    });
					    
					    linkRealSliders(realSlider,realThumbSlider);
					    
					    if($j("#bxslider-pager li").length<5){
					      $j("#bxslider-pager .bx-next").hide();
					    }
					
					// sincronizza sliders realizzazioni
					function linkRealSliders(bigS,thumbS){
					  
					  $j("ul#bxslider-pager").on("click","a",function(event){
					    event.preventDefault();
					    var newIndex=$j(this).parent().attr("data-slideIndex");
					        bigS.goToSlide(newIndex);
					  });
					}
					
					//slider!=$thumbSlider. slider is the realslider
					function changeRealThumb(slider,newIndex){
					  
					  var $thumbS=$j("#bxslider-pager");
					  $thumbS.find('.active').removeClass("active");
					  $thumbS.find('li[data-slideIndex="'+newIndex+'"]').addClass("active");
					  
					  if(slider.getSlideCount()-newIndex>=4)slider.goToSlide(newIndex);
					  else slider.goToSlide(slider.getSlideCount()-4);
					
					}
					
					</script>
					</div>
			        <div class="dtc">
			        <p class="b xlarge mb10px">A Glimpse of Andamans Tour</p>
					
											<p class="mb5px"><b>Duration :</b> 
						3 Nights / 4 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Port Blair</p>
												<p class="mb5px"><b>Attractions :</b> Cellular Jail</p>
												<div class="fo mt20px mb20px xxlarge">
						<p class="xxlarge b dif mb2px">Price</p>
						<p class="xxsmall">On Request</p>
						</div>
												<div class="mt12px mb7px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.safareandaman.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="A Glimpse of Andamans Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px ts0 xxlarge dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="55802"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
													<div class="mt30px b xlarge">
												   					Detailed Tour Itinerary
				   													</div>		   
								<br/>
																			<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 1											
											:</b> Arrive Andaman										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Arrival at Port Blair in the morning/afternoon by flight and transfer to hotel. Relax and rest at the hotel and after lunch visit the famous Cellular Jail*(a witness to the freedom struggle) and then visit the Water Sports Complex.  In the evening proceed to attend the enthralling Sound and Light Show   (at 1800 hrs or 1900 Hrs, depending on light and sound show ticket availability) at Cellular Jail - where the heroic saga of the Indian freedom struggle is brought alive.															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 2											
											:</b> Port Blair - Havelock Island										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Early morning departure (0600 hrs) ferry from Port Blair – Havelock. The ferry takes 2.5 hrs to reach Havelock. On arrival be refreshed by some tender coconut water which we will offer at the exit of the jetty. Proceed to selected hotel and in the evening proceed to Beach No 7* (Radhanagar Beach) rated as the ‘Best Beach in Asia’ by Time Magazine (Local Hot Tea will be offered) (N/Ac Car will be provided for pickup and drop, time spent 2-3 hours).  Return back to the Hotel to relax and unwind. (Kindly remind hotel to provide packed breakfast at Port Blair since the same is not included at Havelock)			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 3											
											:</b> Havelock - Kalapathar Beach – Port Blair										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Check out and after lunch proceed to visit Kalapathar beach a scenic beach involving a wonderful ride by the coast, spend a hour and then return from Havelock Island in the evening @ 1630 hrs Govt ferry and transfer to hotel in Port Blair. Evening at Leisure. (Do note that all hotels on Havelock have a early morning check out time and late checkout is provided at the discretion of the hotel management)			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 4											
											:</b> Departure										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Depart Port Blair with Fond memories of these mesmerising Islands.			
														   
											</div> 
											</div>
																			<script>
								jQuery(document).ready(function() {
									//jQuery('.product-detail').css('display','none');
								    jQuery(".sub-title").click(function() {
								        var $this = jQuery(this);
										  jQuery('.w-title').addClass('h15px',400);
								          $this.find('.w-title').removeClass('h15px',400);
										  jQuery('.product-detail').slideUp();
								          $this.next().slideDown();
								          if($this.find('i').hasClass('fa-angle-up')){
								          	$this.find('i').removeClass('fa-angle-up').addClass('fa-angle-down');
								          } else {
								          	$this.find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
								          }
								        });
									});
								</script>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.safareandaman.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="A Glimpse of Andamans Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="55802"/>
						</form>
						</div>
						
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.safareandaman.in/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</a> <b class="alpha50 bn small">(14)</b></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.safareandaman.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.safareandaman.in/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.safareandaman.in/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</a> <b class="alpha50 bn small">(1)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Port Blair</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.safareandaman.in/tour-packages/exotic-andaman-tour1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/401862/255881.jpg"  alt="Exotic Andaman Tour" title="Exotic Andaman Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.safareandaman.in/tour-packages/exotic-andaman-tour1.htm" title="Exotic Andaman Tour"><h3>Exotic Andaman Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								7 Nights / 8 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair</p>
															<div class="mt10px small">
							<form name="pkg_55791" id="pkg_55791" method="post" action="http://www.safareandaman.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.safareandaman.in/tour-packages/exotic-andaman-tour1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Exotic Andaman Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="55791"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.safareandaman.in/tour-packages/havelock-paradise-tour1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/401862/255835.jpg"  alt="Havelock Paradise Tour" title="Havelock Paradise Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.safareandaman.in/tour-packages/havelock-paradise-tour1.htm" title="Havelock Paradise Tour"><h3>Havelock Paradise Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair</p>
															<div class="mt10px small">
							<form name="pkg_55798" id="pkg_55798" method="post" action="http://www.safareandaman.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.safareandaman.in/tour-packages/havelock-paradise-tour1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Havelock Paradise Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="55798"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.safareandaman.in/tour-packages/havelock-beach-fun-tour1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/401862/255833.jpg"  alt="Havelock Beach Fun Tour" title="Havelock Beach Fun Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.safareandaman.in/tour-packages/havelock-beach-fun-tour1.htm" title="Havelock Beach Fun Tour"><h3>Havelock Beach Fun Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair</p>
															<div class="mt10px small">
							<form name="pkg_55800" id="pkg_55800" method="post" action="http://www.safareandaman.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.safareandaman.in/tour-packages/havelock-beach-fun-tour1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Havelock Beach Fun Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="55800"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.safareandaman.in/tour-packages/splendoursof-andaman-tour1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/401862/106848.jpg"  alt="Splendours of Andaman Tour" title="Splendours of Andaman Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.safareandaman.in/tour-packages/splendoursof-andaman-tour1.htm" title="Splendours of Andaman Tour"><h3>Splendours Of Andaman Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair</p>
															<div class="mt10px small">
							<form name="pkg_55801" id="pkg_55801" method="post" action="http://www.safareandaman.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.safareandaman.in/tour-packages/splendoursof-andaman-tour1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Splendours of Andaman Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="55801"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.safareandaman.in/tour-packages/havelock-escapade-witha-glimpseof-port-blair1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/401862/106842.jpg"  alt="Havelock Escapade with a glimpse of Port Blair" title="Havelock Escapade with a glimpse of Port Blair"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.safareandaman.in/tour-packages/havelock-escapade-witha-glimpseof-port-blair1.htm" title="Havelock Escapade with a glimpse of Port Blair"><h3>Havelock Escapade With A Glimpse Of Port B..</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair</p>
															<div class="mt10px small">
							<form name="pkg_55795" id="pkg_55795" method="post" action="http://www.safareandaman.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.safareandaman.in/tour-packages/havelock-escapade-witha-glimpseof-port-blair1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Havelock Escapade with a glimpse of Port Blair - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="55795"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.safareandaman.in/tour-packages/memorable-andamans-tour1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/401862/255834.jpg"  alt="Memorable Andaman’s Tour" title="Memorable Andaman’s Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.safareandaman.in/tour-packages/memorable-andamans-tour1.htm" title="Memorable Andaman’s Tour"><h3>Memorable Andaman’s Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair</p>
															<div class="mt10px small">
							<form name="pkg_55799" id="pkg_55799" method="post" action="http://www.safareandaman.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.safareandaman.in/tour-packages/memorable-andamans-tour1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Memorable Andaman’s Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="55799"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:65:"Book A Glimpse of Andamans Tour - 3 Nights / 4 Days Tour Packages";i:2;s:124:"book a glimpse of andamans tour - 3 nights / 4 days tour packages, beach and islands tour packages, port blair tour packages";i:3;s:171:"Book A Glimpse of Andamans Tour - 3 Nights / 4 Days tour packages from Safar-E-Andaman - Get attractive 3 Nights / 4 Days Beach and Islands  tour packages for  Port Blair.";i:4;s:408:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair"        
		                 },
		      "description": "",
		      "name": "A Glimpse of Andamans Tour",
		      "telephone": "+91-9531806303"
		    }
		    </script>
			";i:5;N;}