Effective Local Business SEO NYC Tips for Google Maps Success

I vividly remember the moment I realized I was invisible on Google Maps. It was a busy Thursday morning, and a potential customer was desperately searching for a service I offered right in Manhattan. They couldn’t find me. I watched my competitors pop up on their screens while I sat there, frustrated and wondering what I was missing. That lightbulb moment changed everything for me.

Why Local Visibility in New York City Really Matters

Living and working in NYC, I get it — the competition is fierce. With over 50,000 small businesses vying for attention in Manhattan alone, standing out isn’t just nice—it’s essential. When someone searches for your service, they’re often ready to buy, but if your business isn’t showing up on Google Maps, you’re practically invisible. That day, I learned firsthand how crucial effective local SEO is. It wasn’t enough to just have a website; I needed to dominate Google Maps rankings.

Early on, I made a costly mistake: neglecting my Google Business profile. I didn’t realize how much that tiny listing could influence my local search rankings. According to a recent study, 78% of local mobile searches result in an offline purchase, proving just how critical it is to be visible when customers are looking nearby (Source). So, my question to you: Have you faced this frustrating invisibility on Google Maps, even though you know your business deserves to be found?

Is Google Maps Success Just Hype or Real Business Growth?

When I first started, I thought optimizing my listing was just about adding some photos and hoping for the best. Turns out, there’s a lot more beneath the surface. Without proper strategies, you’re spinning your wheels, wasting time, and missing out on a huge slice of local traffic. I want to help you avoid that trap—because I’ve been there, and I know how to fix it.

In the upcoming sections, I’ll share proven tactics that helped me boost my visibility and turn my business into a local landmark. From claiming and optimizing your Google Business profile to understanding local keywords — it’s all about making the right moves. If you’re tired of being overshadowed by competitors, keep reading. Your journey to local SEO mastery starts now, and I’ll guide you step-by-step.

Ready to stop hiding in plain sight? Let’s explore the techniques that delivered real results for my NYC business and can do the same for you—starting today.

To dive deeper into these strategies, check out effective local business SEO tactics for NYC, and discover how expert assistance can accelerate your success.

,

Claim Your Google Business Profile and Complete Every Section

My first move was claiming my Google Business profile through Google Business. I ensured I verified my ownership promptly. Once claimed, I filled out every detail: business name, address, phone number, website, and hours. Think of it as setting the foundation of your Manhattan storefront—complete and accurate information attracts both Google and customers. I added categories specific to my niche and meticulously included my primary keywords, like “NYC SEO services,” to signal relevance. This initial step is crucial; incomplete profiles are ignored by Google’s algorithm, much like an unlit sign in Times Square. Always keep your info consistent across all directories, including Yelp and Bing, to strengthen trustworthiness and local relevance.

Optimize Your Business Description and Service Listings

Next, I crafted a compelling business description, emphasizing my unique offerings and including target keywords naturally. I made sure each service I provided was listed with detailed descriptions, incorporating relevant local keywords like “Manhattan SEO” and “local business SEO NYC.” This is akin to placing clear signage on every route in the maze of NYC streets—the more precise your directions, the easier Google can route customers to you. Regularly updating these descriptions with new specials or services signals activity, which Google favors. Remember, this isn’t just writing for Google; it’s about making your profile compelling for potential clients scrolling through endless options.

Build Local Citations and Consistent NAP Data

Accurate and consistent Name, Address, Phone Number (NAP) info across local citations build authority. I manually submitted my business details to top local directories like Manhattan SEO Services. Imagine each citation as a street sign pointing toward your storefront—frequent and reliable signs elevate your visibility in Google Maps. I ensured every citation matched my Google profile exactly, down to abbreviations and formatting. Mismatched data acts like misleading signs, confusing Google and lowering rankings. Automating this process through tools or local SEO services can save time and improve accuracy, but manual checks prevent errors that could harm your local trust signals.

Enhance Your Photos and Gather Reviews

Photos turned out to be a game-changer. I uploaded high-quality images of my shop, team, and products—these act as virtual window displays enticing customers to step in. I used descriptive alt text rich with relevant keywords. Early on, I also prioritized soliciting reviews from satisfied clients, which had an immediate impact on my local rankings. Reviews are like word-of-mouth endorsements in the real world; they bolster credibility and trustworthiness. I responded to every review, positive or negative, demonstrating active management and engagement—Google rewards profiles that show customer interaction. This process turned my profile into a lively, trustworthy listing, leading to higher visibility.

Leverage Local Keywords and Content

Finally, I embedded local keywords into my website and Google My Business posts—keywords like “best SEO company in Manhattan” or “NYC small business marketing.” I created posts about local events and news, optimizing for trending keywords. Think of it as placing directional signs on busy NYC streets pointing directly to your shop. Creating content around local themes signals relevance to Google’s neighborhood-level algorithms. Each new post, review, or update builds momentum, showing Google that your business is active and relevant in your local area. Over time, these steps collectively moved my profile from obscurity to prominence on Google Maps, capturing nearby customers actively searching for services I offer.Many believe that optimizing for Google Maps is a straightforward process of keyword stuffing and claiming your listing; however, this misconception can be costly. The real nuance lies in understanding how Google’s local algorithm operates beyond surface-level tactics. For instance, many assume that prioritizing keyword density in your business description is enough—yet, recent studies indicate that Google increasingly emphasizes user engagement signals and consistency across citations (source). This means ignoring factors like review quality, local content relevance, and citation uniformity can sabotage your rankings, regardless of what superficial optimizations you perform.

Why do most local SEO approaches miss the mark in NYC?

In my experience, the biggest oversight is neglecting the competitive landscape’s complexity. Many assume that a well-optimized Google Business profile alone will catapult them to the top—yet in densely competitive markets like Manhattan, local SEO requires a strategic balance of on-page signals, off-page authority, and behavioral metrics. Without addressing these layers, you risk falling into a trap where your competitors outmaneuver you with superior engagement and citation consistency. A comprehensive approach, as outlined in our cornerstone content, involves mastering both technical and reputation-based factors (see how experts do it).

Another common myth is that paid ads alone can compensate for poor local SEO. While PPC can boost visibility temporarily, sustainable rankings stem from genuine trust signals like authentic reviews, community engagement, and accurate information. Relying solely on paid placements may lead to short-term gains but neglects the value of organic trust-building. For a more in-depth strategy, you can consult our detailed guides or leverage expert Manhattan SEO services to refine your approach (discover proven tactics).

Don’t fall into the trap of over-optimizing without considering evolving local signals. Google’s algorithms are increasingly context-sensitive, rewarding businesses that foster genuine local relevance and active engagement. Is your current approach addressing these nuanced factors? If not, you might be missing out on critical rankings that matter most in the NYC market.

Have you ever fallen into this trap? Let me know in the comments.

Keep Your Rankings Alive: Tools I Trust

Sustaining high Google Maps rankings in the competitive NYC landscape requires more than just initial optimization; it demands regular monitoring and fine-tuning. I personally rely on UberSuggest for local keyword tracking. Its detailed insights help me identify shifting search trends in Manhattan and adapt my strategy accordingly. For citation consistency, I use Whitespark’s Citation Finder — a crucial tool to ensure my NAP data remains uniform across platforms, which Google values highly.

To analyze my Google Business performance, I turn to Moz Pro. Its local SEO analytics dashboard provides actionable insights, revealing areas like reviews, photos, and engagement that impact rankings in NYC’s densely packed market.

Automation plays a big role; I incorporate Seamless.ai to gather contacts for reputation-building campaigns, ensuring I maintain an active presence that Google favors. These tools combined create a robust system for long-term success.

How do I maintain my Google Maps rankings over time?

The key is consistent effort. Regularly updating your photos with new, high-quality images—perhaps seasonal specials or recent projects—keeps the profile active. Responding promptly to reviews signals engagement, boosting trust and relevance. Monitoring citation accuracy ensures no

The Hardest Lesson I Learned About nyc maps ranking,manhattan seo services,new york seo,local business seo nyc,google business new york

One of the most eye-opening realizations on my journey was that a well-optimized profile isn’t enough in NYC’s competitive landscape; understanding Google’s evolving local algorithm is paramount. I initially believed keyword stuffing and pure citation volume would suffice, but I soon discovered that engagement signals, review quality, and consistent data play a more significant role than I ever imagined.

Another lightbulb moment was when I neglected seasonal updates and fresh content. Google favors active profiles—regularly posting local news, specials, or event participation areas where I saw my ranking fluctuate wildly. It became clear that sustaining high visibility requires ongoing effort beyond initial setup.

Finally, I learned that networking with local clients and encouraging authentic reviews drastically impact rankings. It’s not just about algorithms; building genuine community trust ensures your Google Maps presence becomes a true reflection of your business’s reputation, turning passive listings into active customer magnets.

My Essential Toolkit for mastering NYC Google Maps rankings

I rely heavily on UberSuggest for tracking local keyword shifts, which helps me adjust content strategies swiftly. To keep citation info uniform, I trust Whitespark’s Citation Finder—it’s a lifesaver for cleaning up inconsistencies that could harm my rankings. For performance analysis, Moz Pro provides valuable insights into my profile’s engagement metrics, guiding continuous improvements.

Step into the Future of Local Visibility

Your journey to dominating Google Maps in the NYC market starts with confidence and the right moves. Embrace ongoing learning, leverage powerful tools, and prioritize authentic community engagement—these are keys to turning local search algorithms into your loyal customer base. Ready to elevate your local business? Visit our contact page to see how expert Manhattan SEO services can fast-track your Google Maps success.

What challenge have you faced in optimizing your local Google My Business profile? Share your experiences below—I’m eager to hear your story!

]}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#**}#}#