a:6:{i:0;s:24104:"				<div class="h1"><h1>Always New New Zealand Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.sanskrutivacations.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.sanskrutivacations.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Always New New Zealand Tour</p>
				<br />
				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						10 Nights / 11 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Auckland, Christchurch, Rotorua, Queenstown, Paihia</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 235000 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.sanskrutivacations.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Always New New Zealand 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="51980"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_14/393874/102227.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/393874/102227.jpg"  width="150" height="150"    alt="Always New New Zealand Tour" title="Always New New Zealand Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Hotels Used:<br />
AKL: Copthorne harbourcity or similar<br />
PIA: Kingsgate or similar<br />
ROT: Sudima or similar<br />
ZQN: Heartland or similar<br />
Twizel (Mt Cook area): Mackenzie country Inn or similar<br />
CHC: Sudima or similarCost of Optional & Add-On tours unless mentioned otherwise.<br />
Porterage at hotels, airports, tips, insurance, laundry, wines, mineral water, telephone charges and all items of personal nature and also food & drinks not forming a part of the group menus.<br />
Meals if not mentioned in the itinerary.Additional transfer if any.<br />
Any damage for hotel rooms / coach.Any optional activities and transfer if require.Anything not specifically mentioned in 'Tour Price Includes' box<br />						<div class="headHr">
			            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
			            </div>
			            
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 1:</b> Mumbai - Auckland
								</p>
								<p class="aj">Depart from Mumbai by Singapore Airlines to Auckland.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 2:</b> Auckland
								</p>
								<p class="aj">Sanskruti Vacations welcomes you to the City of Sails, Auckland!! Upon arrival you will be met by our representative and proceed for Auckland City Sightseeing<br />
<br />
Today see firsthand why Auckland is regarded as one of the best cities in the world to live in, as you enjoy this half day tour around the central city and picturesque suburbs. Journey begins with a short trip over the Harbour Bridge to the North Shore before returning to the central city to visit Queen St and the Auckland Viaduct. You will then drive along the scenic waterfront route of Tamaki Drive to the Michael Joseph Savage Memorial Park, in Mission Bay. A memorial to the first Labour Prime Minister of New Zealand and the founder of the welfare state. Michael Joseph Savage Memorial Park has panoramic views over Whenua Rangatira, Auckland city and Waitemata Harbour. This park is a popular wedding and tourist venue, with formal gardens and perfect venue for flying a fabulous array of colourful and creative kites. Then return to downtown Auckland. Highlights: Harbour Bridge, Viaduct Harbour, Queen Street, Auckland Domain, Tamaki Drive, Michael Savage Memorial<br />
<br />
In the evening visit Sky Tower Auckland Total Tower Experience Pass Adult Reporting time: 04:00 PM (walking distance from hotel)<br />
<br />
Includes: Visit to the 186 metre Main Observation Level, 182 metre Sky Lounge café and bar and 220 metre Sky Deck.<br />
<br />
Dinner at Indian Restaurant</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 3:</b> Auckland to Paihia: 227kms; 3hrs 10mins approx
								</p>
								<p class="aj">Auckland to Paihia including Cape Brett Hole in the Rock cruise Pick up: 8:00 AM<br />
<br />
Starting in Auckland, travel North to Paihia as you soak up New Zealand's spectacular scenery of native forests and sub-tropical bush right to the foreshores of the beautiful Bay of Islands. Then, departing from Paihia, enjoy the famous Hole in the Rock cruise as you travel through the beautiful clear waters aboard Dolphin Seeker. Enjoy the large outdoor viewing decks as you cruise past the islands of the Bay. Enjoy the views as you cruise past the Cape Brett Lighthouse, before arriving at the majestic Hole in the Rock. You'll be holding your breath as the skipper navigates through the narrow space, and admire the rock walls which soar above you. Take in the unique sights of Grand Cathedral Cave before heading back into the inner islands of the Bay. After the cruise, rest of the day is at leisure.<br />
<br />
 <br />
<br />
Cruise through the sheltered waters of the Bay of Islands on Dolphin Seeker, our purpose built dolphin and whale watching catamaran. Enjoy the large outdoor viewing decks as we cruise past the islands of the Bay. Keep a look out for common and bottlenose dolphins, whales and other marine life as we get you up close to the action from the comfort of Dolphin Seeker. Our catamaran is licensed by DOC (the Department of Conservation) for dolphin viewing. Enjoy the views as you cruise past the Cape Brett Lighthouse, before arriving at the majestic Hole in the Rock – hold your breath as the skipper navigates through the narrow space and admire the rock walls which soar above you. Take in the Grand Cathedral Cave before heading back into the sheltered waters of the Bay.<br />
<br />
Dinner at Indian Restaurant. Overnight at Hotel.</p>					
									<p><b>Meals : </b> Enjoy a Cooked breakfast in the hotel's restaurant.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 4:</b> Paihia
								</p>
								<p class="aj">Enjoy a Cooked breakfast in the hotel's restaurant.<br />
<br />
Day at leisure for optional activities in Paihia.<br />
<br />
Suggested activities:<br />
<br />
SIC Cape Reinga - Scenic coach tour via ninety mile beach - ex Paihia:<br />
<br />
Dinner at Indian Restaurant. Overnight at Hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 5:</b> Auckland to Waitomo Caves: 188kms; 2hrs 30mins approx
								</p>
								<p class="aj">Enjoy a Cooked breakfast in the hotel's restaurant.<br />
<br />
Paihia to Rotorua Via Waitamo Caves<br />
<br />
Travel South through Whangarei, Hibiscus Coast and over Auckland’s Harbour Bridge before arriving at the business capital and city of Sails "Auckland". (240 kms.; 3hrs 30mins. approx.) Travel across the rich Waikato farmland for Waitomo. Enjoy a guided tour of the Waitomo Caves and a boat ride through the famous Glowworm grotto. Enjoy twinkling lights emitting from the ceiling like stars in a dark night. Later travel across to forested Mamaku Range to arrive at the thermal resort of Rotorua.<br />
<br />
(Auckland to Waitomo Caves: 188kms; 2hrs 30mins approx.) (Waitomo Caves - Rotorua: 138 kms; 2 hrs approx.)<br />
<br />
Your guided tour will take you through over 250 metres of stunning underground scenery commencing with the impressive Cathedral. The acoustics in this particular cavern are world-renowned. Acclaimed New Zealand Diva, Dame Kiri Te Kanawa, has sung here and was delighted with the purity of the sound. Your tour begins at the upper entrance of the cave and proceeds along a low narrow passage to the Tomo, a deep limestone shaft. Your experienced tour guide will deliver a highly informative commentary about the formations and the history of the area. The highlight of your tour is an unrivalled boat trip through the spectacular Glowworm,Grotto. Operates 365 days a year. Tours depart every half hour: 9.00am to 5.00pm and until 5.30pm from Labour Weekend to Easter Monday. No photography is permitted inside the cave.<br />
<br />
Dinner at Indian Restaurant</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 6:</b> Rotorua City Sightseeing
								</p>
								<p class="aj">Enjoy a Cooked breakfast in the hotel's restaurant.<br />
<br />
Rotorua City Sightseeing Adults Reporting time: 09:00 AM Today proceed to AGRODOME to witness the Agrodome Agricultural Show, where you will be entertained by New Zealand's performing sheep and other attractions. Later proceed to visit TE-PUIA thermal village known for its hot springs, geysers and boiling mud pools. Watch the Maori craftsmen and learn about the traditional arts of carving and weaving and RAINBOW SPRINGS to see the flora and fauna of New Zealand.<br />
<br />
Agrodome Sheep & Dog Show 1 Adult Reporting time: 09:30 AM<br />
<br />
Rainbow Springs Rainbow Springs (Park Entry includes free flight Bird Shows & The Big Splash) 1 Adult Reporting time: 11:00 AM 24 hrs excess<br />
<br />
With over 90 different species of native plants, trees and ferns Rainbow Springs is made up of 22 acres of beautiful forest. As you make your way around the park you will walk amongst the towering kauri, Rimu and imported giants such as the Californian redwoods. Rainbow Springs is open every day from 8.30am until 9.00pm<br />
<br />
 <br />
Te - Puia Admission Adults Reporting time: 01:45 PM Te Puia is the premier Māori cultural centre in New Zealand - a place of gushing waters, steaming vents, boiling mud pools and spectacular geysers. Our Māori tradition lives on at Te Whakarewarewa, with our guided tours and attractions, our Māori culture, and our National Carving and Weaving Schools of New Zealand. Guided tours run on the hour every hour from 9am to 5pm.<br />
<br />
Dinner at Indian Restaurant. Overnight at Hotel</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 7:</b> Fly from Auckland to Queenstown
								</p>
								<p class="aj">Enjoy a Cooked breakfast in the hotel's restaurant.<br />
<br />
Fly from Auckland to Queenstown (Flight Included)<br />
<br />
Transfer from Rotorua to Auckland to catch the flight to Queenstown. Arrive Queenstown and transfer to the hotel. Evening free to enjoy and explore the city.<br />
<br />
Dinner at Indian Restaurant<br />
<br />
Overnight at Hotel</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 8:</b> Queenstown to Milford sound
								</p>
								<p class="aj">Enjoy a Cooked breakfast in the hotel's restaurant.<br />
<br />
Queenstown to Milford sound<br />
<br />
Take an unforgettable journey into the heart of Milford Sound. You'll experience the world famous fiord - rich in dense rainforest, glacier carved valleys and beautiful waterfalls. Journey across the Southern Alps and travel deep into the Homer Tunnel, a 1.2km tunnel drilled through solid rock. Uncover Eglinton Valley, a place of ancient alpine forest and gushing waterfalls, take photos of the stunning Mirror Lakes, then walk across The Chasm. At the deep waters of Milford Sound, board your 1hr 45mins Scenic Cruise. See the wonders of Mitre Peak, glacier-scarred rock walls and waterfalls that tumble through valleys and crash into the sea far below. After your cruise return to Queenstown. (290 kmas.; 4hrs 30mins approx. each way)<br />
<br />
Milford Cruise (Cruise only) 1:45pm Adult Reporting time: 01:45 PM Please report 20 minutes prior to sailing time. Activity is weather permitting<br />
<br />
Join on aboard the Milford Adventurer for your Milford Sound boat cruise and marvel at one of the most stunning places on earth. We offer the ideal Milford Sound small boat experience, personal, friendly and uncrowded. During our Milford Sound scenic cruises, you'll marvel at Mitre Peak and feel the spray of Fairy and Sterling waterfalls on your face as you take in the Fiordland scenery. Duration: 105 minutes<br />
<br />
Dinner at Indian Restaurant<br />
<br />
Evening at Leisure</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 9:</b> Queenstown City Sightseeing
								</p>
								<p class="aj">Enjoy a Cooked breakfast in the hotel's restaurant.<br />
<br />
Queenstown City Sightseeing Pick up: 8:00 AM<br />
<br />
Travel around Queenstown and visit many of the city's highlights including Lake Hayes, AJ Hackett Bungy Bridge, Gibbston Valley Wines, Historic Arrowtown & Edith Cavell Bridge.<br />
<br />
Day at leisure for optional activities in Queenstown. Suggested optional activities: Gondola Ride<br />
<br />
Skydive: 9000ft<br />
<br />
Canyon Swing<br />
<br />
Shot Over Jet<br />
<br />
Dinner at Indian Restaurant</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 10:</b> Queenstown to Mount Cook
								</p>
								<p class="aj">Enjoy a Cooked breakfast in the hotel's restaurant.<br />
<br />
Queenstown to Mt. Cook<br />
<br />
Departing Queenstown in the morning drive through ruggedly beautiful landscape and over the Lindis Pass into the Mackenzie Country. (262 kms, 3 hrs 30mins approx.)<br />
<br />
Day at leisure for optional activities in Mt Cook. Transfer will be required from Twizel (not included in package), activities are weather dependent.<br />
<br />
Suggested optional activities: Glacier Explorer Boat Ride 20 mins Helicopter Flight<br />
<br />
Big Sky Stargazing<br />
<br />
Sir Edmund Hillary Alpine Centre Explorer Pass Hooker Valley Guided Walk Tasman Valley 4WD & Argo Tour</p>
								</td>
								</tr>
								</table>					
								</div><div id="show_more_content" style="display:none;">
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 11:</b> Christchurch City Sightseeing - Departure
									</p>
									<p class="aj">Enjoy a Cooked breakfast in the hotel's restaurant.<br />
<br />
Mt Cook to Christchurch Today depart Mt Cook and travel through the rugged high country landscape of the Mackenzie Basin continue the Journey to the Garden City of Christchurch. (329 kms, 4hrs 37mins approx)<br />
<br />
Upon arrival in Christchurch visit International Antarctic Centre.<br />
<br />
Explore indoor attraction which is packed full of informative displays showcasing modern day Antarctica, including the Antarctic Treaty partners, the human impact on the continent, the wildlife and plant systems and Antarctica’s effect on the globe. Gallery area encourages ‘touching’ of most of the exhibits to ensure visitors experience Antarctica in a fun and interactive way.<br />
<br />
Afterwards Christchurch City Sightseeing Today travel around Christchurch covering the central city highlights including the botanical gardens, Museum and Art Centre, the Avon river, Bridge of Remembrance, the cities new pop up container mall and many other CBD highlights. Leave the inner city and travel to Mona Vale an historic homestead and gardens. Up to the Sign of the Takahe, an historic building providing spectacular views over the city, Canterbury Plains and the Southern Alps, then over the Port Hills to the Port of Lyttleton, through the harbour tunnel to the seaside suburb of Sumner and cave rock before returning to the central city (Entry Costs to Attractions, where applicable, is Not Included).<br />
<br />
Dinner at Indian Restaurant. Overnight at the Hotel.<br />
Enjoy a Cooked breakfast in the hotel's restaurant Transfer to airport.<br />
<br />
Good days never comes to an end, hope you enjoy your holidays in New Zealand!!</p>
									</td>	
									</tr>
									</table>				
									</div>					
							</div>							<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
													<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
																		<li>Meals</li>
																		<li>Sightseeing</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Cost of Optional & Add-On tours unless mentioned otherwise.</li><li>
Porterage at hotels, airports, tips, insurance, laundry, wines, mineral water, telephone charges and all items of personal nature and also food & drinks not forming a part of the group menus.</li><li>
Meals if not mentioned in the itinerary.Additional transfer if any.</li><li>
Any damage for hotel rooms / coach.Any optional activities and transfer if require.Anything not specifically mentioned in 'Tour Price Includes' box</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<p>Important Note:

<ul>
	<li>Tour itinerary may change depending on airline / hotel availabilities (inclusion remain same).</li>
	<li>Check in time in New Zealand is 1400 hrs as per the Hotel rules and early chk is subject to availability.</li>
	<li>Baggage allowance for International flight is 20 Kg per person and for domestic flight is 15 Kg per person&nbsp;&nbsp;</li>
	<li>Passengers having excess baggage of more than 15 KGs check in baggage are liable to pay excess baggage</li>
	<li>charge directly to the airport &amp; airline authorities. Hand luggage of 07 KGs per person is allowed.</li>
	<li>Optional sigh seeing can be booked with our tour leader and can be paid locally.</li>
	<li>Incase if visas refused once by the respective embassy or consulate, re-application fees &amp;</li>
	<li>charges have to be paid by the clients.</li>
	<li>For/If any cancelations of the tour once booked, clients are requested to send the same in writing specifying the reason of cancellation. Credit note will be issued from the date of tour cancel valid for 01 year which can be utilized against any of our international tours.</li>
	<li>Sanskruti Vacations hold no responsibility for any loss of luggage, injuries or death or theft during the tour program. We are service providers and arrange for services like airline, visas, hotels, sightseeing, meals, etc on behalf of it&rsquo;s clients.</li>
	<li>Sanskruti Vacations will not be responsible for services offered by its service vendors.</li>
	<li>Any form of departure fees or departure taxes which are to be paid directly at the airports by the individual passenger are not included in the tour cost, approximately NZD 35 per person should be calculated for departure fee/taxes</li>
</ul>

<p>CANCELLATION POLICY

<ul>
	<li>Any bookings cancelled 45 working days prior to departure: INR.95,000 per person as non refundable.</li>
	<li>Any bookings cancelled 30 working days prior to departure: 50% cancellation of total price.</li>
	<li>Any bookings cancelled 15 working days prior to departure: 100% cancellation of total price.</li>
</ul>

<p>&nbsp;REFUNDS:

<ul>
	<li>No refund will be provided in case of any unused services, if there were any unavoidable circumstances with clients, the supplier whose services were booked will make the final decision.</li>
	<li>In case of any cancellation due to bad weather or an act of god, we will try our best to get the refunds but cannot be held responsible for it. We recommend travel insurance to cover such incidents.</li>
</ul>

<p>&nbsp;IMP: Tour package is based on 15 pax travelling together. In case the number of pax. reduces then supplement charges will be applicable. Mentioned hotels are subject to availability												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.sanskrutivacations.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Always New New Zealand 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="51980"/>
						</form>
						</div>
						
						";i:1;s:57:"Book Always New New Zealand Tour - 111 Days Tour Packages";i:2;s:157:"book always new new zealand tour - 111 days tour packages, forts and palaces tour packages, auckland, christchurch, rotorua, queenstown, paihia tour packages";i:3;s:193:"Sanskruti Vacations offers Always New New Zealand Tour - 111 Days tour package, budget Forts and Palaces tour packages for Auckland, Christchurch, Rotorua, Queenstown, Paihia at exciting price.";i:4;s:1130:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Auckland, Christchurch, Rotorua, Queenstown, Paihia"        
		                 },
		      "description": "Hotels Used:
AKL: Copthorne harbourcity or similar
PIA: Kingsgate or similar
ROT: Sudima or similar
ZQN: Heartland or similar
Twizel (Mt Cook area): Mackenzie country Inn or similar
CHC: Sudima or similarCost of Optional & Add-On tours unless mentioned otherwise.
Porterage at hotels, airports, tips, insurance, laundry, wines, mineral water, telephone charges and all items of personal nature and also food & drinks not forming a part of the group menus.
Meals if not mentioned in the itinerary.Additional transfer if any.
Any damage for hotel rooms / coach.Any optional activities and transfer if require.Anything not specifically mentioned in 'Tour Price Includes' box",
		      "name": "Always New New Zealand Tour",
		      "telephone": "+91-9769880881"
		    }
		    </script>
			";i:5;N;}