grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding grinding